Linux作DHCP服务器之三3.dhcpd.leasesdhcpd.leases是DHCP客户.doc
Linux作DHCP服务器之三 3.dhcpd.leases dhcpd.leases 是DHCP客户租约的数据库文件,默认目录在/var/state/dhcp/,文件包含租约声明,每次一个租约被获取、更新或释放,它的新值就被记录到文件的的末尾。在DHCPd第一次安装后,并不会生成这个文件。但DHCPd的运行需要这个文件,所以可以建立一个空的文件。 # touch /var/state/dhcp/dhcpd.leases DHCPd记录这个文件的格式是 lease ip-address { statements... } 每个记录包含一个提供给客户的IP地址,在花括号里的语句包含一些租约信息。具体的租约信息因客户发出不同的DHCP请求而稍有差别。 4.运行DHCPd 要启动DHCPd, 简单地键入 /usr/sbin/dhcpd 或用ntsysv 把DHCPd服务自动启动,也可以用 /etc/rc.d/init.d/dhcpd start, 这样启动后,DHCPd是启动在eth0 上,如果DHCPd上的服务器还有另外一块网卡eth1, 想在eth1上启动 dhcpd,就键入 #/usr/sbin/dhcpd eth1 以上述例子的dhcpd.conf来启动dhcpd,如果我们启动一Windows95机器,Windows95的网络配置的TCP/IP选项里指定自动获得IP地址,也就是启用Windows95里的DHCP客户程序,这台95机器的主机名叫ONE,进入系统后,用winipcfg查看. 在Windows95机器获得租约后,DHCPd会在dhcp.leases里建一条记录 lease 192.168.1.154 { starts 1 2000/05/15 13:36:42; ends 1 2000/05/15 21:36:42; hardware ethernet 00:00:21:4e:3f:58; uid 01:00:00:21:4e:3f:58; client-hostname "one"; } 要注意的是dhcpd.leases的时间记录采用GMT时间,而不是本地时区的时间。 要查看本机的GMT时间可以用 date -u 5.进一步说明dhcpd.conf 5.1 dhcpd.conf 概述 前面说过,dhcpd.conf是个递归下降格式的配置文件,有点象C的源程序风格,由参数和声明两大类语句构 成,参数类语句主要告诉DHCPd网络参数, 如租约的时间、网关、DNS等,而声明语句则是描述网络的拓扑, 用来表明网络上的客户、要提供给客户的IP地址、提供一个参数组给一组声明等。 描述网络拓扑的声明语句有 shared-network 和 subnet 声明。.如果要给一个子网里的客户动态指定IP地 址,那么在subnet声明里必须有一个 range 声明,说明地址范围。如果要给DHCP客户静态指定IP地址,那么 每个这样客户都要有一个host 声明。 对于每个要提供服务的与DHCP服务器连接的子网,都要有一个 subnet 声明,即使这是个没有IP地址要动态分配的子网。 一个典型的dhcpd.conf如下 #example #全局参数 shared-network 共享网络名 { 共享网络特定参数... subnet 204.254.239.0 netmask 255.255.255.224 { 子网特定参数... range 204.254.239.10 204.254.239.30; } subnet 204.254.239.32 netmask 255.255.255.224 { 子网特定参数... range 204.254.239.42 204.254.239.62; } } subnet 204.254.239.64 netmask 255.255.255.224 { 子网特定参数... range 204.254.239.74 204.254.239.94; } group { 组特定参数... host ws1.domain { 特定主机参数... } host ws2.domain { 特定主