Ubuntu

多個 DHCP 上行鏈路 - 如何忽略除一個之外的所有 DNS 和預設路由?

  • October 17, 2018

多宿主機需要為 DHCP 配置多個上行鏈路。它需要忽略除一個DHCP 上行鏈路之外的所有預設路由和 DNS。

這裡有一個類似的問題 [ Debian 介面文件 - 忽略來自 dhcp 的網關和 dns 條目],但那裡的答案並不能解決我的問題:

  • 編輯全域 DHCP 客戶端配置 (/etc/dhcp$$ 3 $$/dhclient.conf) 將導致在所有DHCP 上行鏈路上忽略預設路由和 DNS。
  • ifmetric建議僅涉及路由,而不涉及 DNS。

另外,我希望自 2009 年以來情況有所改變。

請注意,我說的是無頭嵌入式系統。NetworkManager 不是一個選項。

首選解決方案僅是 /etc/network/interfaces{.d/}。我正在尋找這樣的東西:

auto  eth0
iface eth0 inet dhcp

auto  eth1
iface eth1 inet dhcp
   ignore-dhcp-option routers domain-name-servers domain-name

附錄:

我們在各種環境中安裝了幾十個這樣的盒子。網路不在我們的控制之下。在某些情況下,盒子需要在多個介面上執行 DHCP。我們通常事先不知道預設路由和 DNS,即使它們知道,它們也可能會隨著時間的推移而更改,恕不另行通知。因此,我們不能靜態設置它們,而必須通過“主”DHCP 客戶端進行配置。

(我仍然對僅 touch 的解決方案感興趣/etc/network/interfaces{,.d/},但不是/etc/dhcp/。在沒有此類解決方案的情況下,我使用這個。)

在中,從全域語句/etc/dhcp*/dhclient.conf中刪除選項。然後添加這個(假設是預設路由和 DNS 不應被忽略的設備**)**:routers, domain-name-servers, domain-name, domain-search``request``eth0

interface "eth0" {
   also request routers, domain-name-servers, domain-name, domain-search;
}

該解決方案至少適用於 isc-dhcp-client 版本 4.2.2.dfsg.1-5+deb70u8,因為它隨 Debian 7 一起提供。我認為它也適用於更高版本。


編輯:

  • 確認最初的想法有微小的變化(eth0必須引用,應該是request,不是required
  • 指定適用的 dlclient 版本

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