在 Debian 上 DHCP 启动失败(通常是 isc-dhcp-server 或系统里的 DHCP 客户端 dhclient)原因很多,下面按最常见原因 + 排查方式给你一个系统性说明。
一般是:
systemctl status isc-dhcp-server
通常是:
dhclient eth0
下面以 DHCP 服务端 为主说明(客户端问题在最后补)。
配置文件:
/etc/dhcp/dhcpd.conf
检查:
dhcpd -t
常见错误:
;option routers✅ 正确示例:
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;
}
Debian 默认 不会自动监听所有网卡
配置文件:
/etc/default/isc-dhcp-server
确保有:
INTERFACESv4="eth0"
否则会直接启动失败。
DHCP 要求:
子网必须和网卡 IP 在同一网段
例如:
192.168.2.1192.168.1.0/24❌ 直接失败
检查:
ip addr
可能冲突:
查看:
ss -lunp | grep :67
错误示例:
Can't open /var/lib/dhcp/dhcpd.leases
解决:
touch /var/lib/dhcp/dhcpd.leases
chown dhcpd:dhcpd /var/lib/dhcp/dhcpd.leases
查看日志:
journalctl -xe
如果有 apparmor 拒绝:
apparmor="DENIED"
可临时测试:
aa-complain /usr/sbin/dhcpd
journalctl -u isc-dhcp-server -xe
或者直接运行:
/usr/sbin/dhcpd -d -f
前台运行,错误非常直观。
ip link set eth0 up
查看:
journalctl -u NetworkManager
dhcpd -t 无报错/etc/default/isc-dhcp-server 配置了网卡如果你愿意,可以把下面内容贴出来,我可以精准帮你定位:
journalctl -u isc-dhcp-server
cat /etc/dhcp/dhcpd.conf
ip addr
我可以一步一步帮你改到能跑。