Debian 上 DHCP 获取地址慢,通常不是“DHCP 服务器慢”,而是 客户端在请求前做了很多“等待/探测”动作。下面按最常见原因 → 解释 → 解决办法来说明。
Debian(尤其是 11/12 + systemd)默认会等网卡 link up 才开始 DHCP。
表现:
Waiting for carrier
✅ 解决:
sudo systemctl disable --now systemd-networkd-wait-online
或(NetworkManager):
nmcli connection modify <网卡> connection.wait-device-timeout 0
Debian 默认同时尝试 IPv6。
表现:
✅ 解决(仅用 IPv4):
nmcli connection modify <网卡> ipv6.method disabled
或 /etc/network/interfaces:
iface eth0 inet dhcp
(不要写 inet6)
Debian 12 默认用 systemd-networkd + dhcpcd / udhcpc,老版本用 dhclient。
某些客户端:
✅ 可换轻量客户端:
apt install udhcpc
并指定使用。
DHCP 拿到地址后:
网络复杂时会明显变慢。
✅ 减少检测(不一定推荐):
常见于:
networking + NetworkManager✅ 建议:
systemd-networkdNetworkManager不要混用。
企业网络中:
表现:
✅ 只能在网络侧解决。
journalctl -b | grep -i dhcp
ip link
systemctl status systemd-networkd
/etc/systemd/network/10-eth0.network
[Match]
Name=eth0
[Network]
DHCP=ipv4
IPv6AcceptRA=no
systemctl enable --now systemd-networkd
Debian DHCP 慢,90% 是“等链路 / 等 IPv6 / 等网络管理器”,不是 DHCP 本身慢。
如果你愿意,可以贴:
interfaces / NetworkManager / systemd-networkd我可以精准告诉你卡在哪一步。