为什么我的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-nameservers
和dns-search
条目。
对于使用NetworkManager
的静态配置,请选择Automatic (DHCP) addresses only
Method
并在“连接编辑器”的“ Additional DNS servers
和Additional search domains
字段中输入地址和域名。
要覆盖resolvconf的默认配置,请在/etc/resolvconf/resolv.conf.d/
使用base
, head
和tail
。 仅在这些文件中输入地址和域名作为临时措施,因为它们确实属于其他地方,如上所述。
建议不要禁用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.conf
是ubuntu 12.10
的符号链接,甚至可能是12.04
。 以下是我所做的sudo unlink /etc/resolv.conf
之后,您可以使用vim
或您选择的编辑器创建一个新的resolv.conf
,并添加谷歌的名称服务器或您喜欢的任何其他名称服务器。 保存它,你就完成了。
如果您害怕破坏某些东西,可以在unlinking
链接之前通过执行ls -la /etc/resolv.conf
记录现有的符号链接。
希望能帮助到你。