/etc/resolv.conf(实际上是到/run/resolvconf/resolv.conf的符号链接)由resolvconf实用程序根据来自各种可能来源的信息编写。
127.0.1.1是dnsmasq的NetworkManager控制的实例在其上侦听的回送IP地址。Dnsmasq在本地运行,并在127.0.1.1处接受DNS查询,并将这些查询转发到地址由NetworkManager提供的外部名称服务器。此方案并不总是能很好地工作,如果您对此有任何疑问(如您所做的那样),建议禁用NetworkManager控制的dnsmasq。要禁用它,请编辑/etc/NetworkManager/NetworkManager.conf
sudo gedit /etc/NetworkManager/NetworkManager.conf
并注释掉线
dns=dnsmasq
这样看起来像下面。
#dns=dnsmasq
然后重新启动网络管理器。您使用的命令取决于您的Ubuntu版本:
sudo service network-manager restart # For newer systems using Systemd
sudo restart network-manager # For older systems using Upstart
之后,您应该nameserver
在resolv.conf中使用非环回IP地址创建一行。如果不是这种情况,请尝试以下命令。
sudo dpkg-reconfigure resolvconf
如果nameserver
resolv.conf中仍然没有使用非环回IP地址的行,或者仍然没有DNS服务,请尝试重新引导。
如果您仍然没有良好的DNS服务,请开始调查外部IP地址(下例中为1.2.3.4)中的名称服务器。使用host
或dig
实用程序访问时,它能正确解析域名吗?
host www.ford.com 1.2.3.4
dig @1.2.3.4 www.gm.com
Google的域名服务器正常工作吗?
host www.ford.com 8.8.8.8
dig @8.8.4.4 www.gm.com
如果你发现你的外部域名服务器无法正常工作,那么你应该配置连接到使用很乖的域名服务器,例如谷歌的。为此,请右键单击网络指示器,然后转到“编辑连接” |“连接”。| 编辑... | IPv4设置。假设当前方法是Automatic (DHCP)
,将方法设置为Automatic (DHCP) addresses only
并在标题为的字段中填写好的名称服务器地址Additional DNS servers
。