Debian 上 DHCP 服务无法启动的原因很多,通常可以从 服务类型、配置错误、端口冲突、权限/网络问题 几个方面排查。下面按最常见情况逐一说明,并给出排查方法。
Debian 常见有两种:
ISC DHCP Server(isc-dhcp-server)
isc-dhcp-serverisc-dhcp-serverKea DHCP(kea)(较新)
keakea-dhcp4下面以 isc-dhcp-server 为主,最常见。
症状
systemctl status isc-dhcp-server
报类似:
Configuration file errors encountered -- exiting
检查
dhcpd -t
或
/usr/sbin/dhcpd -cf /etc/dhcp/dhcpd.conf -t
常见错误
;option routers✅ 修正 /etc/dhcp/dhcpd.conf 后重启
Debian 默认不会自动选网卡
编辑:
/etc/default/isc-dhcp-server
确保有:
INTERFACESv4="eth0"
(改成你实际的网卡名)
否则服务会直接失败。
DHCP 要求:
监听的接口必须已有静态 IP,且属于对应 subnet
检查:
ip addr show eth0
如果接口没有 IP:
ip addr add 192.168.1.1/24 dev eth0
或在 /etc/network/interfaces 中配置静态 IP。
常见冲突
检查:
ss -lup | grep :67
解决:
systemctl stop dnsmasq
systemctl disable dnsmasq
查看日志:
journalctl -xe
可能看到:
apparmor="DENIED"
临时测试:
aa-complain /usr/sbin/dhcpd
systemctl enable isc-dhcp-server
systemctl start isc-dhcp-server
# 1. 测试配置
dhcpd -t
# 2. 查看状态
systemctl status isc-dhcp-server
# 3. 查看日志
journalctl -xe
# 4. 检查接口
ip addr
# 5. 检查端口
ss -lup | grep 67
你可以贴出以下信息之一:
systemctl status isc-dhcp-server 输出/etc/dhcp/dhcpd.confjournalctl -xe 相关报错我可以直接告诉你 具体是哪一行导致启动失败。