我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
如何忽略DNS
从DHCP
服务器获取的信息?
答案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。