在 Ubuntu 上出现 DHCP 掉线(IP 丢失 / 定期断网) 是比较常见的问题,原因通常集中在 网络管理组件、DHCP 租约、驱动或硬件 这几类。下面按常见原因 + 排查方法给你梳理一下。
Ubuntu 桌面版默认用 NetworkManager,服务器版可能用 systemd-networkd。
如果两者同时管理同一网卡,就会出现 DHCP 被反复释放。
检查:
systemctl status NetworkManager
systemctl status systemd-networkd
解决:
sudo systemctl disable --now systemd-networkd
sudo systemctl disable --now NetworkManager
DHCP 服务器分配 IP 是有期限的(如 1 小时 / 12 小时)。
如果 Ubuntu 没及时续租,就会“掉线”。
查看租约:
cat /var/lib/dhcp/dhclient.leases
解决:
ps aux | grep dhclient
sudo systemctl restart NetworkManager
尤其是 无线网卡 / 笔记本。
检查:
iwconfig
看 Power Management: on
关闭:
sudo iwconfig wlan0 power off
常见于:
查看:
dmesg | grep -i eth
dmesg | grep -i wlan
典型现象:
link down
eth0: link is not ready
解决:
不一定是 Ubuntu 的问题:
验证:
ping 192.168.1.1
掉线时是否能 ping 通网关。
# 1. 看当前 IP
ip addr
# 2. 看路由
ip route
# 3. 看 DHCP 日志
journalctl -u NetworkManager -b
# 4. 手动续租
sudo dhclient -r
sudo dhclient eth0
干脆不用 DHCP,改静态 IP:
sudo nano /etc/netplan/01-netcfg.yaml
network:
version: 2
ethernets:
eth0:
dhcp4: no
addresses: [192.168.1.100/24]
gateway4: 192.168.1.1
nameservers:
addresses: [8.8.8.8]
sudo netplan apply
journalctl -u NetworkManager 报错内容我可以帮你直接看日志定位。