Ubuntu
多個 DHCP 上行鏈路 - 如何忽略除一個之外的所有 DNS 和預設路由?
多宿主機需要為 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 版本