在 Ubuntu 上 DHCP 启动慢(典型表现:dhclient 或 systemd-networkd / NetworkManager 获取 IP 很慢,开机卡在 network 阶段)通常由以下几类原因导致。下面按最常见 → 较少见说明,并给出排查与解决办法。
表现
DHCPDISCOVER排查
sudo journalctl -u systemd-networkd -b
sudo journalctl -u NetworkManager -b
解决
Ubuntu 默认会同时尝试:
如果网络不支持 IPv6,会一直等待超时。
解决(禁用 IPv6 DHCP)
sudo nano /etc/netplan/00-installer-config.yaml
示例:
network:
ethernets:
eth0:
dhcp4: true
dhcp6: false
accept-ra: false
应用:
sudo netplan apply
DHCP 会一直重试。
解决
optional: true 避免开机阻塞eth0:
dhcp4: true
optional: true
开机时 systemd 会等“网络在线”。
查看是否卡住
systemctl status systemd-networkd-wait-online
解决(允许不等待)
sudo systemctl disable systemd-networkd-wait-online
或修改 netplan:
optional: true
dhclient 默认重试策略较慢。
解决
sudo nano /etc/dhcp/dhclient.conf
示例:
timeout 10;
retry 10;
同时启用:
检查
systemctl status NetworkManager
systemctl status systemd-networkd
建议
netplan + systemd-networkdNetworkManagerDHCP 使用:
被拦截会一直超时。
ip link
ip addr
journalctl -u systemd-networkd -b
journalctl -u NetworkManager -b
Ubuntu DHCP 启动慢,90% 是因为 IPv6、等待网络在线、或 DHCP 服务器响应慢。
如果你愿意,可以贴出:
netplan 配置journalctl 相关日志我可以帮你精准定位是哪一条原因。