Ubuntu 下 DHCP 老是掉线,常见原因大致可以分成网络侧、系统/服务侧、驱动/硬件侧三类。下面按“最常见 → 较少见”给你梳理,并附排查办法。
DHCP 客户端会定期续租,如果:
就会出现“掉线后又能自动连上”。
排查:
journalctl -u NetworkManager
journalctl -u systemd-networkd
看是否有:
dhcp4 (xxx): request timed out
dhcp4 (xxx): fail
解决:
Ubuntu 桌面版默认用 NetworkManager,服务器版可能用 systemd-networkd,两者同时管网络会打架。
检查:
systemctl status NetworkManager
systemctl status systemd-networkd
解决:
sudo systemctl disable --now systemd-networkd
Ubuntu 默认会开启 WiFi 节能,容易导致 DHCP 掉线。
检查:
iwconfig
看 Power Management: on
关闭:
sudo iwconfig wlan0 power off
永久生效:
sudo nano /etc/NetworkManager/conf.d/wifi-powersave.conf
内容:
[connection]
wifi.powersave = 2
Ubuntu 有时 dhclient 卡死。
重启:
sudo systemctl restart NetworkManager
或
sudo dhclient -r
sudo dhclient
如果你手动改过网络配置,可能导致 DHCP 重复请求。
检查:
cat /etc/network/interfaces
桌面版一般应为:
source /etc/network/interfaces.d/*
特别是:
查看:
lspci | grep -i net
dmesg | grep -i eth
解决:
某些路由器 IPv6 配置烂,会导致网络“假死”。
临时关闭测试:
sudo sysctl -w net.ipv6.conf.all.disable_ipv6=1
journalctl -u NetworkManager 报错内容?如果你愿意,可以把下面信息发我,我能更精准判断:
journalctl -u NetworkManager -b 的报错片段我可以直接帮你定位到“是哪一层在掉”。