在 Linux 下排查 DHCP 相关问题(拿不到 IP、IP 冲突、DHCP 服务器不响应等),可以按下面思路一步步来。
ip link
ip addr
UP169.254.x.x(APIPA)说明 DHCP 失败# 不同发行版
dhclient -v eth0
# 或
dhcpcd -d eth0
# 或
nmcli device reapply eth0
观察输出是否有:
systemctl status dhclient
# 或
systemctl status NetworkManager
查看日志:
journalctl -u NetworkManager -f
journalctl -u dhclient -f
tcpdump -i eth0 port 67 or port 68 -nn
正常应有:
DHCPDISCOVERDHCPOFFER如果只有 DISCOVER 没有 OFFER:
systemctl status isc-dhcp-server
# 或 dnsmasq
常见文件:
/etc/dhcp/dhcpd.conf/etc/dnsmasq.conf检查:
journalctl -u isc-dhcp-server
/var/log/syslog
/var/log/messages
| 现象 | 可能原因 |
|---|---|
| 一直 DHCPDISCOVER | 网络/VLAN/防火墙 |
| 拿到 169.254.x.x | DHCP 无响应 |
| IP 冲突 | 静态 IP 和 DHCP 冲突 |
| 只能一次拿到 IP | lease 未释放 |
| VM 拿不到 IP | 桥接 / NAT 设置错误 |
✅ 网卡 UP
✅ DHCP 服务运行
✅ 防火墙未拦 67/68
✅ 同网段 / 同 VLAN
✅ 抓包确认交互
如果你愿意,可以告诉我:
我可以给你针对性命令。