Dhcp

如何丟棄 DHCP 請求的舊 IP 地址(並提供新 IP 地址)?

  • March 18, 2016

我從192.168.0.0/24網路切換到10.10.10.0/24. 地址由 提供dnsmasq-dhcp

該開關適用於所有設備,但只有一台 - 一台列印機(稱為PRINTER)。/etc/hosts這台列印機根據(via )中定義的名稱分配了一個固定 IP,dhcp-host=PRINTER並且仍然使用新範圍。

當它請求 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

檢查配置 dhcp 時設置的租用時間,如果分配的時間過多,則需要一段時間才能“修復”自身

首先,我假設您的列印機正在正確實施 DHCP 和 DDNS 更新,但這並不總是正確的。我還假設它獲得的原始租約尚未到期。如果您過期後收到此消息,那麼您可能正在處理不正確的 DHCP 實施。

您的列印機獲得了 192.168.0.20 的租約,並被告知其有效期為 X 天。在此之前的某個時間,您將範圍更改為 10.10.10.0/24。列印機仍然有一個在技術上有效的地址租約,儘管是不可取的。

在租約期間,設備請求續租和/或 DDNS 更新是很常見的。租約續訂顯然被拒絕,因為原始地址不再對租約有效,但這並不意味著列印機將停止使用它。在原始租約完全到期之前,它可能不會請求新地址。這不是錯誤。

不過,名稱更新似乎是觸發錯誤的原因。根據您的配置,它可能是請求名稱更新的列印機,或代表列印機請求更新的 DHCP 伺服器。名稱續訂被拒絕,因為它所綁定的地址不再是伺服器上的有效地址。伺服器部分很聰明,知道這一點,但設備會一直掛到痛苦的結局,然後再試一次,並且可能會成功。

續訂過程基本上是客戶或其代理人詢問是否可以繼續在該地址上使用此名稱。伺服器可以回答“是”或“否”,但不會說“不,但改用這個”。

捷徑是讓您的列印機釋放其租約並獲得新的。您通常可以通過 Web 界面執行此操作,有時也可以通過電源循環來執行此操作。

引用自:https://serverfault.com/questions/764679