是 /etc/resolv.conf
没用的 Ubuntu12.04LTS (精确穿山甲)?
我看到DNS服务器信息存储在 网络管理员 就现在。 该 nmcli
命令行工具可以为您列出。
如果我想再加一个 DNS(DNS) 服务器,将其添加到 /etc/resolv.conf
通过使用 resolvconf
包裹帮助?
是 /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 eth0
或 ifup 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 -u
或 sudo 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’。