我从192.168.0.0/24
networking切换到10.10.10.0/24
。 地址由dnsmasq-dhcp
。
所有设备的交换机都没有问题,只有一台打印机(称为PRINTER
)。 根据打印机在/etc/hosts
定义的名称(通过dhcp-host=PRINTER
)为该打印机分配了一个固定IP,并且仍然使用新的范围。
当它请求IP地址时,DHCP服务器在其日志中声明
dnsmasq-dhcp: not giving name PRINTER to the DHCP lease of 192.168.0.20 because the name exists in /etc/hosts with address 10.10.10.20
我不明白这个消息:名字确实存在于/etc/hosts
,现在是新的10.10.10.20
地址。 虽然我猜想从打印机的DHCP查询暗示它曾经有的旧IP地址,为什么不dnsmasq
只是忽略,并提供新的IP地址?
检查您的打印机名称是否为旧IP:/var/lib/misc/dnsmasq.leases并编辑该文件,您必须先停止dnsmask
检查您在configurationdhcp时设置的租用时间,如果您分配了太多时间,则需要一段时间才能“自行修复”
首先,我将假定您的打印机正在正确实施DHCP和DDNS更新,但事实并非如此。 我还假设它获得的原始租约尚未到期。 如果您在到期后收到此消息,那么您可能正在处理不正确的DHCP实施。
您的打印机获得了192.168.0.20的租约,并被告知这将在X天内有效。 在此之前的一段时间,您将范围更改为10.10.10.0/24。 打印机仍然有一个技术上有效的地址租约,虽然不合要求。
在租赁期间,设备通常要求续约和/或DDNS更新。 由于原来的地址不再适用于新的租约,因此续租明显下降,但这并不意味着打印机将停止使用它。 它可能不会要求一个新的地址,直到最初的租约已经到期。 这不是一个错误。
尽pipe名称更新似乎是触发错误的原因。 取决于您的configuration,它可能是请求更新名称的打印机,或代表打印机请求续订的DHCP服务器。 名称更新被拒绝,因为它所绑定的地址不再是服务器上的有效地址。 服务器部件足够聪明,可以知道这一点,但是设备会一直挂着,直到再次尝试,并可能成功。
更新过程基本上是客户或其代理,询问是否可以继续在该地址上使用该名称。 服务器回答“是”或“否”,但不会说“不,但是用这个来代替”。
快捷方式是让你的打印机释放它的租约,并得到一个新的。 通常你可以通过networking界面来做到这一点,有时候也可以通过电源循环。