Debian 上 DHCP 获取 IP 慢(“慢如牛”) 通常不是网络本身的问题,而是 客户端或系统配置在“等”某些东西。下面按「最常见 → 较少见」给你梳理原因和对症办法。
Debian 默认会:
如果路由器不支持 IPv6,或 IPv6 RA 很慢,就会卡很久。
表现
journalctl -u networking 或 dhclient 日志里看到 dhcp6解决办法
# 禁用 IPv6 DHCP
sudo nano /etc/dhcp/dhclient.conf
加入:
timeout 10;
或更直接:
sudo sysctl -w net.ipv6.conf.all.disable_ipv6=1
Debian 的 dhclient 默认会:
/etc/dhcp/dhclient-enter-hooks.d/*某些脚本卡住,就会非常慢。
排查
sudo systemctl status networking
journalctl -u networking
简化配置
# /etc/dhcp/dhclient.conf
request subnet-mask, broadcast-address, routers, domain-name-servers;
如果你用的是 Debian 桌面版:
NetworkManager 管理网卡/etc/network/interfaces 也在管结果:谁都不让谁,DHCP 巨慢
检查
systemctl status NetworkManager
推荐
/etc/network/interfaces某些驱动(尤其是虚拟机、USB 网卡)需要等 link
现象
解决
auto eth0
iface eth0 inet dhcp
pre-up sleep 2
Debian 启动时会等:
network-online.target
如果 DHCP 慢,整个启动都慢。
查看
systemd-analyze critical-chain
缓解
sudo systemctl disable NetworkManager-wait-online.service
| 原因 | 表现 |
|---|---|
| DHCP 服务器响应慢 | 所有设备都慢 |
| ARP 冲突 | 反复 DHCPNAK |
| 磁盘 IO 卡 | 日志写入慢 |
| 防火墙 DROP DHCP | 超时重发 |
# 1. 看 DHCP 耗时
sudo dhclient -v eth0
# 2. 看是不是 IPv6 卡
ip addr | grep inet6
# 3. 看日志
journalctl -u networking -b
如果你只是想快:
# /etc/dhcp/dhclient.conf
timeout 5;
retry 2;
如果你愿意,可以贴一下:
dhclient -v 的输出我可以直接帮你定位到具体哪一行在拖时间。