温馨提示×

ubuntu dhcp为何无法分配ip

小樊
40
2026-09-10 01:58:10
栏目: 智能运维

在 Ubuntu 里“DHCP 无法分配 IP”是一个比较常见但原因很多的问题。下面按最常见原因 → 排查步骤 → 解决思路来系统说明。


一、常见原因汇总

1. 网络接口未启用

  • 网卡被禁用
  • 接口名错误(如 eth0 vs ens33

2 Netplan / 网络配置错误(Ubuntu 18.04+ 最常见)

  • 没配置 dhcp4: true
  • YAML 格式错误(缩进问题)

3 DHCP 客户端服务未运行

  • systemd-networkd
  • NetworkManager
  • dhclient 未启动

4 上游没有 DHCP Server

  • 路由器未开 DHCP
  • 桥接 / 虚拟网卡问题
  • 公司网络绑定 MAC

5 防火墙 / 安全组拦截

  • iptables / nftables 拦截 UDP 67/68

6 虚拟环境常见问题

  • VMware / KVM 网卡模式错误(应为 NAT 或桥接)
  • 宿主机 DHCP 未工作

二、快速排查步骤(按顺序)

① 看网卡状态

ip addr
ip link
  • 没有 UP → 接口没启用
  • 没有 inet → 没拿到 IP

启用网卡:

sudo ip link set eth0 up

② 看 Netplan 配置(Ubuntu 18.04+)

cat /etc/netplan/*.yaml

正确示例:

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

应用配置:

sudo netplan apply

❗ YAML 对缩进非常敏感


③ 手动请求 DHCP(最直接测试)

sudo dhclient -v eth0

sudo systemctl restart systemd-networkd

如果这里能拿到 IP → 说明 DHCP Server 正常,问题在配置


④ 看 DHCP 日志

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

常见错误:

  • timeout
  • no DHCP offers received

⑤ 确认网络中有 DHCP Server

sudo tcpdump -i eth0 udp port 67 or port 68
  • 没看到 DHCP Offer → 网络侧问题

三、不同 Ubuntu 版本的差异

版本 默认网络管理
≤16.04 /etc/network/interfaces
18.04+ Netplan
桌面版 NetworkManager
服务器版 systemd-networkd

四、常见场景速查

场景 1:虚拟机无 IP

✅ 检查:

  • 网卡模式(NAT / 桥接)
  • 宿主机 DHCP 是否开启

场景 2:重启后没 IP

✅ 检查:

  • Netplan 是否 dhcp4: true
  • 是否误设静态 IP

场景 3:公司 / 校园网

✅ 可能需要:

  • 绑定 MAC
  • 使用 802.1X 认证

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

你可以补充:

  1. Ubuntu 版本(lsb_release -a
  2. 物理机 / 虚拟机
  3. /etc/netplan/*.yaml 内容
  4. ip addr 输出

我可以直接帮你定位是哪一类问题。

0