在 Debian 上 DHCP 服务(通常是 ISC DHCP Server,包名 isc-dhcp-server)无法启动,常见原因和排查方法如下:
Debian 的 isc-dhcp-server 必须指定监听的接口。
检查:
cat /etc/default/isc-dhcp-server
应有类似:
INTERFACESv4="eth0"
如果写错(如 ens33 不存在),服务会直接失败。
解决:
ip addr
确认真实网卡名,然后修改并重启:
sudo systemctl restart isc-dhcp-server
这是非常常见的问题。
例如:
192.168.1.10/24subnet 10.0.0.0 netmask 255.255.255.0 {
range 10.0.0.100 10.0.0.200;
}
DHCP 会拒绝启动。
正确示例:
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;
}
检查配置:
sudo dhcpd -t
如果有错误,会直接提示行号。
可能原因:
dnsmasq检查:
sudo ss -lunp | grep :67
解决:
sudo systemctl stop dnsmasq
sudo systemctl disable dnsmasq
DHCP 服务器网卡必须是静态 IP。
示例(/etc/network/interfaces):
auto eth0
iface eth0 inet static
address 192.168.1.1
netmask 255.255.255.0
然后:
sudo ifdown eth0 && sudo ifup eth0
systemctl status isc-dhcp-server
journalctl -u isc-dhcp-server -xe
或直接前台运行看错误:
sudo dhcpd -f -d
isc-dhcp-serverkea-dhcp4-server如果你用的是 KVM / 虚拟机 / 容器,也可能是:
/etc/default/isc-dhcp-server 接口正确dhcpd -t 无报错如果你愿意,可以把下面内容贴出来,我可以精准帮你定位:
systemctl status isc-dhcp-server
cat /etc/dhcp/dhcpd.conf
cat /etc/default/isc-dhcp-server
ip addr