Ubuntu 上 DHCP 报错的原因非常多,需要先看具体报错信息和使用场景(是客户端获取 IP,还是服务器提供 DHCP)。下面我按常见原因 + 对应现象 + 解决办法帮你梳理。
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
常见原因
解决
ip link
ip addr
确认网卡 UP
sudo ip link set eth0 up
虚拟机检查:
Job for networking.service failed现象
Failed to bring up eth0
原因
/etc/network/interfaces 配置错误解决 Ubuntu 18.04+ 推荐使用 Netplan:
cat /etc/netplan/*.yaml
示例(DHCP):
network:
version: 2
ethernets:
eth0:
dhcp4: true
应用:
sudo netplan apply
dhclient: bound to 169.254.x.x现象
拿到的是 169.254.x.x(APIPA)
原因
解决
Not configured to listen on any interfaces!原因 没指定监听网卡
解决 编辑:
sudo nano /etc/default/isc-dhcp-server
INTERFACESv4="eth0"
Can't bind to dhcp address: Address already in use原因
排查
sudo ss -lunp | grep :67
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;
}
Permission denied
使用:
sudo dhclient eth0
sudo systemctl restart NetworkManager
journalctl -u isc-dhcp-server
journalctl -u NetworkManager
ip addr
ip route
sudo dhclient -v eth0
请告诉我:
lsb_release -a)我可以一步一步帮你排到根因。