在 Debian 上 DHCP 不分配 IP 通常有下面几类原因,可以按顺序排查。
systemctl status isc-dhcp-server
如果没跑:
systemctl start isc-dhcp-server
systemctl enable isc-dhcp-server
Debian 默认只在指定网卡上服务:
nano /etc/default/isc-dhcp-server
确认:
INTERFACESv4="eth0"
(不要留空,也不要写错网卡名)
查看网卡名:
ip addr
cat /etc/dhcp/dhcpd.conf
常见正确示例:
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;
}
⚠️ 注意:
DHCP 服务器网卡必须有 IP:
ip addr show eth0
如果没有:
nano /etc/network/interfaces
auto eth0
iface eth0 inet static
address 192.168.1.1
netmask 255.255.255.0
然后:
systemctl restart networking
DHCP 用的是:
检查:
iptables -L -n
放开:
iptables -A INPUT -p udp --dport 67 -j ACCEPT
KVM / VirtualBox:
dhclient eth0
ip addr flush dev eth0
dhclient eth0
服务端看日志:
journalctl -u isc-dhcp-server -f
抓包(非常有用):
tcpdump -i eth0 port 67 or port 68
Debian DHCP 不分配 IP,90% 是:网卡写错 / 子网不对 / 服务器没静态 IP / 不在同一广播域
如果你愿意,可以把下面信息发我,我可以直接帮你定位:
/etc/dhcp/dhcpd.conf/etc/default/isc-dhcp-serverip addr