Debian 接口文件 - 忽略来自 dhcp 的网关和 dns 条目

Kar*_* T. 4 networking dhcp debian

在 gentoo 中,这很简单:

dhcp_ethX="nodns nogateway"

我应该如何在接口文件中解决这个问题?

小智 10

编辑 /etc/dhcp3/dhclient.conf

检查线:

#prepend domain-name-servers 127.0.0.1;
Run Code Online (Sandbox Code Playgroud)

并取消注释并设置您要使用的任何 dns 服务器

然后在下面的请求部分会有这样的东西:

request subnet-mask, broadcast-address, time-offset, routers,
        domain-name, domain-name-servers, host-name,
        netbios-name-servers, netbios-scope, interface-mtu;
Run Code Online (Sandbox Code Playgroud)

删除域名服务器和路由器,这应该通过 dhcp 删除 dns 服务器和路由器/网关请求


Rya*_*n H 5

虽然没有完全按照您的要求执行,但ifmetric包可能会提供更好的解决方案。

sudo aptitude install ifmetric
Run Code Online (Sandbox Code Playgroud)

然后在您的/etc/network/interfaces文件中为您的接口分配指标。请注意,没有指标与拥有指标相同。

allow-hotplug eth0
iface eth0 inet dhcp
    metric 1

allow-hotplug eth1
iface eth1 inet dhcp
Run Code Online (Sandbox Code Playgroud)

以上使得当eth1插入时,它的路由将优先于来自eth0 的路由。这可能会更好,因为您允许路由进行故障转移,因此即使拔下eth1接口,它仍然具有默认路由。

这不会影响 dns 设置,因此根据您的需要,您可能仍然需要取消注释并修改/etc/dhcp3/dhclient.conf 中的行:

#prepend domain-name-servers 127.0.0.1;
Run Code Online (Sandbox Code Playgroud)

并从紧随其后的请求列表中删除域名服务器