如何在16.04中永久配置DNS服务器列表?


13

我尝试使用network-admin。它有一个DNS服务器列表,包括127.0.0.1和我放入的两个。无论我更改多少次,它始终总是首先使用127地址。文件,挂钩脚本等列表令人困惑:我可以修改以实现永久更改的单个网络配置文件在哪里?

我已经厌倦了让我的ISP的质量低劣的DNS服务器满足我的互联网请求。我不知道为什么Ubuntu反复重置我的配置,或者图形界面在何处存储此信息-直到再次更改它。这毫无疑问地令人困惑。

我在一小时前检查了network-admin gui,它的读取顺序为127.0.1.1 8.8.4.4 8.8.8.8我将两个8.移到顶部,在127以上;刚刚检查了一下,现在第一个不在列表中的是192.168.1.254-这是我的网络路由器局域网地址。对此的请求被路由到互联网;这里的DNS请求会自动路由到att的DNS,而不是Google的DNS。这在FireFox浏览器中出现查找错误时得到了证明,该错误显示dnserrorassist.att.net的错误页面。

我真的很想有一个静态的DNS服务器列表,以便可以随意修改它,并设置使用它们的查找顺序。我可以使用Ubuntu(16.04)来做到这一点吗?


您指的是什么“文件”和“挂钩脚本”?您是否正在手动编辑一个/etc/resolv.conf或多个文件/etc/resolvconf/resolv.conf.d/(基/头/尾)?还是在谈论通过网络管理器GUI进行配置?
steeldriver

1
1.“传统上,文件/etc/resolv.conf是静态配置文件,很少需要通过DCHP客户端挂钩进行更改或自动更改。如今,计算机可以从一个网络切换到
Old Uncle Ho

1
resolvconf框架现在经常用于跟踪这些更改并自动更新解析器的配置。它充当提供名称服务器信息的程序与需要名称服务器信息的应用程序之间的中介。Resolvconf由一组与网络接口配置有关的挂钩脚本填充信息。
老何叔

1
确实,我只是想将几个Google名称服务器设置为列表的顶部;我不断从dnserrorassist.att.net收到错误,因为它们不是当前错误或服务器正忙或其他原因。不管我使用gui将8.8.8.8或其他任何服务器设置在列表顶部的次数是多少,下次我启动时都使用默认的127.0.0.1,这似乎是Ubuntu名称解析系统设置的问题。如果不是,如果有可靠的设置方法,我想找到它,进行设置,然后移至User-ville
Ho Uncle Ho

1
谢谢你,我明白你的意思了,但是问我为什么我的网页加载为什么发出请求,然后由att.net DNS服务器而不是gui network-admin中指定的Google DNS服务器解析的请求超出了范围?
老何叔

Answers:


9

这个问题的正确答案是:

  1. 转到顶部面板中的“ 网络”图标。

  2. 选择“ 编辑连接”

  3. 打开您想要修改的连接,例如Wired Connection

  4. 选择“ IPv4”选项卡。

    1. 将方法设置为仅自动(DHCP)地址

    2. 在“ DNS服务器”字段中,输入DNS服务器的逗号分隔列表。

    3. 根据您的Ubuntu版本,如果看到一个名为Automatic的开关,请将其切换为OFF。

    4. 单击保存按钮。

不要编辑您的resolv.conf文件!


1
感谢您提供简洁明了的步骤。我已经设置了Wifi和以太网,并且我期待随着时间的推移剩下的设置并重新启动。
老何叔

4
我们需要重启吗?还是采用可配置的方式进行更改?
Vikas Goel '18

1
在ubuntu 18中(至少对我来说),我对DNS所做的GUI更改都不会持久。我设法使我的系统更喜欢OpenDNS的唯一方法是“添加域名服务器”,如下所示:askubuntu.com/a/1077479/231504(抱歉,要发表评论,但问题是“受保护的,因为它具有吸引了低质量的答案”)(如果我对此评论获得足够的投票,则我可以达到发表答案所需的10分)
有害

+1最多最新的指示,现在以后的Ubuntu版本,也可以从CloudFlare的1.1.1.1
CAW

11

目前,这是一篇旧文章,但我有一些其他信息。如果您正在运行无头服务器,则以下内容会有所帮助。

对于DHCP配置:修改/ etc / network / interfaces。在您的界面(eth0等)下,添加以下行:

dns-nameservers 123.123.123.123 # replace with wanted IP

如果您的DHCP服务器已经配置为可以为您提供DNS服务器,则此操作仅附加DNS服务器!!!要覆盖DHCP服务器提供的名称服务器,请修改以下文件。

/etc/dhcp/dhclient.conf:
supersede domain-name-servers 123.123.123.123 # replace with wanted DNS server

然后,您将需要重新启动网络。应该执行以下操作。# invoke-rc.d networking restart

现在,如果您查看/etc/resolv.conf,则应该仅看到您的名称服务器。


2
我按照您的指示进行,效果很好。我从事无头Ubuntu 16.04.2安装。
Sergei G

1
resolv.conf远非最适合选择DNS服务器的方法。请参阅公认的答案,以获得更好的选择(至少对于大多数用户而言)。
David Foerster '18

最好的解决方案是使用Linux / UNIX,而不使用图形,因为它可以控制您。GUI适用于新手。
Anthony Rutledge,

我整日都在搜索这个DNS问题,直到找到askubuntu.com/a/1077479/231504(对不起,作为评论,但问题是“受到保护,因为它吸引了低质量的答案”)
任何方法都无济于事
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.