为什么我的resolv.conf文件每次都会重新生成?

我的/etc/resolv.conf文件每次都重新生成,当我重新连接我的3G调制解调器时,让我放松了谷歌DNS服务器。

为了更改DNS设置,我查看了http://code.google.com/intl/fr-FR/speed/public-dns/docs/using.html 。

我的dhclient.conf很大(58行),所以我把它发布在pastebin上 。

但是,这里是没有注释行或空行的整个dhclient.conf

 option rfc3442-classless-static-routes code 121 = array of unsigned integer 8; send host-name ""; request subnet-mask, broadcast-address, time-offset, routers, domain-name, domain-name-servers, domain-search, host-name, netbios-name-servers, netbios-scope, interface-mtu, rfc3442-classless-static-routes, ntp-servers; prepend domain-name-servers 8.8.8.8, 8.8.4.4; 

我使用wvdial而不是网络管理器。

在12.04中,默认安装resolvconf。 以下是如何针对一些常见用例进行DNS配置更改的快速摘要:

对于使用ifup的静态配置,请在/etc/network/interfaces使用dns-nameserversdns-search条目。

对于使用NetworkManager的静态配置,请选择Automatic (DHCP) addresses only Method并在“连接编辑器”的“ Additional DNS serversAdditional search domains字段中输入地址和域名。

要覆盖resolvconf的默认配置,请在/etc/resolvconf/resolv.conf.d/使用baseheadtail 。 仅在这些文件中输入地址和域名作为临时措施,因为它们确实属于其他地方,如上所述。

建议不要禁用resolvconf,但可以使用常规文件替换symlink /etc/resolv.conf

有关更多信息,请参阅StéphaneGraber的博客文章 。

如果您只想将您的Google DNS服务器保存在resolv.conf中,则可以进行编辑
/etc/dhcp3/dhclient.conf并添加:

 prepend domain-name-servers 8.8.8.8; prepend domain-name-servers 8.8.4.4; 

你所拥有的和我在这里展示的唯一区别在于,根据你提到的文档,你在一行上都有两个名字服务器。

除非我遗漏了什么,否则你的dhclient.conf不是问题。 在这一点上,我假设这个问题与wvdial有关。

从ubuntuforums中可以尝试以下内容 :

 gksudo gedit /etc/ppp/peers/wvdial 

REMOVE参数usepeerdns并保存文件。 码:

 gksudo gedit /etc/wvdial.conf 

添加以下行:

 check DNS = no auto DNS = no 

通过CLI设置名称服务器,没有NetworkManger,使用静态地址或独立于连接的最佳方法是:

安装resolvconf包。

 sudo nano /etc/resolvconf/resolv.conf.d/head 

(忽略可怕的警告。/ etc / resolv.conf是自动生成的,所以警告就在那里,所以当生成/etc/resolv.conf时它会被放入/etc/resolv.conf。)到文件末尾,加

  nameserver  

Ctrl x并回答“是”以保存文件。 要完成,请重新生成/etc/resolv.conf,以便立即应用更改:

  sudo resolvconf -u 

您可以设置domain-name-servers dhclient.conf选项。

我用以下命令解决了同样的问题:

 echo "nameserver 212.217.0.1" >> /etc/resolvconf/resolv.conf.d/head ln -s /etc/resolvconf/resolv.conf.d/head /etc/resolv.conf resolvconf -u /etc/init.d/networking restart 

你可以安装数据包resolvconf。 在这种情况下,每当界面出现时,都会更新resolv.conf。 您可以使用/etc/resolv.conf.tail文件添加静态条目,有关详细信息,请参见resolv.conf的手册页。

我有完全相同的问题,我的移动服务提供商提供的DNS服务器相当差,所以我想使用谷歌的DNS。 此外,NetworkManager在处理移动宽带连接方面做得很差,因此wvdial是必需的。

事实certificate,/ /etc/resolv.confubuntu 12.10的符号链接,甚至可能是12.04 。 以下是我所做的sudo unlink /etc/resolv.conf之后,您可以使用vim或您选择的编辑器创建一个新的resolv.conf ,并添加谷歌的名称服务器或您喜欢的任何其他名称服务器。 保存它,你就完成了。

如果您害怕破坏某些东西,可以在unlinking链接之前通过执行ls -la /etc/resolv.conf记录现有的符号链接。

希望能帮助到你。