Debian客户端从TP-Link Deco获取DHCP租约时出现NAK错误求助
解决Debian客户端连接TP-Link Deco时的DHCP NAK错误与无效DNS问题
问题现象
- 已在TP-Link Deco路由器(网关
192.168.68.1)配置Debian客户端的固定IP预留192.168.68.111,但客户端获取DHCP租约时出现NAK错误:
eth0: offered 192.168.68.111 from 192.168.68.1 Oct 26 20:22:42 home dhcpcd[654]: eth0: NAK: REQUEST for invalid Requested IP Address from 192.168.1.1 Oct 26 20:22:42 home dhcpcd[654]: eth0: message: REQUEST for invalid Requested IP Address
- 系统
resolv.conf被写入不存在的DNS服务器192.168.1.1:
nameserver 192.168.1.1 nameserver 192.168.68.1
/var/lib/dhcp/dhclient.leases中也记录了该无效DNS地址:
lease { interface "eth0"; fixed-address 192.168.68.111; option subnet-mask 255.255.255.0; option dhcp-lease-time 7200; option routers 192.168.68.1; option dhcp-message-type 5; option dhcp-server-identifier 192.168.68.1; option domain-name-servers 192.168.1.1,192.168.68.1; renew 3 2022/10/26 21:02:02; rebind 3 2022/10/26 21:59:27; expire 3 2022/10/26 22:14:27; }
解决步骤
1. 清理旧DHCP租约文件
Debian客户端会缓存旧租约信息,先删除旧文件:
sudo rm /var/lib/dhcp/dhclient.leases
2. 强制重新获取DHCP租约
重启dhcpcd服务或直接释放并重新请求租约:
sudo dhcpcd -k eth0 && sudo dhcpcd eth0
若使用systemd管理服务:
sudo systemctl restart dhcpcd.service
3. 检查路由器DHCP配置
- 登录TP-Link Deco管理界面,确认DHCP服务器设置中仅配置有效DNS(如
192.168.68.1),移除192.168.1.1。 - 核对固定IP预留条目的MAC地址,确保与Debian客户端eth0的MAC完全匹配。
4. 锁定resolv.conf防止错误覆盖(可选)
若清理租约后仍出现无效DNS,手动编辑并锁定文件:
sudo nano /etc/resolv.conf
修改为仅保留有效DNS:
nameserver 192.168.68.1 nameserver 8.8.8.8 # 可选公共DNS
锁定文件避免被dhcpd修改:
sudo chattr +i /etc/resolv.conf
需要修改时解锁:
sudo chattr -i /etc/resolv.conf
5. 排查网络中的额外DHCP服务器
日志中192.168.1.1的响应说明可能存在未授权DHCP服务器,扫描排查:
sudo nmap -sU -p 67 --script dhcp-discover 192.168.68.0/24
若发现其他DHCP服务器,关闭对应设备的DHCP服务。
内容的提问来源于stack exchange,提问作者Jacek K
相关产品推荐
相关产品推荐

