温馨提示×

Debian如何排查DHCP故障

小樊
45
2026-07-02 07:07:07
栏目: 智能运维

下面从排查思路 + 常用命令 + 典型故障点三个方面,系统梳理 Debian 下 DHCP 故障排查方法,适用于 DHCP 客户端(获取 IP)DHCP 服务器(提供服务) 两种场景。


一、先确认:是客户端问题还是服务器问题?

常见现象

  • 客户端无法获取 IP(一直 169.254.x.x)
  • 客户端获取慢
  • 客户端 IP 冲突
  • 服务器分配不到 IP / 日志无请求

二、客户端排查(最常见)

1️⃣ 确认网卡是否存在并启用

ip a
ip link

确保接口状态为 UP,例如:

2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP>

如果没 UP:

ip link set eth0 up

2️⃣ 确认 DHCP 客户端正在运行(DHCP 客户端类型)

Debian 常见 DHCP 客户端:

  • dhclient(isc-dhcp-client)
  • systemd-networkd
  • NetworkManager

检查 dhclient

ps aux | grep dhclient

手动发起 DHCP 请求:

dhclient -v eth0

检查 NetworkManager

nmcli device status
nmcli connection show

重启连接:

nmcli connection down id <连接名>
nmcli connection up id <连接名>

3️⃣ 抓包查看 DHCP 过程(最可靠)

tcpdump -i eth0 port 67 or port 68 -vv

正常 DHCP 流程应为:

DHCPDISCOVER
DHCPOFFER
DHCPREQUEST
DHCPACK

如果没有 DHCPOFFER服务器没响应


4️⃣ 查看系统日志

journalctl -u networking
journalctl -u NetworkManager
dmesg | grep eth

或传统日志:

cat /var/log/syslog | grep dhcp

5️⃣ 检查防火墙是否拦截 DHCP

DHCP 使用:

  • UDP 67(服务器)
  • UDP 68(客户端)
iptables -L -n -v
nft list ruleset

临时关闭测试:

iptables -P INPUT ACCEPT
iptables -P OUTPUT ACCEPT
iptables -F

6️⃣ /etc/network/interfaces 配置检查(非 NetworkManager)

cat /etc/network/interfaces

正确示例:

auto eth0
iface eth0 inet dhcp

应用配置:

ifdown eth0 && ifup eth0

三、DHCP 服务器排查(isc-dhcp-server)

1️⃣ 服务是否运行

systemctl status isc-dhcp-server

启动:

systemctl start isc-dhcp-server

2️⃣ 配置文件检查

cat /etc/dhcp/dhcpd.conf

常见错误:

  • subnet 写错
  • 没有 range
  • 网关 / DNS 写错

示例:

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

检查语法:

dhcpd -t

3️⃣ 监听接口是否正确

cat /etc/default/isc-dhcp-server

确保:

INTERFACESv4="eth0"

4️⃣ 查看服务器日志

journalctl -u isc-dhcp-server
cat /var/log/syslog | grep dhcpd

常见错误:

  • No subnet declaration
  • Address already in use
  • Permission denied

5️⃣ 确认服务器 IP 与 subnet 匹配

⚠️ DHCP 服务器 IP 必须属于它要服务的 subnet,否则不响应。

ip a

四、VM / 容器 / 交换机常见问题

场景 检查点
虚拟机 网络模式(桥接 / NAT)
容器 docker 网络 / macvlan
交换机 DHCP Snooping / VLAN
多 DHCP IP 冲突、多个 DHCP 抢答

五、快速排查清单(推荐顺序)

✅ 网卡 UP
✅ DHCP 客户端或网络服务正常
✅ tcpdump 看到的 DHCP 报文
✅ 防火墙未拦截
✅ 服务器 subnet / 接口配置正确
✅ 日志无报错


六、我可以继续帮你

你可以直接告诉我:

  • DHCP 客户端还是服务器
  • Debian 版本(cat /etc/debian_version
  • 报错日志或 tcpdump 输出

我可以针对你当前环境逐步定位问题

0