温馨提示×

ubuntu dhcp为何连不上网

小樊
45
2026-10-15 19:35:16
栏目: 智能运维

Ubuntu 通过 DHCP 连不上网,常见原因和排查思路如下(从最常见到较少见):


一、先确认基本现象

ip addr
ip route
  • 看网卡(如 eth0 / ens33)有没有拿到 IP 地址
  • 看有没有 默认路由(default via …)

二、最常见原因

1️⃣ DHCP 没拿到 IP

journalctl -u systemd-networkd
# 或
cat /var/log/syslog | grep dhcp

常见情况:

  • 一直 DHCPDISCOVER 无回应
  • 路由器/DHCP 服务没开
  • 网络线缆/交换机问题

✅ 解决:

  • 换网线 / 换端口
  • 重启路由器
  • 手动测试:
sudo dhclient -v eth0

2️⃣ Netplan 配置错误(Ubuntu 18.04+)

查看配置:

cat /etc/netplan/*.yaml

正确示例(DHCP):

network:
  version: 2
  ethernets:
    ens33:
      dhcp4: true

应用:

sudo netplan apply

❌ 常见错误:

  • 缩进错误(必须用空格)
  • 网卡名写错
  • 同时启用了 systemd-networkd 和 NetworkManager

3️⃣ NetworkManager 未运行

systemctl status NetworkManager

若未运行:

sudo systemctl start NetworkManager
sudo systemctl enable NetworkManager

4️⃣ 防火墙 / 安全策略

sudo ufw status

如果是 active,可临时关闭测试:

sudo ufw disable

三、虚拟机的特殊情况(很常见)

VMware / VirtualBox

  • 网络模式是否正确?
    • ✅ NAT / 桥接
    • ❌ 仅主机(Host-only)
  • 宿主机是否能上网?
  • 虚拟网卡是否启用?

四、DHCP 拿到 IP 但仍不能上网

可能是:

  • DNS 问题
cat /etc/resolv.conf

没有 nameserver 或错误

临时修复:

echo "nameserver 8.8.8.8" | sudo tee /etc/resolv.conf

或 Netplan 中指定 DNS:

dhcp4: true
nameservers:
  addresses: [8.8.8.8, 1.1.1.1]

五、快速自检清单 ✅

  • [ ] 网线 / 虚拟网络正常
  • [ ] DHCP 服务正常
  • [ ] Netplan 配置正确
  • [ ] NetworkManager 运行
  • [ ] 有 IP + 默认路由 + DNS

如果你愿意,可以贴出:

ip addr
ip route
cat /etc/netplan/*.yaml

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

0 踩