温馨提示×

debian dhcp如何查冲突

小樊
44
2026-10-25 10:16:35
栏目: 智能运维

在 Debian 下排查 DHCP 地址冲突,可以从 DHCP 服务端、客户端 和 网络层 三个角度来做。下面按常见场景说明。


一、DHCP 服务端(isc-dhcp-server)

1. 查看 DHCP 租约文件

DHCP 服务器会记录已分配地址:

cat /var/lib/dhcp/dhcpd.leases

重点看:

  • lease 192.168.1.x
  • hardware ethernet xx:xx:xx:xx:xx:xx
  • binding state active

如果有 同一个 IP 被不同 MAC 反复绑定,很可能冲突。


2. 开启 DHCP 日志

编辑:

/etc/dhcp/dhcpd.conf

加入:

log-facility local7;

然后看日志:

journalctl -u isc-dhcp-server
# 或
tail -f /var/log/syslog

典型冲突日志:

DHCPDECLINE
DHCPNAK
duplicate address

3. 使用 dhcpd -d 前台调试(临时)

systemctl stop isc-dhcp-server
dhcpd -d -f

能看到实时分配与拒绝过程。


二、网络中是否存在“非 DHCP 静态 IP 冲突”

这是最常见原因。

1. 检测 IP 是否已被占用

arping -I eth0 192.168.1.100

如果有多个 MAC 回复,说明 IP 冲突。


2. 扫描局域网

nmap -sn 192.168.1.0/24

对比:

  • DHCP 分配表
  • 实际在线设备

3. 查看 ARP 表

ip neigh

一个 IP 对应多个 MAC = 冲突。


三、客户端角度(Debian 客户端)

1. 客户端检测到冲突

DHCP 客户端会发送 DHCPDECLINE
查看:

journalctl -u dhclient
# 或
cat /var/log/syslog | grep dhclient

2. 手动释放并重新获取

dhclient -r eth0
dhclient eth0

四、防止 DHCP 冲突的常用做法

✅ 方法 1:划分静态 IP 段

subnet 192.168.1.0 netmask 255.255.255.0 {
  range 192.168.1.100 192.168.1.200;
}

静态设备用 .2–.99


✅ 方法 2:DHCP 固定绑定

host pc1 {
  hardware ethernet aa:bb:cc:dd:ee:ff;
  fixed-address 192.168.1.50;
}

✅ 方法 3:开启 ping-check

ping-check true;

分配前先 ping 一下 IP。


五、快速排查流程(推荐)

  1. arping IP
  2. 看 /var/lib/dhcp/dhcpd.leases
  3. 看 journalctl -u isc-dhcp-server
  4. 扫描网段 nmap -sn
  5. 检查是否有手动配置 IP

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

  • 你是 DHCP 服务器 还是 客户端
  • 网络环境(家庭 / 公司 / 虚拟机)
  • 使用的 DHCP 软件(isc-dhcp / dnsmasq)

我可以直接给你针对性命令。

0 踩