在 Debian 上调试 DHCP 故障,可以按从下到上、从客户端到服务端的思路逐步排查。下面给出一套实用流程。
ip addr
ip link
确认:
Debian 通常使用:
dhclientsystemd-networkdNetworkManager查看当前由谁管理:
ps aux | grep -E 'dhclient|networkd|NetworkManager'
dhclient -v eth0
或释放后重试:
dhclient -r eth0
dhclient -v eth0
tcpdump -i eth0 port 67 or port 68 -n
正常应看到:
如果只有 Discover 没有 Offer → 服务端或网络问题。
Debian 常用 DHCP 服务:
isc-dhcp-serversystemctl status isc-dhcp-server
journalctl -u isc-dhcp-server -e
主配置:
/etc/dhcp/dhcpd.conf
监听接口:
/etc/default/isc-dhcp-server
示例:
INTERFACESv4="eth0"
dhcpd -t
dhcpd -d -f
确认:
确保允许:
iptables -L -n -v
| 现象 | 可能原因 |
|---|---|
| 无 IP | 网卡 down / 接错口 |
| 只有 Discover | 服务端未运行 / 防火墙 |
| 一直 Request | IP 冲突 / 租约异常 |
| 获取到错误网段 | subnet 配置错误 |
| 日志无输出 | 服务未监听接口 |
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;
}
如果你愿意,可以告诉我:
我可以给你更精确的排错命令。