如何通过resolv添加DNS服务器。conf?

/etc/resolv.conf 没用的 Ubuntu12.04LTS (精确穿山甲)?

我看到DNS服务器信息存储在 网络管理员 就现在。 该 nmcli 命令行工具可以为您列出。

如果我想再加一个 DNS(DNS) 服务器,将其添加到 /etc/resolv.conf 通过使用 resolvconf 包裹帮助?

如果 /etc/resolv.conf 包含 nameserver 127.0.0.1 然后将条目添加到 /etc/resolvconf/resolv.conf.d/tail 不会做任何有用的事情。

如果您使用的是NetworkManager,那么您应该通过以下方式静态添加域名服务器地址 网络指示器: 编辑连接。.. /编辑。.. /IPv4设置/附加DNS服务器.

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

与每个Ubuntu版本一样,建议阅读Ubuntu版本说明,可在这里找到:

"桌面"和"公共基础结构"部分包含以下链接:

我找到了另一种方法 这里 这涉及到添加一个像下面的行 /etc/dhcp/dhclient.conf:

prepend domain-name-servers x.x.x.x, y.y.y.y;

同样,我发现了第三种方法 这里 这涉及到将行添加到 /etc/network/interfaces:

auto eth0iface eth0 inet static    . . .    dns-nameservers 8.8.8.8 8.8.4.4

更新:这里是 正式文件 为第三种方法。

听起来你正在谈论resolvconf包。

安装 解析/解析 包裹。

cd /etc/resolvconf/resolv.conf.dsudo cp -p head head.orig  #backup copy, always do thissudo nano head

文件的顶部是一个可怕的警告。 文件/etc/resolv。conf是从这个文件的内容自动生成的;警告就在那里,所以它会被放在/等/resolv中。conf当/etc/resolv。conf生成。 到文件的末尾,添加

nameserver <ip_of_nameserver>

新闻界 Ctrl x 并回答是保存文件。 要完成,请重新生成/etc/resolv。conf,所以现在就应用更改:

sudo resolvconf -u

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

下面我将向您展示自从我运行Ubuntu Server edition并使用ifup而不是NetworkManager以来我发现的最佳方式。

实际上对我来说,他们通过将所有内容放入/etc/network/interfaces文件中,使这更容易:)。 与您将写入resolv的配置相同。conf现在可以与您的网络适配器配置在同一个文件中,如下例所示:

# The loopback network interfaceauto loiface lo inet loopback# The Primary Network Interfaceauto eth0iface eth0 inet static        address 192.168.1.2        netmask 255.255.255.0        network 192.168.0.0        broadcast 192.168.1.255        gateway 192.168.1.1        dns-nameserver 75.75.75.75         dns-nameserver 75.75.76.76        dns-search local        wildcard mask 0.0.0.255        cidr prefix size /24        cidr notation 192.168.1.0/24        first host 192.168.1.255        last host 192.168.1.254        mac address J7:836:737:727:gsgd837:g645

我希望这能帮助我,使它更容易,因为它为我做的,现在我们可以创建静态IP地址,并在一个文件中添加域名服务器和dns域:)

我的正在运行Ubuntu Server12.04。 我做了以下更改并重新启动了服务器(通常这可以通过只关闭网络接口来完成,即, ifdown eth0ifup eth0).

档案中 /etc/resolvconf/resolv.conf.d/base 我添加了以下条目:

nameserver 8.8.8.8nameserver 8.8.4.4

希望以上有所帮助!

您可以使用NetworkManager,如Frank的答案所述,但如果您宁愿手动编辑 /etc/resolv.conf,你可以通过删除它(它实际上是一个符号链接),然后用你想要的内容创建一个新的纯文件来做到这一点。 该 resolvconf 实用程序只写入文件 /run/resolvconf/resolv.conf.

注意:这个答案是针对一个相当不同的,预合并版本的问题,只关注预挂起所需的名称服务器。

这项工作在12.04之前:

编辑 /etc/dhcp3/dhclient.conf 并添加 :
prepend domain-name-servers 127.0.0.1;

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

resolvconf 是无用的。 我在Linux服务器上,我的 IP地址 是静态的和我的 DNS(DNS) 服务器是静态的。 我不需要 resolvconf网络管理员.

在服务器上工作时,保持简单是我的策略。 复杂性越低,当事情破裂时管理/修复就越容易。

所以我做到了 aptitude purge resolvconf 并手动确保 /etc/resolv.conf 不是一个 符号链接 刚刚创建了一个静态文件。 以防万一一个程序试图改变文件,我做了 chattr +i (不可变)到 /etc/resolv.conf 作为预防措施。

上述大多数假设你有一个原始的系统,但现实往往是这样的,你一直在安装不同的dhcp客户端,禁用网络管理器在某些以前版本的Ubuntu,等等。 了解以下内容可能是值得的。 我一直在使用dnsmasq一段时间,但安装了它。 目前我的系统有以下内容 /etc/resolv.conf (这是一个符号链接到 /run/resolvconf/resolv.conf 在我的系统上):

cat /etc/resolv.conf# Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8)#     DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTENnameserver 127.0.0.1

我跑多久都没关系 sudo resolvconf -usudo dpkg-reconfigure resolvconf,它没有将名称服务器更新为我在NetworkManager中设置的名称服务器。 Resolvconf确实从NetworkManager中使用的信息存在:

cat /run/resolvconf/interface/NetworkManager  nameserver 8.8.4.4nameserver 8.8.8.8

但是,事实证明,如果此目录中有多个文件,则可能根本不使用此文件。 罪魁祸首是没有删除与dnsmasq的deinstallation文件:

cat /run/resolvconf/interface/lo.dnsmasq                        nameserver 127.0.0.1

只是删除这个文件(并运行 sudo resolvconf -u 事后)解决了我的dns烦恼:

cat /etc/resolv.conf                        # Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8)#     DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTENnameserver 8.8.4.4nameserver 8.8.8.8 

我希望这也能帮助其他人进行调试(所有这些不同网络工具之间的复杂交互)。 如果您使用 resolvconf 确保运行 ls /run/resolvconf/interfaces 看看那里有什么。

我刚刚删除了一个链接 /etc/resolv.conf 并用名字服务者的地址创建了一个常规文件。 它有效,我没有看到任何理由使用Ubuntu开发人员创建的相当奇怪的结构。

我认为上面提到的命令应该是’nm-tool,而不是nmcli’。