在Linux系统中如何完整的启动DHCP服务器,我们前面通过《Linux系统如何从指定端口启动DHCP服务器》片段式介绍过从指定商品启动DHCP服务器,在此南昌网站制作公司百恒网络服务器架设工程师通过六大步向大家介绍一套完整的流程。
1.建立客户端租约文件
运行DHCP服务器还需要一个名为“dhcpd.leases”的文件,其中保存所有已经分发的IP地址。在Red Hat Linux发行版本中,该文件位于/var/lib/dhcp/目录中。如果通过RPM安装ISC DHCP,那么该目录应该已经存在。dhcpd.leases的文件格式为:
Leases address {statement}
第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:指定dhcpd应该监听的UDP端口,默认值为67。DHCP服务器在比指定的UDP端口号大一位的端口上把回应传输给DHCP客户端。例如,如果使用默认端口67,服务器就会在端口67上监听请求,然后在端口68上回应客户。如果在此处指定了一个端口号,并且使用了DHCP转发代理,那么所指定的DHCP转发代理所监听的端口必须是同一个端口。
(2)-f:把守护进程作为前台进程运行,在调试时最常用。
(3)-d:把DCHP服务器守护进程记录到标准错误描述器中,在调试时最常用。如果未指定,日志将被写入/var/log/messages中。
(4)-cf:指定配置文件的位置,默认为/etc/dhcpd.conf。
(5)-lf:指定租期数据库文件的位置。如果租期数据库文件已存在,那么在DHCP服务器每次启动时使用同一个文件至关重要。建议只在无关紧要的机器上出于调试目的才使用该选项,默认为/var/lib/dhcp/dhcpd.leases。
(6)-q:在启动该守护进程时,不要显示整篇版权信息。
5.管理DHCP服务器端口
常见的DHCP服务器是dhcpd,可以通过命令行设置其监听端口。例如,使用以下命令:
#dhcpd eth0
该命令允许dhcpd进程只在eth0网络端口上工作,默认为监听所有端口。由于DHCP同样使用67和68端口通信,所以更改该端口将造成DHCP服务无法正常使用。
6.防火墙和SELinux 设置
(1)防火墙设置
如果使用iptables防火墙,则注意打开67、68 UDP端口。
#iptables -A FORWARD -i eth0 -p udp --dport 67 -j ACCEPT
#iptables -A FORWARD -i eth0 -p udp --dport 68 -j ACCEPT
(2)SELinux 设置
# setsebool -P dhcpd_disable_trans 1
。
本文仅限内部技术人员学习交流,不得作于其他商业用途.希望此文对广技人员有所帮助。原创文章出自:南昌网站建设公司-百恒网络http://www.jxbh.cn/如转载请注明出处!