哪个程序修改了/etc/resolv.conf?

Xiè*_*léi 3 networking debian-squeeze

我正在使用网络管理器自动连接到无线网络。我已经使用 BIND 9 设置了我的个人 DNS 服务器。

截屏

连接后,似乎就好了:

$ cat /etc/resolv.conf
# Generated by NetworkManager
nameserver 127.0.0.1
Run Code Online (Sandbox Code Playgroud)

但是30分钟左右,文件/etc/resolv.conf被未知程序覆盖,内容变成:

domain domain
search domain
nameserver 208.67.222.222
nameserver 8.8.4.4
Run Code Online (Sandbox Code Playgroud)

问题是,我怎么知道哪个程序改变了/etc/resolv.conf?或者,如何强制它使用本地名称服务器?

Dav*_*man 6

这几乎可以肯定是 DHCP 客户端(dhclient,显然,根据您的评论)重置resolv.conf以匹配它从 DHCP 服务器接收的值。

为了,呃,解决这个问题,找到dhclient.conf(我/etc/dhcp3/dhclient.conf在 Ubuntu 中有它)并使用prepend domain-name-servers命令将你自己的 DNS 放在 DHCP 服务器的值之前,或者supersede domain-name-servers只使用你自己的,完全忽略 DHCP 给出的那些。