在 Ubuntu 上(尤其是作为 DHCP 客户端或 DHCP 服务器)出现 DHCP 分配/获取慢,常见原因和对应排查方向如下:
Ubuntu 桌面版默认用 NetworkManager,服务器版可能用 systemd-networkd,两者同时管理网卡会导致延迟。
检查:
ps aux | grep -E "NetworkManager|systemd-network"
解决:
sudo systemctl disable --now NetworkManager
Ubuntu 默认同时请求 IPv4 + IPv6,如果网络没有 IPv6,会一直等待超时。
查看:
ip a
journalctl -u NetworkManager
解决(禁用 IPv6 DHCP):
sudo nano /etc/netplan/00-installer-config.yaml
示例:
network:
ethernets:
eth0:
dhcp4: true
dhcp6: false
accept-ra: false
应用:
sudo netplan apply
ethtool eth0
如果 Speed: Unknown,可能是网线/交换机问题。
Ubuntu 有时用 dhclient,默认重试慢。
查看:
cat /etc/dhcp/dhclient.conf
可调整:
timeout 10;
retry 10;
isc-dhcp-server 默认会做 DNS 反向查询,DNS 不通时会卡住。
解决:
sudo nano /etc/dhcp/dhcpd.conf
加入:
option domain-name-servers 8.8.8.8;
authoritative;
并禁用 DNS 更新:
ddns-update-style none;
DHCP 默认会先 ping 一下 IP 再分配。
可关闭:
ping-check false;
journalctl -u isc-dhcp-server -f
或
tail -f /var/log/syslog
如果你能说明:
我可以给你更精确的配置示例。