温馨提示×

debian dhcp为何无法启动

小樊
53
2026-09-10 20:00:32
栏目: 智能运维

Debian 上 DHCP 服务(通常是 ISC DHCP Server,包名 isc-dhcp-server)无法启动,原因有很多种。下面按最常见 → 较少见的顺序说明,并给出排查方法。


一、最常见原因

1️⃣ 配置文件有错误

DHCP 对配置语法非常敏感。

查看错误:

sudo journalctl -xe
sudo systemctl status isc-dhcp-server

常见错误:

  • 缺 subnet
  • 括号不匹配
  • range 不在 subnet 网段内
  • 重复 IP / MAC

快速检查:

sudo dhcpd -t

如果没输出,说明配置语法 OK。


2️⃣ 监听网卡未配置 / 不存在

/etc/default/isc-dhcp-server 里指定的网卡不存在或未 UP。

查看配置:

cat /etc/default/isc-dhcp-server

示例:

INTERFACESv4="eth0"

检查网卡:

ip a

如果网卡名是 ens33、enp0s3,必须改成对应名称。


3️⃣ 网卡没有 IP 地址

DHCP 服务器网卡必须有静态 IP,且要和 subnet 在同一网段。

错误示例:

subnet 192.168.1.0 netmask 255.255.255.0 { ... }

但网卡是:

inet 10.0.0.1/24

解决:

sudo nano /etc/network/interfaces

或 Netplan(Debian 12+ 常见)


4️⃣ 端口 67 被占用(另一个 DHCP)

常见于:

  • dnsmasq
  • 系统自带 DHCP
  • 容器 / 虚拟化

检查:

sudo ss -lunp | grep :67

二、服务层面问题

5️⃣ 服务未启用或异常

sudo systemctl enable isc-dhcp-server
sudo systemctl restart isc-dhcp-server

6️⃣ AppArmor / SELinux 限制(较少见)

Debian 默认 AppArmor 可能阻止日志/lease 文件写入。

查看:

sudo aa-status

三、常见配置文件示例(正确)

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;
}

网卡:

inet 192.168.1.1/24

四、快速排错流程(建议顺序)

dhcpd -t
ip a
cat /etc/default/isc-dhcp-server
systemctl status isc-dhcp-server
journalctl -xe

五、如果你愿意,我可以精确帮你定位

请贴出以下信息:

  1. Debian 版本(cat /etc/debian_version)
  2. 网卡名和 IP
  3. /etc/dhcp/dhcpd.conf 内容
  4. systemctl status isc-dhcp-server 输出

我可以直接告诉你是哪一行配置导致起不来。

0 踩