強制 Linux 伺服器在失去 IP 地址時自動嘗試獲取 IP 地址
我們為小型企業網路上的 Linux 伺服器使用靜態 DHCP 租約。最近 DHCP 伺服器發生了一些不好的事情,所有的 linux 伺服器最終都失去了它們的 IP 地址,因為它們在網路上找不到 DHCP 伺服器。
一天后快進,DHCP 伺服器重新啟動並執行,但伺服器似乎不再尋找 DHCP 伺服器,因此它們沒有 IP 地址,也沒有嘗試獲取 IP 地址。我最終不得不手動和物理地訪問每台伺服器並重新啟動網路,此時他們會立即取回他們的 IP 地址。
我可以在伺服器上做些什麼來防止將來出現這個問題嗎?我敢肯定,在 DHCP 伺服器關閉後,伺服器可能會嘗試更新 IP 地址一段時間,但最終他們顯然只是停止了嘗試。
顯然,一個解決方案是擁有一個備用 DHCP 伺服器,但讓我們假裝這不是一個選項。有什麼方法可以強制伺服器無限期地更新他們的 IP 嗎?
伺服器是 CentOS 和 Fedora 的混合體。
他們恢復到 APIPA 定址了嗎?169.254.0.0/16?您可以使用/etc/sysconfig/network 中的NOZEROCONF=Yes指令禁用它。
您還應該將 DHCP 租約延長為 DHCP 伺服器最長合理中斷間隔的兩倍。客戶通常會在嘗試續訂之前等待租用期的一半;如果他們每隔幾天才檢查一次,那麼您就有很大的餘地來修復伺服器或建立新的伺服器。
我們在生產中執行完全保留的 DHCP;這不是可靠性問題。事實上,我認為靜態 IP 定址是人們堅持的最後的手動操作之一,它在很大程度上是不合時宜的。我沒有做過正式的分析,但三年來我們遇到了一個與 DHCP 相關的問題,那就是管理員的胖手指錯誤地觸發了“立即發布”腳本。在“糟糕”原因的直方圖上,DHCP 在長尾上遙遙領先。
我知道每個人都喜歡在 Windows 上做渣滓,但是當禁用 APIPA 並啟用 DHCP 時 IME,Windows 機器非常頑強地堅持他們最後一次分配的 DHCP 是什麼。經過幾個月的封存後,我已經啟動了機器,wireshark 顯示它們要求最後一個 DHCP 分配的地址。