Kea DHCP冲突预留问题:如何清除192.168.1.2的现有租约?
清除ISC Kea DHCP冲突租约的方法
方法一:使用kea-shell官方工具(推荐)
kea-shell是Kea自带的管理CLI,无需停止服务即可操作:
- 连接到Kea控制服务(默认端口8000):
kea-shell -s http://localhost:8000 dhcp4 - 查询确认目标IP的租约信息:
lease4-get-address address=192.168.1.2 - 删除该租约:
lease4-del address=192.168.1.2 - 退出交互模式:
exit
方法二:直接操作文件型租约数据库
如果Kea使用默认的SQLite文件存储租约:
- 停止Kea DHCPv4服务:
systemctl stop kea-dhcp4-server - 定位租约文件(默认路径为
/var/lib/kea/lease4.db,可在Kea配置文件中确认) - 用sqlite3删除对应租约:
sqlite3 /var/lib/kea/lease4.db "DELETE FROM leases WHERE address = '192.168.1.2'" - 重启服务:
systemctl start kea-dhcp4-server
方法三:SQL数据库存储场景(MySQL/PostgreSQL)
若租约存储在SQL数据库中,执行对应SQL命令删除:
- MySQL:
DELETE FROM kea_lease4 WHERE address = INET_ATON('192.168.1.2'); - PostgreSQL:
DELETE FROM kea_lease4 WHERE address = '192.168.1.2'::inet;
额外排查建议
你遇到的预留识别问题大概率不是Bug,建议检查:
- 预留配置中的MAC地址格式是否与客户端实际发送的一致(Kea支持
aa:bb:cc:dd:ee:ff、aa-bb-cc-dd-ee-ff、aabbccddeeff等格式,需确保配置无错误) - 确认客户端发送的DHCP请求中MAC地址未被网络设备修改(比如交换机端口的MAC地址伪装)
内容的提问来源于stack exchange,提问作者skeetastax
相关产品推荐
相关产品推荐

