在 Debian 上排查 DHCP 故障,可以按**“客户端 → 服务端 → 网络链路”**的顺序系统排查。下面给出常见场景和对应排查方法。
ip link
ip addr
确认网卡是 UP 状态,例如:
eth0: <BROADCAST,MULTICAST,UP,LOWER_UP>
若未 UP:
sudo ip link set eth0 up
sudo dhclient -v eth0
观察输出是否有:
若无 DHCPOFFER,说明:
Debian 通常使用:
ifupdown + dhclientNetworkManagersystemd-networkd查看:
systemctl status networking
systemctl status NetworkManager
systemctl status systemd-networkd
/etc/network/interfaces示例(DHCP):
auto eth0
iface eth0 inet dhcp
修改后:
sudo ifdown eth0 && sudo ifup eth0
sudo tcpdump -i eth0 port 67 or port 68
正常应看到:
DHCPDISCOVERDHCPOFFER常用服务:isc-dhcp-server
systemctl status isc-dhcp-server
启动:
sudo systemctl start isc-dhcp-server
主配置:
/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;
}
检查语法:
sudo dhcpd -t
/etc/default/isc-dhcp-server
示例:
INTERFACESv4="eth0"
journalctl -u isc-dhcp-server
或:
tail -f /var/log/syslog
常见错误:
DHCP 使用:
sudo iptables -L
允许:
sudo iptables -A INPUT -p udp --dport 67 -j ACCEPT
✅ 网卡 UP
✅ dhclient 能发 DISCOVER
✅ tcpdump 能看到 OFFER
✅ dhcpd 配置无误
✅ 服务正常运行
✅ 防火墙未拦截
如果你愿意,可以告诉我:
我可以帮你精准定位问题。