Ubuntu 12.10
我来解释一下第一个问题。有时当我加载网页时,它永远无法完成加载,并且会显示无法访问服务器或类似信息。当我 ping 该网站时,终端会显示无法解析主机名。因此,我尝试了 Google 的 DNS 服务器,但没有成功。这很奇怪,因为我在 Windows 7 中从未遇到过这个问题。我使用
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 OVERWRITTEN
nameserver 127.0.1.1
search hsd1.or.comcast.net
为什么它会使用 127.0.1.1?这是否意味着它正在尝试本地解析地址?当我 ping 康卡斯特搜索服务器时,我收到超时错误。
答案1
/etc/resolv.conf(实际上是到 /run/resolvconf/resolv.conf 的符号链接)是由 resolvconf 实用程序根据来自各种可能来源的信息编写的。
127.0.1.1 是 NetworkManager 控制的 dnsmasq 实例监听的环回 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
如果 resolv.conf 中仍然没有包含nameserver
非环回 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
如果你发现你的如果外部名称服务器无法正常工作,则应将连接配置为使用性能良好的名称服务器(例如 Google 的名称服务器)。为此,右键单击网络指示器,然后转到编辑连接 | | 编辑... | IPv4 设置。假设当前方法是Automatic (DHCP)
,将方法设置为,Automatic (DHCP) addresses only
并在标题为的字段中填写良好的名称服务器地址Additional DNS servers
。
答案2
您可能需要右键单击网络管理器小程序,编辑连接并添加另一个 dns。这应该会“坚持”
答案3
你可以只安装 DNS 守护程序:
apt-get install bind9
service start bind9
这应该在 127.0.0.1 上启用 DNS 服务器,以便大多数名称解析可以在本地缓存/解析。