如何通过resolv.conf添加一个DNS服务器?

Ubuntu 12.04 LTS (Precise Pangolin)中,/etc/resolv.conf是否无用?

我看到DNS服务器的信息现在存储在NetworkManagernmcli命令行工具可以为你列出。

如果我想再增加一个DNS服务器,通过使用resolvconf包将其添加到/etc/resolv.conf中是否有帮助?

解决办法

如果/etc/resolv.conf包含nameserver 127.0.0.1,那么在/etc/resolvconf/resolv.conf.d/tail中添加条目并没有什么用。

如果你使用NetworkManager,那么你应该通过network indicator静态地添加命名服务器地址。Edit Connections...|编辑...| IPv4设置 | 附加DNS服务器

如果你真的想在"/etc/resolv.conf "中添加更多条目,可以创建一个"/etc/resolvconf/resolv.conf.d/tail "并在那里添加它们。

与每一个Ubuntu版本一样,建议阅读Ubuntu发行说明,可在此查阅。

桌面和公共基础设施部分包含了一个链接到

  • http://www.stgraber.org/2012/02/24/dns-in-ubuntu-12-04/,涵盖了12.04中DNS基础设施的变化
评论(5)

听起来你是在谈论 resolvconf 包。

安装 resolvconf 包。

运行

cd /etc/resolvconf/resolv.conf.d
sudo cp -p head head.orig  #backup copy, always do this
sudo nano head

该文件的顶部是一个可怕的警告。 文件/etc/resolv.conf是由这个文件的内容自动生成的;警告的存在是为了在生成/etc/resolv.conf时把它放到/etc/resolv.conf中。 在该文件的末尾,添加

nameserver 

按Ctrlx并回答是保存文件。最后,重新生成/etc/resolv.conf,以便现在就应用这些变化。

sudo resolvconf -u

然后检查/etc/resolv.conf的内容,看看你添加的那一行现在是否在那里。 此外,在你的机器下次启动或网络服务重新启动时(以先到者为准),它仍然会在那里。

评论(2)

注意:这个答案是针对一个相当不同的、合并前的版本的问题,重点是预留一个所需的名字-服务器。

这在12.04之前是可行的。

编辑/etc/dhcp3/dhclient.conf并添加: 预设域名服务器127.0.0.1;

(事实上,这一行已经存在,你需要做的就是取消注释)。

评论(6)