温馨提示×

ubuntu dhcp为何报错误

小樊
53
2026-10-15 19:44:16
栏目: 智能运维

在 Ubuntu 上 DHCP 报错的原因很多,下面按常见原因 → 表现 → 解决办法给你梳理一下,你可以对照看是哪一种。


一、常见错误类型及原因

1. NetworkManager 与 dhclient / systemd-networkd 冲突

现象:

  • dhclient 报错
  • 网络时通时断
  • 日志里有 dhclient already running

原因: Ubuntu 默认用 NetworkManager 或 systemd-networkd 管理 DHCP,手动跑 dhclient 会冲突。

解决:

sudo systemctl status NetworkManager
  • 如果用 NetworkManager:
    sudo nmcli connection up <连接名>
    
  • 不要用 sudo dhclient eth0 手动跑

2. 网卡未 UP

现象:

DHCPDISCOVER on eth0 to 255.255.255.255 port 67
No DHCPOFFERS received

原因: 网卡是 DOWN 状态

解决:

ip link set eth0 up

3. DHCP 服务不可用

现象:

DHCPNAK
No DHCPOFFERS received

原因:

  • 路由器 DHCP 关了
  • 交换机/VLAN 隔离
  • 虚拟机没接对网络

解决:

  • 确认路由器 DHCP 开启
  • 换网线 / 桥接方式
  • 虚拟机检查 NAT / 桥接设置

4. /etc/network/interfaces 配置错误(老版本 Ubuntu)

现象: 开机 DHCP 起不来

原因: 手动写了 iface eth0 inet dhcp 但和 NetworkManager 冲突

解决(Ubuntu 18.04+ 不推荐手写):

  • 删除 interfaces 里的配置
  • 用 netplan

5. Netplan 配置错误(Ubuntu 18.04+)

现象:

Failed to start NetworkManager
DHCP failed

示例正确配置:

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

应用:

sudo netplan apply

6. 防火墙 / iptables 拦截

现象: 能发 DHCPDISCOVER,收不到 OFFER

原因:

  • 防火墙拦了 UDP 67/68

解决:

sudo ufw allow 67/udp
sudo ufw allow 68/udp

7. MAC 地址冲突 / 被拉黑

现象: 一直 DHCPREQUEST,无响应

解决:

  • 修改 MAC 地址测试
sudo ip link set eth0 address 00:11:22:33:44:55

二、快速排查命令(建议按顺序)

ip a
ip route
journalctl -u NetworkManager -b
journalctl -u systemd-networkd -b
sudo dhclient -v eth0

三、你可以告诉我:

  1. Ubuntu 版本(lsb_release -a)
  2. 物理机 / 虚拟机 / 容器
  3. 具体报错日志(贴一段)

我可以直接帮你精准定位 ✅

0 踩