Ubuntu 上 DHCP 启动失败(通常指 isc-dhcp-server 或系统自带 DHCP 相关服务无法运行)原因很多,下面按最常见原因 → 排查步骤 → 解决办法给你梳理。
DHCP 服务对配置非常敏感,只要有语法错误就直接启动失败。
配置文件位置:
/etc/dhcp/dhcpd.conf
典型错误包括:
;option routers✅ 检查语法:
dhcpd -t
或
sudo dhcpd -t -cf /etc/dhcp/dhcpd.conf
DHCP 服务器必须在要服务的网段上有 IP。
例如:
subnet 192.168.1.0 netmask 255.255.255.0 {
range 192.168.1.100 192.168.1.200;
}
但网卡没有 192.168.1.x 的 IP → 启动失败。
✅ 检查:
ip addr
✅ 解决:
sudo ip addr add 192.168.1.1/24 dev eth0
Ubuntu 默认不监听所有网卡。
配置文件:
/etc/default/isc-dhcp-server
示例:
INTERFACESv4="eth0"
✅ 确认网卡名正确(不是 eth0 也可能是 ens33)
其他 DHCP(如 dnsmasq)已在运行。
✅ 检查:
sudo ss -lup | grep :67
✅ 停止冲突服务:
sudo systemctl stop dnsmasq
特别是在容器或定制系统里。
✅ 查看日志:
sudo journalctl -u isc-dhcp-server
# 1. 查看错误
sudo journalctl -xeu isc-dhcp-server
# 2. 测试配置
sudo dhcpd -t
# 3. 确认网卡 IP
ip addr
# 4. 确认监听网卡
cat /etc/default/isc-dhcp-server
# 5. 启动
sudo systemctl restart isc-dhcp-server
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;
}
你可以直接贴:
dhcpd.confjournalctl -u isc-dhcp-server 报错我可以精准告诉你哪一行错了。