在测试CentOS DHCP服务功能前,需完成以下基础配置:
yum install dhcp -y命令安装dhcp软件包。/etc/dhcp/dhcpd.conf文件,设置子网、IP范围、网关、DNS等参数(示例配置见下文)。systemctl start dhcpd启动服务,并设置开机自启systemctl enable dhcpd。firewall-cmd --permanent --add-service=dhcp和firewall-cmd --reload。示例配置(/etc/dhcp/dhcpd.conf):
subnet 192.168.1.0 netmask 255.255.255.0 {
range 192.168.1.100 192.168.1.200; # 动态IP池
option routers 192.168.1.1; # 默认网关
option subnet-mask 255.255.255.0; # 子网掩码
option domain-name-servers 8.8.8.8, 8.8.4.4; # DNS服务器
default-lease-time 600; # 默认租约时间(秒)
max-lease-time 7200; # 最大租约时间(秒)
}
运行systemctl status dhcpd,确认服务处于active (running)状态,无报错信息。
执行cat /var/lib/dhcpd/dhcpd.leases,查看已分配的IP地址、客户端MAC地址、租约开始/结束时间等信息(若有客户端获取IP,会显示对应记录)。
使用ss -tuln | grep -E ':67|:68'命令,检查DHCP服务是否监听UDP 67(服务器端)和UDP 68(客户端)端口。正常输出应包含类似以下内容:
udp UNCONN 0 0 0.0.0.0:67 0.0.0.0:*
udp UNCONN 0 0 0.0.0.0:68 0.0.0.0:*
在客户端机器上,执行sudo dhclient eth0(将eth0替换为客户端实际网卡名称),观察命令输出:若显示“Bound to 192.168.1.X – renewal in XXXX seconds”,说明成功获取到DHCP服务器分配的IP地址。
修改客户端网卡配置文件(如/etc/sysconfig/network-scripts/ifcfg-eth0),设置以下参数:
BOOTPROTO=dhcp # 设置为DHCP模式
ONBOOT=yes # 开机自动启动网络
保存后重启网络服务:systemctl restart network,再用ip addr show eth0命令确认网卡已获取到IP地址。
使用ip route命令检查默认网关是否为DHCP配置中的option routers值(如192.168.1.1);使用nslookup example.com命令验证DNS解析是否正常(需指向option domain-name-servers配置的DNS服务器)。
安装dhcping工具(yum install dhcping -y),模拟DHCP请求:sudo dhcping -c 4 192.168.1.2(-c表示发送4个请求,192.168.1.2为DHCP服务器IP)。若输出中包含“Reply from 192.168.1.2”和“Your IP: 192.168.1.X”,说明DHCP服务响应正常。
在客户端机器上,检查/var/lib/dhclient/dhclient-eth0.leases(网卡名称可能不同)文件,查看客户端记录的DHCP租约信息(如获取的IP地址、服务器IP、租约时间等)。