温馨提示×

怎样测试Debian DHCP连通

小樊
36
2026-07-15 21:11:55
栏目: 智能运维

要测试 Debian 上 DHCP 是否连通/正常工作,可以按下面步骤逐项排查。以下假设你的 Debian 既可能是 DHCP 客户端,也可能是 DHCP 服务器,我会分别说明。


一、测试 Debian 作为 DHCP 客户端(最常见)

1️⃣ 确认网络接口使用 DHCP

查看 /etc/network/interfaces/etc/netplan/(如果用 netplan):

cat /etc/network/interfaces

应有类似内容:

iface eth0 inet dhcp

或在 NetworkManager 中启用了 DHCP。


2️⃣ 重新获取 DHCP 地址

sudo dhclient -v eth0

观察输出中是否有:

  • DHCPDISCOVER
  • DHCPOFFER
  • DHCPREQUEST
  • DHCPACK

✅ 有 DHCPACK 表示 DHCP 连通成功。


3️⃣ 检查是否获得 IP

ip addr show eth0

或:

ifconfig

应看到:

inet 192.168.x.x

4️⃣ 检查路由和 DNS

ip route
cat /etc/resolv.conf

正常应有:

  • default route
  • nameserver(来自 DHCP)

5️⃣ 抓包确认 DHCP 交互(高级)

sudo tcpdump -i eth0 port 67 or port 68

或:

sudo dhclient -d eth0

二、测试 Debian 作为 DHCP 服务器(isc-dhcp-server)

1️⃣ 确认服务已启动

sudo systemctl status isc-dhcp-server

正常应为 active (running)


2️⃣ 检查配置文件

cat /etc/dhcp/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;
}

3️⃣ 查看 DHCP 日志

sudo journalctl -u isc-dhcp-server -f

或用:

sudo tail -f /var/log/syslog

看到:

DHCPDISCOVER
DHCPOFFER
DHCPREQUEST
DHCPACK

✅ 说明服务器正常响应。


4️⃣ 从客户端测试

在另一台机器上执行:

dhclient eth0

或在 Windows:

ipconfig /renew

三、常见问题排查

❌ 没有 DHCPOFFER

可能原因:

  • 防火墙拦截 UDP 67/68
  • DHCP 服务器未运行
  • 不在同一广播域
  • 网卡未 up

检查:

ip link
sudo iptables -L

❌ 有 IP 但无法上网

检查:

ping 8.8.8.8
nslookup www.baidu.com

四、快速判断 DHCP 是否“通”的总结

客户端

dhclient -v eth0
ip addr

服务器

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

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

  • Debian 是 客户端还是服务器
  • 实体机 / 虚拟机 / 容器
  • 网络环境(家用 / 企业 / 虚拟机网络)

我可以给你更精确的测试方案。

0