在 Ubuntu 中忽略来自 DHCP 服务器的 DNS

在 Ubuntu 中忽略来自 DHCP 服务器的 DNS

DNS/etc/resolvconf/resolv.conf.d/base文件中设置静态:

nameserver 8.8.8.8
nameserver 8.8.4.4

但我的电脑仍然从 DHCP 获取 DNS,这是我的/etc/resolv.conf

nameserver 192.168.100.2 
nameserver 8.8.8.8
nameserver 8.8.4.4

如何忽略DNSDHCP服务器获取的信息?

答案1

您可以将此行添加到您的/etc/dhcp/dhclient.conf

supersede domain-name-servers 8.8.8.8, 8.8.4.4;

然后重新启动网络或运行dhclient进行更改。

man dhclient.conf

The supersede statement

       supersede [ option declaration ];

       If for some option the client should always  use  a  locally-configured
       value  or  values rather than whatever is supplied by the server, these
       values can be defined in the supersede statement.

答案2

将脚本放入/etc/dhcp/dhclient-enter-hooks.d其中:

make_resolv_conf() { : ; }

使其可执行。完毕。除了使 resolv.conf 不可变之外,这是我发现的唯一 100% 可靠的方法,可以防止 dhclient 破坏 resolv.conf。

相关内容