在 Ubuntu(及其他 Linux 系统)上出现 DHCP 分配 IP 冲突,通常不是 Ubuntu 本身的问题,而是网络环境或 DHCP 配置导致的。下面按常见原因 → 排查方法 → 解决办法说明。
isc-dhcp-server结果:两个 DHCP 都发 IP,地址范围重叠 → 冲突。
✅ 检查:
sudo netstat -uap | grep dhcp
ps aux | grep dhcpd
例如:
192.168.1.100192.168.1.100–200DHCP 不知道这个 IP 已被占用 → 分配给别人。
✅ 解决:
dhclient -r)✅ 解决:
sudo dhclient -r
sudo dhclient
Ubuntu 默认开启 MAC 随机化(尤其 Wi‑Fi):
✅ 检查:
ip link
✅ 关闭随机 MAC(NetworkManager):
sudo nmcli connection modify <连接名> wifi.cloned-mac-address stable
✅ 检查:
arp -n
ip addr
如果你在 Ubuntu 上装了:
isc-dhcp-server
dnsmasq
但没限制网卡或网段。
✅ 检查:
systemctl status isc-dhcp-server
systemctl status dnsmasq
ping 192.168.1.100
arp -n
若同一 IP 对应多个 MAC → 冲突。
journalctl -u NetworkManager
dmesg | grep eth
✅ 一个网段只保留一个 DHCP 服务器
✅ 静态 IP 必须在 DHCP 池外
✅ 使用 DHCP 保留代替静态 IP
✅ 关闭不必要的随机 MAC
✅ 服务器使用固定 IP + reservation
示例(避免冲突):
subnet 192.168.1.0 netmask 255.255.255.0 {
range 192.168.1.50 192.168.1.99;
option routers 192.168.1.1;
}
静态设备用:
host pc1 {
hardware ethernet 00:11:22:33:44:55;
fixed-address 192.168.1.200;
}
如果你愿意,可以告诉我:
我可以帮你精准定位是哪一类冲突。