在 Linux 下排查 DHCP 相关问题,可以按「客户端 → 服务端 → 网络 → 日志」逐步定位。下面给你一套实用排查思路。
常见现象:
192.168.x.x 或 169.254.x.x(APIPA,没拿到 DHCP)ip addr
或
ifconfig
如果是 169.254.* → 基本是 DHCP 失败。
DHCP 客户端不同,命令不同
sudo dhclient -r eth0
sudo dhclient eth0
或
sudo systemctl restart networking
nmcli device reapply eth0
或
nmcli connection down eth0
nmcli connection up eth0
sudo dhclient -v eth0
观察是否:
卡在哪一步,问题就在那一侧。
systemctl status isc-dhcp-server
# 或
systemctl status dnsmasq
常见文件:
/etc/dhcp/dhcpd.conf/etc/dnsmasq.conf重点看:
cat /var/lib/dhcp/dhcpd.leases
看有没有可用 IP。
DHCP 用:
sudo iptables -L -n
或
sudo nft list ruleset
sudo tcpdump -i eth0 port 67 or port 68
看:
journalctl -u NetworkManager
journalctl -u dhclient
journalctl -u isc-dhcp-server
/var/log/syslog
/var/log/messages
✅ 网卡没 up
✅ DHCP 服务没监听正确网卡
✅ 虚拟机桥接模式配错
✅ 多 DHCP 服务器冲突
✅ 静态 IP 和 DHCP 混用
✅ 租约时间太短导致频繁掉线
如果你愿意,可以把下面信息发我,我可以直接帮你定位:
dhclient -v 的输出我可以直接给你“下一步该敲哪条命令”。