温馨提示×

如何调试debian dhcp故障

小樊
40
2026-09-20 04:03:04
栏目: 智能运维

在 Debian 上调试 DHCP 故障,可以按从下到上、从客户端到服务端的思路逐步排查。下面给出一套实用流程。


一、确认基本环境

1. 确认网络接口

ip addr
ip link

确认:

  • 网卡是否 up
  • 是否是正确的接口(如 eth0、ens18)

2. 确认 DHCP 客户端服务

Debian 通常使用:

  • dhclient
  • 或 systemd-networkd
  • 或 NetworkManager

查看当前由谁管理:

ps aux | grep -E 'dhclient|networkd|NetworkManager'

二、客户端调试(获取不到 IP)

1. 手动运行 dhclient 看详细日志

dhclient -v eth0

或释放后重试:

dhclient -r eth0
dhclient -v eth0

2. 抓包看 DHCP 交互

tcpdump -i eth0 port 67 or port 68 -n

正常应看到:

  • DHCP Discover
  • DHCP Offer
  • DHCP Request
  • DHCP ACK

如果只有 Discover 没有 Offer → 服务端或网络问题。


三、服务端调试(Debian DHCP Server)

Debian 常用 DHCP 服务:

  • isc-dhcp-server

1. 检查服务状态

systemctl status isc-dhcp-server
journalctl -u isc-dhcp-server -e

2. 配置文件检查

主配置:

/etc/dhcp/dhcpd.conf

监听接口:

/etc/default/isc-dhcp-server

示例:

INTERFACESv4="eth0"

3. 测试配置语法

dhcpd -t

4. 前台运行看实时日志

dhcpd -d -f

四、网络与防火墙问题

1. VLAN / 网桥

确认:

  • DHCP 服务监听在正确接口
  • 客户端在同一广播域

2. 防火墙(iptables / nftables)

确保允许:

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

五、常见故障速查表

现象 可能原因
无 IP 网卡 down / 接错口
只有 Discover 服务端未运行 / 防火墙
一直 Request IP 冲突 / 租约异常
获取到错误网段 subnet 配置错误
日志无输出 服务未监听接口

六、示例:最小可用 dhcpd.conf

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

如果你愿意,可以告诉我:

  • 是 客户端还是服务端 出问题
  • Debian 版本
  • 用的 DHCP 软件(isc-dhcp / dnsmasq / systemd)

我可以给你更精确的排错命令。

0 踩