Linux应用:DHCP服务器的安装和故障排除(4)


8.2.3  启动DHCP服务器

1.建立客户端租约文件

运行DHCP服务器还需要一个名为“dhcpd.leases”的文件,其中保存所有已经分发的IP地址。在Red Hat Linux发行版本中,该文件位于/var/lib/dhcp/目录中。如果通过RPM安装ISC DHCP,那么该目录应该已经存在。dhcpd.leases的文件格式为:

Leases address {statement}

一个典型的文件内容如下:

lease 192.168.1.255 {             #DHCP服务器分配的IP地址#

starts 1 2005/05/02 03:02:26;    # lease 开始租约时间#

ends 1 2005/05/02 09:02:26;       # lease 结束租约时间#

binding state active;

next binding state free;

hardware ethernet 00:00:e8:a0:25:86;  #客户机网卡MAC地址#

uid "\001\000\000\350\240%\206";   #用来验证客户机的UID标志#

client-hostname "cjh1";    #客户机名称#

}

注意:lease开始租约时间和lease结束租约时间是格林威治标准时间(GMT),不是本地时间。

第1次运行DHCP服务器时,dhcpd.leases是一个空文件,也不用手工建立。如果不是通过RPM安装ISC DHCP,或者dhcpd已经安装,那么应该试着确定dhcpd将其lease文件写到何处并确保该文件存在。也可以手工建立一个空文件:

#touch /var/lib/dhcp/dhcpd.leases

2.启动和检查DHCP服务器

使用命令启动DHCP服务器:

#service dhcpd start

使用ps命令检查dhcpd进程:

#ps -ef | grep dhcpd

root      2402     1  0 14:25 ?        00:00:00 /usr/sbin/dhcpd

root      2764  2725  0 14:29 pts/2    00:00:00 grep dhcpd

使用netstat检查dhcpd运行的端口:

# netstat -nutap | grep dhcpd

udp   0  0 0.0.0.0:67         0.0.0.0:*                           2402/dhcpd

3.设置DHCP转发代理

DHCP的转发代理(dhcrelay)允许把无DHCP服务器子网内的DHCP和BOOTP请求转发给其他子网内的一台或多台DHCP服务器。当某个DHCP客户端请求信息时,DHCP转发代理把该请求转发给DHCP转发代理启动时所指定的一台DHCP服务器。当某台DHCP服务器返回一个回应时,该回应被广播或单播给发送最初请求的网络。除非使用INTERFACES指令在/etc/sysconfig/dhcrelay文件中指定了接口,否则DHCP转发代理监听所有接口上的DHCP请求。要启动DHCP转发代理,使用命令:

service dhcrelay start

4.从指定端口启动DHCP服务器

如果系统连接不止一个网络接口,但是只想让DHCP服务器启动其中之一,则可以配置DHCP服务器只在相应设备上启动。在/etc/sysconfig/dhcpd中,把接口的名称添加到DHCPDARGS的列表中:

# Command line options here

DHCPDARGS=eth0

如果有一个带有两块网卡的防火墙机器,这种方法就会大派用场。一块网卡可以被配置成DHCP客户端从互联网上检索IP地址;另一块网卡可以被用做防火墙之后的内部网络的DHCP服务器。仅指定连接到内部网络的网卡使系统更加安全,因为用户无法通过互联网来连接其守护进程。

其他可在/etc/sysconfig/dhcpd中指定的命令行选项如下。

(1)-p<portnum>:指定dhcpd应该监听的UDP端口号码,默认值为67。DHCP服务器在比指定的UDP端口大一位的端口号上把回应传输给DHCP客户端。例如,如果使用默认端口67,服务器就会在端口67上监听请求,然后在端口68上回应客户。如果在此处指定了一个端口号,并且使用了DHCP转发代理,所指定的DHCP转发代理所监听的端口必须是同一端口。

(2)-f:把守护进程作为前台进程运行,在调试时最常用。

(3)-d:把DCHP服务器守护进程记录到标准错误描述器中,在调试时最常用。如果未指定,日志将被写入/var/log/messages中。

(4)-cf<filename>:指定配置文件的位置,默认为/etc/dhcpd.conf。

(5)-lf<filename>:指定租期数据库文件的位置。如果租期数据库文件已存在,在DHCP服务器每次启动时使用同一个文件至关重要。建议只在无关紧要的机器上为调试目的才使用该选项,默认为/var/lib/dhcp/dhcpd.leases。

(6)-q:在启动该守护进程时,不要显示整篇版权信息。

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wyxjdw.html