我正在使用 dnsmasq 为大约 200 个 vserver 提供 IP。租期是无限的:dhcp-range=10.0.1.2,10.0.1.254,infinite
我不知道为什么,但是 1 个虚拟服务器更改了 IP。假设 MAC 地址已更改。
我希望虚拟服务器恢复其旧 IP,因此我关闭了接口并编辑了 /var/lib/misc/dnsmasq.leases(更改了新/旧 IP)
重启后,vserver 再次出现错误的新 IP。所以我认为 /var/lib/misc/dnsmasq.leases 只是一个日志文件?!
我解决了在控制台上更改虚拟服务器 IP 的问题 - 重启后虚拟服务器使用的是旧 IP。
但我想了解 - dnsmasq 如何保存“我想将此 IP 提供给此 MAC”的信息以及我该如何更改它?!
答案1
答案2
我忘记在编辑 dnsmasq.leases 之前停止 dnsmasq 服务。
从https://wiki.gentoo.org/wiki/Dnsmasq
如果客户端的网络接口更新导致 MAC 地址发生变化,则可能无法立即获得预期的 IP 地址。这是因为 dnsmasq 服务已将此 IP 地址提供给旧 MAC 地址,并将等到此地址的租约到期后再重新分配。
dnsmasq 服务将其租约存储在 /var/lib/misc/dnsmasq.leases 中。如果需要更快地删除租约,请关闭 dnsmasq 服务,从 dnsmasq.leases 文件中删除租约,然后重新启动该服务。