Ubuntu 上 DHCP 报错其实很常见,原因也很多。下面我按最常见场景 + 排查步骤给你一个系统性的解决办法,你可以对照着来。
Ubuntu 常见有 3 种:
ps aux | grep -E 'NetworkManager|dhclient'
查看配置:
sudo nano /etc/netplan/*.yaml
✅ 正确示例(DHCP):
network:
version: 2
ethernets:
eth0:
dhcp4: true
⚠️ 注意:
01-netcfg.yaml应用配置:
sudo netplan apply
如果报错:
sudo netplan --debug apply
报错类似:
DHCPDISCOVER on eth0 to 255.255.255.255 port 67
✅ 排查步骤:
ip a
sudo dhclient -r eth0
sudo dhclient eth0
sudo systemctl restart NetworkManager
nmcli device status
nmcli device disconnect eth0
nmcli device connect eth0
No DHCPOFFERS received✅ 原因:
✅ 解决:
dhclient already runningsudo killall dhclient
sudo dhclient eth0
RTNETLINK answers: File existssudo ip addr flush dev eth0
sudo dhclient eth0
journalctl -u NetworkManager
或:
dmesg | grep eth
dhclient 能拿到 IP你可以把具体报错信息贴出来,比如:
ip a 输出/etc/netplan/*.yaml 内容我可以直接帮你改 ✅