在 Ubuntu 上 DHCP 不生效 是比较常见的问题,原因通常涉及网络配置方式、NetworkManager、netplan、服务状态或硬件/驱动。下面按最常见原因 → 排查步骤给你一个系统性的排查指南。
Ubuntu 18.04 以后默认使用 netplan + systemd-networkd / NetworkManager。
ls /etc/netplan/
cat /etc/netplan/*.yaml
典型 DHCP 配置示例:
network:
version: 2
ethernets:
eth0:
dhcp4: true
⚠️ 注意缩进必须是 2 空格,不能用 Tab
应用配置:
sudo netplan apply
表现:网卡无 IP、DHCP 请求没发出
检查:
sudo netplan try
若有语法错误会直接提示。
✅ 修复:确保 dhcp4: true,且网卡名正确(ip a 查看)
systemctl status NetworkManager
若未运行:
sudo systemctl enable --now NetworkManager
桌面版 Ubuntu 通常依赖 NetworkManager。
如果你用的是 server 版,可能用的是 systemd-networkd。
查看:
systemctl status systemd-networkd
netplan 中指定了 renderer:
renderer: networkd
或
renderer: NetworkManager
⚠️ 两者不能同时管同一张网卡
ip a
如果网卡是 DOWN:
sudo ip link set eth0 up
netplan 中加:
eth0:
dhcp4: true
Ubuntu 使用 systemd-networkd 或 dhclient
测试 DHCP 手动获取:
sudo dhclient eth0
若报错:
sudo ufw status
DHCP 需要:
测试:
sudo tcpdump -i eth0 port 67 or port 68
如果没有 DHCP Discover 包 → 本机问题
如果有 Discover 但无 Offer → 网络侧问题
ip a
ping 8.8.8.8
systemctl status NetworkManager
systemctl status systemd-networkd
cat /etc/netplan/*.yaml
sudo netplan apply
sudo dhclient eth0
journalctl -u systemd-networkd -f
❌ 错误:
dhcp: true
✅ 正确:
dhcp4: true
❌ 错误:Tab 缩进
✅ 正确:空格
你可以贴出以下信息:
lsb_release -a)/etc/netplan/*.yamlip a 输出我可以直接帮你改配置。