在 Ubuntu 里“DHCP 无法分配 IP”是一个比较常见但原因很多的问题。下面按最常见原因 → 排查步骤 → 解决思路来系统说明。
eth0 vs ens33)dhcp4: truesystemd-networkdNetworkManagerdhclient 未启动ip addr
ip link
UP → 接口没启用inet → 没拿到 IP启用网卡:
sudo ip link set eth0 up
cat /etc/netplan/*.yaml
正确示例:
network:
version: 2
ethernets:
eth0:
dhcp4: true
应用配置:
sudo netplan apply
❗ YAML 对缩进非常敏感
sudo dhclient -v eth0
或
sudo systemctl restart systemd-networkd
如果这里能拿到 IP → 说明 DHCP Server 正常,问题在配置
journalctl -u systemd-networkd -b
journalctl -u NetworkManager -b
常见错误:
timeoutno DHCP offers receivedsudo tcpdump -i eth0 udp port 67 or port 68
| 版本 | 默认网络管理 |
|---|---|
| ≤16.04 | /etc/network/interfaces |
| 18.04+ | Netplan |
| 桌面版 | NetworkManager |
| 服务器版 | systemd-networkd |
✅ 检查:
✅ 检查:
dhcp4: true✅ 可能需要:
你可以补充:
lsb_release -a)/etc/netplan/*.yaml 内容ip addr 输出我可以直接帮你定位是哪一类问题。