温馨提示×

如何调试debian dhcp错

小樊
39
2026-10-25 10:11:34
栏目: 智能运维

在 Debian 上调试 DHCP 问题,通常分为**客户端(获取 IP)和服务端(提供 IP)**两类。下面按常见场景给你一套实用排错流程。


一、先确认你是在哪一端

  • 客户端问题:机器连不上网、拿不到 IP
  • 服务端问题:其他机器拿不到你 DHCP 服务器分配的 IP

二、DHCP 客户端调试(Debian 客户端)

1. 查看当前网络状态

ip addr
ip route

2. 手动请求 IP(看报错)

sudo dhclient -v eth0

或(新版 Debian):

sudo dhclient -v <网卡名>

-v 会显示 DHCP 交互过程

3. 查看系统日志

journalctl -u networking
journalctl -u dhclient

或老系统:

tail -f /var/log/syslog

4. 检查 /etc/network/interfaces

示例(DHCP):

auto eth0
iface eth0 inet dhcp

修改后重启:

sudo systemctl restart networking

5. NetworkManager 冲突(常见坑)

如果用了 NM:

nmcli device status
nmcli connection show

确保网卡未被 NM 和 /etc/network/interfaces 同时管理。


三、DHCP 服务端调试(isc-dhcp-server)

1. 服务状态

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

2. 配置文件语法检查

dhcpd -t

3. 前台调试运行(非常有用)

sudo dhcpd -d -f
  • -d:调试
  • -f:前台运行
    能看到每一次 DHCP 请求

4. 常见错误点

  • 子网声明不对:
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;
}
  • 网卡没监听:
ip addr

确认 DHCP 监听网卡在正确子网

5. 防火墙

iptables -L

确保 UDP 67/68 放行


四、抓包看 DHCP(终极调试)

sudo tcpdump -i eth0 port 67 or port 68

能看到:

  • Discover
  • Offer
  • Request
  • ACK

五、快速排查清单

✅ 网线 / 交换机
✅ 子网匹配
✅ 服务在跑
✅ 配置无语法错误
✅ 无 NM 冲突
✅ 防火墙没挡


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

  • Debian 版本
  • 是客户端还是服务器
  • 具体报错信息

我可以直接帮你定位。

0 踩