Linux 下 DHCP 服务端不分配地址 通常由以下几类原因导致,你可以逐项排查:
systemctl status dhcpd
# 或(Ubuntu/Debian)
systemctl status isc-dhcp-server
未运行则启动:
systemctl start dhcpd
systemctl enable dhcpd
常见文件:
/etc/dhcp/dhcpd.conf/etc/dhcp/dhcpd.conf检查:
dhcpd -t
常见问题:
range示例:
subnet 192.168.1.0 netmask 255.255.255.0 {
range 192.168.1.100 192.168.1.200;
option routers 192.168.1.1;
option domain-name-servers 8.8.8.8;
}
在 dhcpd.conf 或启动参数中指定了错误接口:
DHCPDARGS=eth0
确认接口名:
ip a
DHCP 是 广播协议:
DHCP 使用:
检查:
iptables -L -n
允许:
iptables -I INPUT -p udp --dport 67 -j ACCEPT
cat /var/lib/dhcpd/dhcpd.leases
若全部已分配,则不会分配新 IP。
host pc1 {
hardware ethernet 00:11:22:33:44:55;
fixed-address 192.168.1.50;
}
若绑定 IP 不在 range 内,也可能导致异常。
客户端测试:
dhclient -v eth0
journalctl -u dhcpd -f
# 或
tail -f /var/log/messages
journalctl -u NetworkManager
dhcpd -t如果你愿意,可以把 dhcpd.conf + 报错日志 贴出来,我可以直接帮你定位是哪一条导致的。