多个DHCP上行链路 – 如何忽略除一个之外的DNS和默认路由?

多宿主机箱需要多个上行链路configuration为DHCP除了一个 DHCP上行链路外,它需要忽略默认路由和DNS。

在这里有一个类似的问题[ Debian接口文件 – 从dhcp忽略网关和DNS条目 ],但那里的答案不能解决我的问题:

  • 编辑全局DHCP客户端configuration(/etc/dhcp[3]/dhclient.conf)将导致在所有 DHCP上行链路上忽略默认路由和DNS。
  • ifmetricbuild议只处理路由,而不是DNS。

另外,我希望自2009年以来事情发生了变化。

请注意,我正在谈论无头embedded式系统。 NetworkManager不是一个选项。

首选解决scheme仅为/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 

附录:

我们有几十个安装在各种环境中的盒子。 networking不在我们的控制之下。 在某些情况下,这些设备需要在多个接口上进行DHCP。 默认的路由和DNS通常是我们事先不知道的,即使它们可能随时间而改变,恕不另行通知。 因此,我们不能静态设置它们,但必须通过“主”DHCP客户端来configuration它们。

通过添加到/etc/dhcp/dhcliet.conf解决同样的问题:

 interface "eth0" { prepend domain-search "my.domain"; prepend domain-name-servers 127.0.0.1; # for using dnsmasq without -r option request subnet-mask, broadcast-address, time-offset, routers, domain-name-servers, domain-name, domain-search, host-name, dhcp6.name-servers, dhcp6.domain-search, netbios-name-servers, netbios-scope, interface-mtu, rfc3442-classless-static-routes, ntp-servers, dhcp6.fqdn, dhcp6.sntp-servers; require routers, domain-name-servers, domain-name, domain-search, host-name; 

}

并从configuration中删除全局参数request

我find了答案候选人,我还没有testing,我想避免。 我希望有人提出一个/ etc / network / interfaces解决scheme。

/etc/dhcp*/dhclient.conf ,从全局request语句中删除选项routers, domain-name-servers, domain-name, domain-search 。 然后添加(假设eth0是默认路由和DNS 不会被忽略的设备):

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

下周会试试看,并报告是否有效。