分类: BSD
2008-11-04 10:56:27
语句
lease ip-address { statements... }
每一个lease声明语句包含一个已经分配的客户端的单独的IP地址。在大括号中的部分定义持续时间,分配给谁。
starts date;
ends date;
tstp date;
tsfp date;
start和end时间使用starts和ends语句记录。Tstp语句指定在使用失败恢复协议时,伴侣认为租约过期的时间,tsfp语句也用在失败恢复协议使用时,指定伴侣确认的租约过期时间。Date按下面的格式指定:
weekday year/month/day hour:minute:second
weekday用来使人容易理解何时租约过期,它从0到6,指的是周日到周六。在输入时可以省略星期。除非是一个非常长的租约,年(year)使用4位。月从1到12,日从1到31(根据月有不同),小时从1到23,分钟从1到59,秒也是从1到59。租约时间使用(UTC)而不是本地时间,世界上几乎没有地方与UTC时间一样。在大多数unix机器上,可以使用date –u来显示UTC的当前时间。
如果租约永不结束,date就不是一个真实的时间。
hardware hardware-type mac-address;
hardware语句记录lease使用的网络接口的MAC地址。如果是一组16进制数,中间用冒号分隔。
uid client-identifier;
uid语句记录客户端获得租约时的标识,客户端并不总是需要发送这个标识,这个语句只在在客户端确实发送了这个标识时有用。客户端标识通常都是ARP类型(ethernet是1),跟着MAC地址。和hardware语句很像,而这个不是必须的。客户端标识记录方式可以是一组冒号分隔的16进制数或者是一个双引号内的字符串。如果是双引号内的字符串,并且包含了一个或多个不可打印字符,这些字符表示为转义码――反斜杠后面跟着数值。
client-hostname hostname ;
大多数客户端会在host-name选项中发送他们的hostname,如果客户端用这种方式发送了hostname,这个hostname就会在租约中用client-hostname语句记录。这不需要协议支持,然而,有很多的DHCP客户端都不发送host-name选项。
abandoned;
abandoned语句指DHCP服务器放弃了这个租约。这种情况下,abandoned语句用来指这个租约不应该被再分配。参见dhcpd.conf(5)手册。
binding state state; next binding state state;
binding state语句声明租约的绑定状态,当DHCP服务器没有配置使用失败恢复协议时,租约的绑定状态会是激活(active)和自由(free),失败恢复协议添加了一些新的传送状态,比如(backup)状态,它指示租约可以由伴侣分配。
next binding状态指租约当前状态过期时将会转换成的下一个状态。
option agent.circuit-id string; option agent.remote-id string;
option agent.circuit-id和option agent.remote-id语句记录中继代理发送的circuit ID和remote ID选项,如果中继代理使用这些信息。这允许客户端在不通过中继代理直接与服务器联系时仍能保持一致的行为。
set variable = value;
set语句设置租约中变量的值。参看dhcp-eval(5)手册。
The ddns-text variable
在使用interim ddns更新特定租约时,The ddns-text variable用来记录客户端的文本标识的内容。
The ddns-fwd-name variable
如果DDNS更新由服务器成功完成时,The ddns-fwd-name variable记录更新客户端的A记录时使用的名字。服务器将会使用这个名字来对客户端的PTR记录更新。
The ddns-client-fqdn variable
如果服务器配置使用interim ddns更新方式,并允许客户端更新它们自己的FQDN,同时客户端也实际更新了它自己的FQDN,此时ddns-client-fqdn变量记录客户端使用的名字。服务器也用这个名字来更新客户端的PTR记录。
The ddns-rev-name variable
如果服务器成功更新客户端的PTR记录,这个变量记录服务器在PTR记录中使用的名字。这个名字应该和ddns-fwd-name或ddns-client-fqdn名字相同。
on events { statements... }
on events { statements... }语句中,on语句记录如果某一事件发生,将执行的一组语句。租约被释放或者过期都是可能的事件。可以指定多个事件,这时事件之间使用“|”字符分隔。