- 论坛徽章:
- 0
|
数值表达式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 |
|