如何使 DHCP 伺服器優先於其他伺服器

如何使 DHCP 伺服器優先於其他伺服器

我們有一個路由器,它也充當 DHCP 伺服器。但是,它不提供太多配置,因此它始終提供 IPv6 和 IPv4 DNS 伺服器,這會導致某些裝置無法查看 LAN 上的某些伺服器,這些伺服器需要 DNS 覆蓋才能傳回本機位址,而不是傳回本機位址。世界可見地址。

我們正在考慮的一種可能的解決方法是在其中一台伺服器上設定 DHCP 伺服器。如果伺服器已啟動,那麼它將發送 DHCP 回复,這些回復是根據要使用的 DNS 伺服器正確設定的。我們只能運行這個 DHCP 伺服器,但是如果這台機器由於某種原因出現故障,那麼似乎一切都會崩潰,因為沒有其他 DHCP 伺服器可以彌補這一不足。但是,如果我們將 DHCP 伺服器作為備份運行(因為它很少出現故障),那麼我們需要以某種方式給它較低的優先權,以便它不會分發地址,除非其他伺服器不回复或故障。

我們該怎麼做?

答案1

不幸的是,DHCP 協定沒有提供執行此操作的方法。

DHCP RFC 規定,如果用戶端收到多個 DHCP OFFER(例如,來自多個伺服器),則用戶端可以決定接受哪個 OFFER。但它將選擇演算法作為 DHCP 客戶端實現者的實作細節。

我知道Apple 的DHCP 用戶端(在macOS、iOS、watchOS、tvOS、HomePod 等中)有一個啟發式方法,可以選擇包含更多DHCP 選項的OFFER,這是基於「真正的」企業DHCP 伺服器更有可能被設定這一令人驚訝的可靠假設提供大量額外的DHCP 選項(例如要使用的LDAP 和WINS 伺服器清單),而某些消費者家庭網路設備中的一些隨機嵌入式DHCP 伺服器將具有更短的DHCP選項清單(例如Wi-Fi 家庭閘道路由器)意外插入公司 LAN)。

我無法談論其他 DHCP 客戶端實作(例如 Windows、Android 或其他 Linux 等)中的 DHCP OFFER 選擇演算法。了X 毫秒後看到的最後一個報價。確實沒有辦法知道。您可以仔細閱讀流行的開源 DHCP 用戶端實現的源代碼,但我懷疑是否有辦法找出不同版本的 Windows DHCP 用戶端的功能,除非 Microsoft 碰巧在某處公開記錄了它。

相關內容