免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1159 | 回复: 0
打印 上一主题 下一主题

DHCP中使用表达式dhcp-eval (3)数值表达式和DDNS [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2007-06-30 16:05 |只看该作者 |倒序浏览

数值表达式NUMERIC EXPRESSIONS

    数值表达式计算出一个整数。通常不应该假定最大的数小于2的32次方,而应该远远大于它。

       extract-int (data-expr, width)
    对width宽度的data-expr求平方根。当前width只支持8、16和32。如果data-expr没有指定的足够位数,则返回null。

       lease-time
    当前所剩余租约的长度,也就是从现在开始到租约结束的时间。

       number
任何在0和最大数之间的数。

       client-state
当前被处理的客户端的状态。这个只在DHCP客户端配置文件中使用,可能的值有:
    Booting  - DHCP客户端在初始化状态,没有IP地址,下一个将要发送的信息是DHCPDISCOVER,它是被广播发出的。
    Reboot – DHCP客户端的状态是INIT-REBOOT初始化重启动状态。如果有IP地址,但没有使用,下一个将要发送的信息是DHCPREQUEST,它会是广播信息,如果没有收到回应,客户端将会绑定自己的地址并转换到BOUND状态。
Select – DHCP客户端在选择中(SELECTING)状态,它至少收到了一个DHCPOFFER信息,正在等待看是否收到其它DHCPOFFER信息。在这个状态下不会发送其它任何信息。
    Request – DHCP客户端在请求(REQUESTING)状态。它至少收到了一个DHCPOFFER信息,并且已经选择了一个去请求,下一个将要发送的信息将是DHCPREQUEST信息,它是广播信息。
    Bound – DHCP客户端在被绑定状态(BOUND),它有一个IP地址,在此状态不发送任何信息。
    Renew  -  DHCP客户端在更新地址(RENEWING)状态,它有一个IP地址,并试图联系服务器来更新一个地址,下一个信息将会是DHCPREQUEST 信息,它会是单播到服务器的信息。
    Rebind  - DHCP客户端在“再绑定”(REBINDING)状态,它有一个IP地址,并试图联系到任何一个服务器来更新它,下一个将要发送的信息是DHCPREQUEST,它是广播信息。

LOGGING语句
Logging语句用来向标准的日志管道发送数据。logging 语句包括可选的优先级(priority :fatal, error, info, 或debug),和数据表达式。

       log (priority, data-expr)
    Logging语句只有一个数据参数,因此如果想输出多个数据,就需要使用concat 操作符把它们连接起来。

动态DNS更新(DYNAMIC DNS UPDATES)
    DHCP客户端和服务器都有能力动态更新DNS。在配置文件中,你可以定义如何来更新DNS。这些更新遵守RFC 2136,因此支持RFC 2136的任何DNS服务器都参接受DHCP服务器的更新请求。

安全
TSIG 和DNSSEC当前还不支持。当你设置DNS允许从DHCP服务器或客户端更新时,就可能暴露在未授权更新的威胁之下。为了避免出现这种情况,当前最好的办法是使用基于IP地址的包过滤来阻止未授权主机发送更新请求。显然,现在没有办法提供客户端更新的安全方法,这需要TSIG 或者DNSSEC,它们在当前的DHCP发行版中都不支持。
dns-update
动态DNS更新(DDNS)由dns-update表达式执行,这个表达式是一个布尔表达式,有4个参数。如果更新成功,返回true,如果失败,返回false。4个参数有resource record type (RR),RR的左边,RR的右边和RR的ttl值。在dhcpd.conf的范例文件中有一个简单的例子,在这个例子中,几个语句用来生成dns-update的参数。在例子中,第一个参数是Bdns-update表达式,计算出A RR类型。第二个参数通过连接DHCP  host-name和本地的域名生成一个完整域名,"ssd.example.net"。第三个参数把分配给客户端的IP地址转换成ASCII字符串,并用"."分隔。第四个参数TTL,由租约剩余时间决定(注意这个不太准确,因为DNS服务器将会将TTL值发送给有请求的客户,而这会有几秒钟的误差)。
如果前面的dns-update语句成功,它会紧接着更新PTR RR记录。更新的方法和A  RR类似。左边是反IP地址,连接".in-addr.arpa",右边是全域名。

参见
       dhcpd.conf(5),  dhcpd.leases(5),  dhclient.conf(5),  dhcp-options(5),  dhcpd(8),  dhclient(8),   RFC2132,  RFC2131.

作者
    Ted Lemon under a contract with Vixie  Labs。赞助者Internet  Systems  Consortium。有关ISC的信息:http://www.isc.org.

中文翻译:liufirst


本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u1/39411/showart_331564.html
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP