温馨提示×

如何修复Debian DHCP故障

小樊
46
2026-09-01 21:47:43
栏目: 智能运维

下面按排查思路 + 常见故障点 + 修复步骤来说明,适用于 Debian 上的 ISC DHCP(isc-dhcp-server) 或较新的 Kea DHCP


一、先确认问题现象

常见表现:

  • 客户端获取不到 IP
  • 获取到的 IP 不在预期网段
  • Debian 本身作为 DHCP 客户端连不上网络
  • 服务起不来(failed to start dhcp server

二、基础排查(必做)

1. 查看服务状态

systemctl status isc-dhcp-server
# 或 Kea
systemctl status kea-dhcp4-server

看是否有:

  • 配置文件错误
  • 网卡未监听
  • 端口占用(67/UDP)

2. 查看日志

journalctl -u isc-dhcp-server -e
# 或
tail -n 50 /var/log/syslog

常见关键词:

  • Not configured to listen on
  • Address already in use
  • No subnet declaration

三、ISC DHCP 常见故障与修复

故障 1:服务起不来(网卡未监听)

原因:没指定监听网卡

修复

nano /etc/default/isc-dhcp-server

确认:

INTERFACESv4="eth0"

然后:

systemctl restart isc-dhcp-server

故障 2:配置文件错误

检查语法

dhcpd -t

典型配置示例

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

注意:

  • 每个监听网卡必须有对应 subnet
  • 不能有语法错误(少分号最常见)

故障 3:IP 冲突或地址池耗尽

查看租约:

cat /var/lib/dhcp/dhcpd.leases

解决:

  • 扩大 range
  • 缩短 lease 时间
default-lease-time 600;
max-lease-time 7200;

故障 4:防火墙挡住 DHCP

DHCP 用 UDP 67/68

iptables -A INPUT -p udp --dport 67 -j ACCEPT

或(nftables):

nft add rule inet filter input udp dport 67 accept

四、Debian 作为 DHCP 客户端故障

1. 网卡未启用 DHCP

nano /etc/network/interfaces

示例:

auto eth0
iface eth0 inet dhcp

重启网络:

systemctl restart networking

2. 使用 NetworkManager 时

nmcli con mod eth0 ipv4.method auto
nmcli con up eth0

3. 手动测试

dhclient -v eth0

五、Kea DHCP(新系统)

配置文件位置:

/etc/kea/kea-dhcp4.conf

验证:

kea-dhcp4 -t /etc/kea/kea-dhcp4.conf

六、快速自检清单 ✅

  • [ ] 服务已启动
  • [ ] 网卡配置正确
  • [ ] subnet 匹配网卡
  • [ ] 防火墙放行 67/UDP
  • [ ] 地址池未耗尽
  • [ ] 无 IP 冲突

如果你愿意,可以贴出:

  • systemctl status
  • /etc/dhcp/dhcpd.conf
  • 网卡名和 IP 段

我可以帮你精准定位并给出修改方案

0