分类: 系统运维
2009-06-12 09:27:03
四、运行DHCP服务器
(一)启动DHCP服务器
最后一步了,我们需要启动DHCP服务,使刚刚修改的配置生效。启动DHCP服务有两种方法
1、 第1种方法
service dhcpd start 启动DHCP服务 service dhcpd stop 停止DHCP服务 service dhcpd restart 重启DHCP服务 |
使用这种方法,只有此次生效,关机或重启计算机后无效。
2、 第2种方法
chkconfig dhcpd on 启动DHCP服务 chkconfig dhcpd off 停止DHCP服务 |
使用这种方法,只有重启计算机后才生效。
3、从指定端口启动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
在启动该守护进程时,不要显示整篇版权信息
(7)-4|-6
以支持ipv4还是ipv6的方式启动dhcp
4、有关启动脚本
注意只有当你想在网络上分配LAN地址时才需要运行dhcp服务器。dhcp客户端不需要使用下面的脚本。还要注意的是下面的脚本是针对'eth1'网络接口编写的,你需要根据你的硬件配置做相应的修改。了解了这些后,用下面的创建dhcp的init.d脚本:
cat > /etc/rc.d/init.d/dhcp << "EOF" #!/bin/sh # Begin $rc_base/init.d/dhcp # Based on sysklogd script from LFS-3.1 and earlier. # Rewritten by Gerard Beekmans - gerard@linuxfromscratch.org source /etc/sysconfig/rc source $rc_functions case "$1" in start) echo "Starting DHCP Server..." loadproc dhcpd -q eth1 ;; stop) echo "Stopping DHCP Server..." killproc dhcpd ;; reload) echo "Reloading DHCP Server..." reloadproc dhcpd ;; restart) $0 stop sleep 1 $0 start ;; status) statusproc dhcpd ;; *) echo "Usage: $0 {start|stop|reload|restart|status}" exit 1 ;; esac # End $rc_base/init.d/dhcp EOF chmod 755 /etc/rc.d/init.d/dhcp |
5、检查dhcp运行的情况
(1)使用ps命令检查dhcpd进程:
#ps -ef | grep dhcpd
root 2402 1 0 14:25 ? 00:00:00 /usr/sbin/dhcpd
root 2764 2725 0 14:
(2)使用netstat检查dhcpd运行的端口:
# netstat -nutap | grep dhcpd
udp 0 0
/etc/init.d/dhcpd restart 重新启动DHCP
/etc/dhcpd.conf DHCP配置文件
/etc/sysconfig/network-scripts/ifcfg-eth0 配置网卡信息
more /var/lib/dhcpd/dhcpd.leases 可查看地址分配情况
ifdown eth0; ifup eth0 关闭和启动网卡
chkconfig --level 345 dhcpd on 使开机自动运行DHCP
(二)关闭DHCP服务器
service dhcpd stop 停止DHCP服务
或者:
chkconfig dhcpd off 停止DHCP服务