温馨提示×

debian dhcp为什么无法启动

小樊
42
2026-09-04 23:41:47
栏目: 智能运维

在 Debian 上 DHCP 服务(通常是 ISC DHCP Server,包名 isc-dhcp-server)无法启动,常见原因和排查方法如下:


一、最常见原因

1. 网卡(接口)未配置或不存在

Debian 的 isc-dhcp-server 必须指定监听的接口

检查:

cat /etc/default/isc-dhcp-server

应有类似:

INTERFACESv4="eth0"

如果写错(如 ens33 不存在),服务会直接失败。

解决:

ip addr

确认真实网卡名,然后修改并重启:

sudo systemctl restart isc-dhcp-server

2. DHCP 地址池与网卡 IP 不在同一网段

这是非常常见的问题。

例如:

  • 网卡 IP:192.168.1.10/24
  • 配置文件却写:
subnet 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;
}

3. 配置文件语法错误

检查配置:

sudo dhcpd -t

如果有错误,会直接提示行号。


4. 端口 67 被占用

可能原因:

  • 系统启用了 dnsmasq
  • 或另一个 DHCP 服务在跑

检查:

sudo ss -lunp | grep :67

解决:

sudo systemctl stop dnsmasq
sudo systemctl disable dnsmasq

5. 网卡没有 IP 地址

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

二、查看真实错误的方法(非常重要)

1. 查看服务状态

systemctl status isc-dhcp-server

2. 查看日志

journalctl -u isc-dhcp-server -xe

或直接前台运行看错误:

sudo dhcpd -f -d

三、Debian 12+ 的额外注意

  • Debian 12 开始逐步弃用 isc-dhcp-server
  • 新项目建议用:
    • kea-dhcp4-server

如果你用的是 KVM / 虚拟机 / 容器,也可能是:

  • 桥接没配好
  • 网卡未 up

四、快速自检清单 ✅

  • [ ] /etc/default/isc-dhcp-server 接口正确
  • [ ] 网卡有静态 IP
  • [ ] subnet 与网卡同网段
  • [ ] dhcpd -t 无报错
  • [ ] 67 端口未被占用

如果你愿意,可以把下面内容贴出来,我可以精准帮你定位:

systemctl status isc-dhcp-server
cat /etc/dhcp/dhcpd.conf
cat /etc/default/isc-dhcp-server
ip addr

0