博客首页 注册 建议与交流 排行榜 加入友情链接
推荐 投诉 搜索: 帮助

刘一的博客

据说原来有一个MAN的中文计划,现在找不到了,有没有老大愿意继续呢?
   liufirst.cublog.cn
关于作者  


我的分类  




DHCP中使用表达式dhcp-eval (3)数值表达式和DDNS

数值表达式NUMERIC EXPRESSIONS

 

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

 

       extract-int (data-expr, width)

    width宽度的data-expr求平方根。当前width只支持81632。如果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,如果失败,返回false4个参数有resource record type (RR)RR的左边,RR的右边和RRttl值。在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

 发表于: 2007-06-30,修改于: 2007-06-30 16:05 已浏览385次,有评论0条 推荐 投诉

  网友评论

  发表评论



Copyright © 2001-2006 ChinaUnix.net All Rights Reserved

感谢所有关心和支持过ChinaUnix的朋友们
页面生成时间:8.23632

京ICP证041476号