温馨提示×

ubuntu dhcp为啥老掉线

小樊
49
2026-10-07 00:52:54
栏目: 智能运维

在 Ubuntu 上 DHCP 老是掉线,通常不是“网络本身断了”,而是租约没续上 / 网卡被刷新 / 管理工具冲突这几类原因。下面按最常见到最少见给你排一遍。


一、最常见原因

1. Netplan + NetworkManager 冲突

Ubuntu 20.04+ 默认用 Netplan,但如果:

  • 用 network-manager
  • 又改了 /etc/netplan/*.yaml

就容易出现 DHCP 被反复重置。

排查:

ps aux | grep -E 'NetworkManager|systemd-networkd'

建议:

  • 服务器:用 systemd-networkd
  • 桌面:用 NetworkManager
  • 二选一,不要混用

2. DHCP 租约时间太短

很多路由器默认租约 2 分钟~1 小时,Ubuntu 有时续租失败。

查看租约:

cat /var/lib/dhcp/dhclient.leases

解决:

  • 路由器里把 DHCP 租期改成 24 小时
  • 或固定 IP(最稳)

3. 网卡被电源管理关掉

尤其是无线网卡 / 笔记本

iwconfig

看 Power Management: on

关闭:

sudo iwconfig wlan0 power off

(wlan0 换成你的网卡名)


二、DHCP 客户端问题

4. dhclient 崩溃 / 被 systemd 抢活

Ubuntu 有时 systemd-networkd 和 dhclient 抢 DHCP。

查看日志:

journalctl -u systemd-networkd -b
journalctl -u NetworkManager -b

建议:

  • Netplan 里明确指定 backend
network:
  version: 2
  ethernets:
    eth0:
      dhcp4: true

三、驱动 / 硬件问题

5. 网卡驱动不稳定

常见于:

  • 无线(RTL / Broadcom)
  • 虚拟网卡(virtio / e1000)

看错误:

dmesg | grep eth
dmesg | grep wlan

四、最稳的解决方案(推荐)

✅ 方案 1:固定 IP(服务器必选)

network:
  version: 2
  ethernets:
    eth0:
      addresses: [192.168.1.100/24]
      gateway4: 192.168.1.1
      nameservers:
        addresses: [8.8.8.8, 1.1.1.1]
sudo netplan apply

✅ 方案 2:强制 DHCP 不释放

sudo dhclient -r
sudo dhclient eth0

五、你可以把这些信息发我,我能精准判断

  1. Ubuntu 版本(lsb_release -a)
  2. 有线还是无线
  3. 是否虚拟机
  4. journalctl -u NetworkManager -b | tail -50

我可以帮你直接写一份不掉的 Netplan 配置。

0 踩