温馨提示×

ubuntu dhcp为何报错

小樊
49
2026-09-22 08:02:30
栏目: 智能运维

Ubuntu 上 DHCP 报错的原因非常多,需要先看具体报错信息和使用场景(是客户端获取 IP,还是服务器提供 DHCP)。下面我按常见原因 + 对应现象 + 解决办法帮你梳理。


一、Ubuntu 作为 DHCP 客户端(获取 IP)常见报错

1. DHCPDISCOVER on eth0 to 255.255.255.255 port 67 interval x

现象

DHCPDISCOVER on eth0 to 255.255.255.255 port 67 interval 6
DHCPOFFER not received
No DHCPOFFERS received

常见原因

  • 网线没插好 / 交换机端口 down
  • 网络中没有 DHCP 服务器
  • 虚拟机桥接模式配置错误
  • 防火墙(iptables/nftables)拦截

解决

ip link
ip addr

确认网卡 UP

sudo ip link set eth0 up

虚拟机检查:

  • 桥接 / NAT 是否正确
  • 宿主机是否提供了 DHCP

2. Job for networking.service failed

现象

Failed to bring up eth0

原因

  • /etc/network/interfaces 配置错误
  • 和 Netplan 冲突(Ubuntu 18.04+)

解决 Ubuntu 18.04+ 推荐使用 Netplan:

cat /etc/netplan/*.yaml

示例(DHCP):

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

应用:

sudo netplan apply

3. dhclient: bound to 169.254.x.x

现象 拿到的是 169.254.x.x(APIPA)

原因

  • DHCP 服务器无响应
  • 地址池耗尽

解决

  • 检查路由器 / DHCP 服务器
  • 重启 DHCP 服务
  • 换端口或网线

二、Ubuntu 作为 DHCP 服务器(isc-dhcp-server)常见报错

4. Not configured to listen on any interfaces!

原因 没指定监听网卡

解决 编辑:

sudo nano /etc/default/isc-dhcp-server
INTERFACESv4="eth0"

5. Can't bind to dhcp address: Address already in use

原因

  • 同一网段有别的 DHCP 服务器
  • 端口 67 被占用

排查

sudo ss -lunp | grep :67

6. 子网配置错误

No subnet declaration for eth0

解决 /etc/dhcp/dhcpd.conf 必须有:

subnet 192.168.1.0 netmask 255.255.255.0 {
  range 192.168.1.100 192.168.1.200;
  option routers 192.168.1.1;
  option domain-name-servers 8.8.8.8;
}

三、系统/权限类问题

7. 权限不足

Permission denied

使用:

sudo dhclient eth0

8. NetworkManager 与 dhclient 冲突

sudo systemctl restart NetworkManager

四、快速排查命令(强烈建议)

journalctl -u isc-dhcp-server
journalctl -u NetworkManager
ip addr
ip route
sudo dhclient -v eth0

五、你可以这样补充信息,我能精准定位

请告诉我:

  1. Ubuntu 版本(lsb_release -a)
  2. 是客户端还是服务器
  3. 完整报错文本
  4. 是否虚拟机 / 物理机

我可以一步一步帮你排到根因。

0 踩