在 Ubuntu 上 dhclient “不运行”通常有几种常见原因。下面按最常见 → 较少见的顺序说明,并给出排查方法。
在桌面版 Ubuntu中,网络通常由 NetworkManager 管理,它不一定调用 dhclient:
dhcpcd、systemd-networkd查看是否运行:
ps aux | grep -E 'dhclient|NetworkManager'
如果看到 NetworkManager,但没 dhclient,这是正常现象。
✅ 解决思路:
dhclientnmcli device status
nmcli connection show
服务器版 Ubuntu(18.04+) 常用:
netplansystemd-networkd(不用 dhclient)检查:
cat /etc/netplan/*.yaml
示例:
dhcp4: true
renderer: networkd
这种情况下:
dhclient 不会运行systemd-networkd 处理查看状态:
systemctl status systemd-networkd
dhclient 是一次性进程:
检查 IP:
ip addr
如果你已经有 IP,那 dhclient 不运行是正常的。
如果网卡是 DOWN 状态,dhclient 不会工作:
ip link
启用:
sudo ip link set eth0 up
cat /etc/NetworkManager/NetworkManager.conf
可能看到:
[main]
dhcp=internal
含义:不使用 dhclient。
netplan 或 NM 中写了静态地址,就不会触发 DHCP。
sudo dhclient eth0
[main]
dhcp=dhclient
然后:
sudo systemctl restart NetworkManager
⚠️ 服务器环境不建议这么做。
请贴出以下信息,我可以更准确判断:
cat /etc/os-release
lsb_release -a
ps aux | grep -E 'dhclient|NetworkManager|systemd-networkd'
cat /etc/netplan/*.yaml
ip addr
Ubuntu 不运行 dhclient,通常是因为网络由 NetworkManager 或 systemd-networkd 管理,而不是因为它坏了。
如果你愿意,可以告诉我: