在 Ubuntu 上 DHCP 分配 IP 慢,通常不是 DHCP 服务器本身慢,而是客户端获取地址的流程被卡住。下面按「最常见原因 → 排查方法」给你梳理一下。
Ubuntu 默认会同时请求 IPv4 + IPv6,如果网络不支持 IPv6,会一直等超时。
表现
dhclient 或 NetworkManager 卡几秒到十几秒dhcp6 相关等待解决
# 临时禁用 IPv6(测试用)
sudo sysctl -w net.ipv6.conf.all.disable_ipv6=1
sudo sysctl -w net.ipv6.conf.default.disable_ipv6=1
或永久:
# /etc/sysctl.conf
net.ipv6.conf.all.disable_ipv6 = 1
net.ipv6.conf.default.disable_ipv6 = 1
Ubuntu 默认会检测 connectivity-check.ubuntu.com,不通就慢。
解决
sudo vim /etc/NetworkManager/conf.d/99-disable-connectivity.conf
[connectivity]
enabled=false
sudo systemctl restart NetworkManager
Ubuntu 22.04+ 默认用 systemd-networkd 或 NetworkManager
如果你手动装了 isc-dhcp-client,可能冲突。
检查
ps aux | grep -E "dhclient|systemd-network|NetworkManager"
dhclient -r)排查
cat /var/lib/dhcp/dhcpd.leases
dhcp-relay现象
journalctl -u NetworkManager -b
或
sudo dhclient -v eth0
sudo tcpdump -i eth0 port 67 or port 68
Ubuntu DHCP 慢,90% 是 IPv6 / 网络连通性检测在等超时
如果你愿意,可以告诉我:
我可以直接给你精准配置方案。