特定网站无法在 Ubuntu 12.04 上运行

特定网站无法在 Ubuntu 12.04 上运行

我在 Ubuntu 12.04 中上网。除一个站点外,所有站点均正常工作http://developer.android.com/。我不知道为什么。

同时,相同的网址在 Windows 中完美打开。

所以网站已经启动,问题也与代理无关。

我完全感到无助。为什么会发生这种情况?

火狐浏览器显示错误

找不到服务器

wget http://developer.android.com/

Resolving developer.android.com (developer.android.com)... failed: Name or service not known.
wget:unable to resolve host address 'developer.android.com'



ping developer.android.com

ping: unknown host developer.android.com

猫 /etc/hosts

127.0.0.1      localhost
127.0.1.1      devsda

# The following lines are desirable for IPv6 capable hosta
::1     ip6-localhost   ip6-loopback
fe00::0    ip6-localnet
ff00::0    ip6-mcastprefix
ff02::1    ip6-allnodes
ff02::2    ip6-allrouters 

猫 /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.0.1

devsda@devsda:~$ 主机developer.android.com

;; Truncated, retrying in TCP mode.
Host developer.android.com not found: 5(REFUSED)

devsda@devsda:~$ 主机developer.android.com 8.8.8.8

Using domain server:
Name: 8.8.8.8
Address: 8.8.8.8#53
Aliases: 

developer.android.com is an alias for www3.l.google.com.
www3.l.google.com has address 74.125.236.33
www3.l.google.com has address 74.125.236.37
www3.l.google.com has address 74.125.236.35
www3.l.google.com has address 74.125.236.39
www3.l.google.com has address 74.125.236.32
www3.l.google.com has address 74.125.236.46
www3.l.google.com has address 74.125.236.38
www3.l.google.com has address 74.125.236.40
www3.l.google.com has address 74.125.236.41
www3.l.google.com has address 74.125.236.36
www3.l.google.com has address 74.125.236.34
www3.l.google.com has IPv6 address 2404:6800:4007:800::1005

答案1

正如命令的输出host所示,这几乎肯定是 DNS 服务器问题。进一步了解 Ubuntu 中的配置方式,似乎更改此设置的最佳方法就是通过网络管理器。网络管理器提供每个连接的 DNS 设置,因此可以修复导致问题的连接的 DNS 设置,并且不会影响其他任何内容。这在 Ask Ubuntu 上回答很好地概述了如何操作,包括屏幕截图。

重述一下:

  1. 右键单击桌面上的网络图标并选择Edit Connections。或者nm-connection-editor从命令行简单运行。

  2. 选择您所拥有的连接类型(有线或无线)的选项卡,然后选择您的连接名称,然后单击Edit...

  3. 转到IPV4 Settings选项卡并在框中输入8.8.8.8(或您选择的任何其他 DNS 服务器的 IP)DNS Servers

  4. 单击“保存”,您应该完成了!

或者,只需将该行添加dns=8.8.8.8到 中的相关文件(以您的连接命名)/etc/NetworkManager/system-connections。该行应添加到该[ipv4]行之后。

注意事项

如果您有有线连接,则网络管理器下可能还没有为此进行的配置。如果是这种情况,只需单击Add,选择连接类型并按照上述方法执行其他操作。

也可能是/etc/dhcp/dhclient.conf系统范围内的 DNS 服务器有一个设置(现在似乎就是这样的地方)。如果文件包含一行开头supersede domain-name-servers且未注释掉的行(#开头有 ),则可能是这种情况。如果是这样,您可能只需删除这条线,然后断开/重新连接,您的问题就会得到解决。请注意,该文件可能位于/etc/dhcp3/etc/dhcp4代替/etc/dhcp.

答案2

这看起来(至少表面上)就像我遇到的类似问题。

的内容/etc/resolv.conf

nameserver 127.0.0.1

有人告诉我,这意味着您的计算机正在本地运行某种名称服务器服务。

/etc/resolv.conf指向我的路由器 ISP 地址。我不确定它最终使用了什么名称服务器,但无论它是什么,它都是不稳定的。所以我在 Debian 中使用了这个包resolvconf(因此也在 Ubuntu 中)向/etc/resolvconf.仅手动添加文本是/etc/resolv.conf行不通的,因为它会被覆盖。我所做的只是添加/etc/resolvconf/resolv.conf.d/tail 包含内容的文件

nameserver 8.8.8.8
nameserver 8.8.4.4

现在这些行会自动附加到/etc/resolv.conf.这样就解决了问题。希望有帮助,如果这是错误的,我可以删除这个答案。

相关内容