Debian DHCP 服务与路由器冲突/租约异常?
在 Debian 部署 DHCP 服务后与路由器 DHCP 冲突、租约错乱。确认网段内只跑一个 DHCP 源、地址池不重叠,并核对服务配置与租约文件,区分「双 DHCP」与「池配错」两类问题。
简短答案
同一段网络里不止一个 DHCP 源(Debian 的 DHCP 服务 + 路由器自带 DHCP)是冲突/租约错乱的头号原因。先确认全段只有一个 DHCP 权威,再核对 Debian 侧地址池没和别人重叠。两类问题处理方式不同。
现象对照
| 现象 | 含义 |
|---|---|
| 设备一会拿到这个地址、一会拿到那个 | 段里有两个 DHCP 源在抢 |
| 某台设备拿到不在池内的地址 | 地址池/范围配错 |
| 租约文件混乱、大量残留 | 租约文件损坏或池被改过 |
排查步骤
# 1. 看 Debian 上 DHCP 服务在跑没、监听在哪
systemctl status <dhcp服务名> --no-pager
sudo ss -ulnp | grep 67
# 2. 看服务配置里的地址池范围(以实际配置文件为准)
sudo grep -E 'range|subnet' /etc/<dhcp目录>/
# 3. 全段找其它 DHCP 源:临时抓包看 DHCPOFFER 来自哪个地址
sudo tcpdump -i <网卡> -n port 67 or port 68
- 段里有多个 DHCP 源:关掉/旁路其中一个(通常是路由器自带 DHCP),让全段只剩 Debian 这一个权威;改前记录原状态,好回退。
- 地址池重叠:核对 Debian 侧 range 与固定 IP 段,别和其它设备/池撞上,池的大小与位置以实际网络规划为准。
- 租约错乱:备份租约文件后重置服务(具体租约文件路径以条目页为准),别直接删生产租约记录不留备份。
注意:关路由器 DHCP 前先确认段里其它设备不依赖它,否则全段断网;服务名与配置文件路径视版本而定,安装与配置基线见 Debian 13.7.0 DVD-1 条目,总览 Debian 索引,服务器场景 Debian 13.7.0 netinst 条目。
操作小结
ss -ulnp | grep 67确认 Debian DHCP 在监听。- 抓包找出段内所有 DHCP 源,只留一个权威。
- 核对地址池不重叠、不撞固定 IP。
- 租约错乱先备份租约文件再重置。