温馨提示×

ubuntu dhcp为什么老断连

小樊
59
2026-10-01 05:00:08
栏目: 智能运维

在 Ubuntu 上 DHCP 老是断连,通常不是单一原因,而是下面几类里的一种或几种叠加。我按最常见 → 较少见给你梳理,并给出对应排查/解决办法。


一、最常见原因

1️⃣ DHCP 租约到期 + 续租失败

DHCP 客户端(Ubuntu 一般用 systemd-networkd 或 NetworkManager)在租约快到期时会续租:

  • 如果 DHCP Server 没回应
  • 或 网络短暂抖动
  • 或 AP/交换机限制

就会导致:

  • IP 被回收
  • 重新 DHCP
  • 表现为“断一下又连上”

✅ 查看租约:

cat /var/lib/dhcp/dhclient.leases

或(networkd):

journalctl -u systemd-networkd

✅ 解决:

  • 修改 DHCP 租期(服务器端)
  • 或改用 静态 IP

2️⃣ 无线网络(WiFi)不稳定(非常常见)

如果是 WiFi:

  • 信号弱
  • 信道拥塞
  • 路由器断流
  • 电源管理导致网卡休眠

✅ 关闭 WiFi 电源管理:

sudo iwconfig wlan0 power off

(wlan0 换成你的网卡)

✅ 查看断线日志:

journalctl -u NetworkManager

3️⃣ NetworkManager 与 systemd-networkd 冲突

如果你:

  • 既装了 NetworkManager
  • 又启用了 systemd-networkd

二者会抢 DHCP,导致反复断连。

✅ 检查:

systemctl status systemd-networkd
systemctl status NetworkManager

✅ 建议:

  • 桌面版:只用 NetworkManager
  • 服务器版:只用 systemd-networkd

二、系统/配置问题

4️⃣ DHCP 客户端 bug 或配置异常

Ubuntu 默认:

  • 桌面:NetworkManager
  • 服务器:systemd-networkd

如果你手动改过 /etc/network/interfaces 或 netplan,很容易出问题。

✅ 查看 netplan:

cat /etc/netplan/*.yaml

✅ 正确示例(DHCP):

network:
  version: 2
  ethernets:
    eth0:
      dhcp4: true

然后:

sudo netplan apply

5️⃣ MTU / 路由器不兼容

某些路由器:

  • MTU 异常
  • 不支持快速 DHCP
  • 对客户端数量有限制

✅ 试试固定 MTU:

sudo ip link set eth0 mtu 1492

三、网络设备或环境原因(别忽略)

6️⃣ 路由器 / 交换机问题

  • 路由器 DHCP 表满
  • ARP 表老化快
  • 二层环路

✅ 判断方法:

  • 其他设备是否也掉
  • 换路由器测试

7️⃣ IPv6 导致“假断连”

Ubuntu 默认开 IPv6,有时:

  • IPv6 DHCP 失败
  • 应用层以为断网

✅ 临时关闭:

sudo sysctl -w net.ipv6.conf.all.disable_ipv6=1

四、最快定位方法(强烈推荐)

请直接看日志:

journalctl -u NetworkManager -b
# 或
journalctl -u systemd-networkd -b

把出现 DHCP, timeout, lease, carrier lost 的日志贴出来,我可以精准判断。


五、如果你愿意,我可以更精准帮你

你可以告诉我:

  1. Ubuntu 版本(22.04 / 24.04?)
  2. 有线还是无线?
  3. 桌面版还是服务器版?
  4. 是否用路由器原厂 DHCP?

我可以直接给你一套对症配置。

0 踩