解决许多网页的问题

我目前正在运行Ubuntu 12.04并使用Chrome / Firefox和OpenDNS(尝试过Google Public DNS以及我的ISP的DNS)。

突然间,我经常访问的很多网站都不再加载了。 其中一些是imgur,yahoo, fed-sudoku ,microsoft和firefox的插件页面。 我相信还有更多不会加载。

我在双启动中使用Windows 7,在Windows上打开这些页面没有任何问题。

历史简介

两周前我安装了Ubuntu 12.10。 我马上面对这个问题。 我认为安装肯定出了问题,所以我删除了Ubuntu 12.10,而是安装了Lubuntu 12.10,但问题仍然存在。 因此,我尝试在USB中在Live Environments(Ubuntu 12.10,Lubuntu 12.10和Ubuntu 12.04.1)中打开这些网页。 问题在于Ubuntu 12.10和Lubuntu 12.10。 但是,我能够从Ubuntu 12.04.1访问这些网页。 所以,我在HardDisk上安装了12.04.1。 12.04的一切都很好,直到昨天; 但突然间,这些网站不再加载了。 双启动中的Windows 7可以完美运行。

更新

(1)响应Zhang的检查basic terminal commands的答案 – 我使用OpenDNS和GooglePublic DNS来测试这些命令(在其间重新启动我的电脑)。 这些是使用OpenDNS和使用GooglePublicDNS时的终端输出。

(2)这是ifconfig – Pastebin Link的结果。

(3)此后我尝试使用wget检查问题是否与浏览器有关。 但是,它不适用于未在我的浏览器中加载的网页。 这是用于Google(作品)和Yahoo(不起作用)的Pastebin Link 。

(4)然后按照noobslab中列出的说明disable IPV6 。 此外,重新启动我的电脑。 但是,它也没有帮助。

(5)然后,我通过网络管理器编辑了我的有线连接以ignore IPV6 。 之后,我尝试在浏览器中打开Yahoo – 它第一次加载。 但是,当我再次尝试时,它没有加载。 其他问题网站根本没有加载。

(6)再试过wget 。 但是,这一次将论证-4传递给它; 即; wget -4 www.yahoo.com 。 但再一次,没有得到任何回应。

(7)然后,试图摆弄MTU 。 按照此链接检查我可以设置的最大值。 对我来说,最大可能是10324.还尝试了其他值,如1500,1492,1452和100.但这也没有帮助。

(8) Re-installed Ubuntu 12.04.1 ,消除以前的安装,以及所有其他更改。 还安装了所有可用的更新。 在前半个小时,我能够加载所有网页 – 包括有问题的网页。 但是后来,我遇到了与之前相同的问题 – 无法加载yahoo,imgur,microsoft,fed-sudoku等页面。

(9) 劳伦特的问题

从问题中的wget pastebin信息来看,问题不在于DNS,因为wgetdig命令到达了Yahoo的IP。 这说,我不知道为什么没有用wget下载! 你有防火墙吗? (你可以用sudo iptables -L查看)。 在ifconfig结果中,有2个接口,ppp0和eth0。 哪一个应该用于连接到互联网? 你能发布route命令的结果吗? Obs:eth0没有IPV4地址所以我认为没有正确配置( /etc/network/interfaces怎么回事?)

这是sudo iptables -L终端输出的Pastebin Link ; routecat /etc/network/interfaces 。 我没有运行任何防火墙。 这是Ubuntu 12.04.1的干净安装。 ppp0用于连接到互联网(这需要用户名和密码,这是我的ISP提供的),eth0是英特尔的OnBoard LAN,它通过以太网端口连接调制解调器。

(10)尝试在/etc/resolv.conf附加nameserver 208.67.222.222行(因为,我正在使用OpenDNS)。 但这没有帮助(即使重启后)。 所以恢复了变化。 这也是laurent提供的答案的一部分 – 如果我想使用OpenDNS则需要它。

其他信息

  • 我有一个ADSL调制解调器(不是路由器)通过以太网端口连接到PC。 为了连接到互联网,我有一个DSL连接。 所以,我使用PPPOE进行连接。
  • 系统信息的终端输出sudo lshw -C network ; cat /etc/resolv.conf ; ifconfig -a – Pastebin Link

第1部分 – PPPoE连接无法正常工作

我会尝试禁用网络管理器并手动配置网络,如Ubuntu帮助ADSLPPPoE中所述 。 首先使用Config with pppoeconf部分,它基本上运行sudo pppoeconf并回答问题。 由于您需要使用与ISP不同的DNS服务器,因此请回答有关使用对等DNS服务器的问题。

如果您的互联网连接未在启动时重新启动,则可选:您可以编辑nano /etc/rc.local ,在exit行之前添加以下行并重新启动以进行测试。

 killall pppd ifconfig eth0 up pon dsl-provider 

使用手动配置时不会使用网络管理器,但您可以禁用它,单击它并取消选择enable network选项(如果存在则enable wireless )。 如果禁用只是不起作用,你也可以使用sudo apt-get remove network-manager卸载它,然后在sudo apt-get autoremove清理自动安装的软件包。

第2部分将默认ISP DNS服务器更改为openDNS

我在这里发现使用resolvconf的静态DNS的最佳方法是在/etc/network/interfaces添加名称服务器,或者将其添加到/etc/resolvconf/resolv.conf.d/head 。 由于您的接口是自动配置的(dhcp),您必须使用head文件:

 sudo nano /etc/resolvconf/resolv.conf.d/head 

并在最后添加:

 nameserver 208.67.222.222 nameserver 208.67.220.220 

限制

  • 您无法使用Network-Manager进行连接。 但是,这会自动将您连接到互联网。 否则,您可以通过运行pon dsl-provider进行连接。 要断开连接,你需要sudo,所以运行sudo poff断开连接。
  • [此问题仅适用于Ubuntu 12.04。]在启动Ubuntu时(调制解调器关闭或仍在尝试与ISP建立链接时) – Ubuntu等待加载Network-Configuration约2分钟,然后启动没有网络 -组态。 要上网,您必须运行pon dsl-provider

修复了删除之前的测试(在其他情况下不需要):

我们之前删除了resolv.conf符号链接,我们需要重新创建它(新安装时不需要):

 cd /etc sudo rm resolv.conf sudo ln -s ../run/resolvconf/resolv.conf /etc/resolv.conf 

如果这样做,您可以恢复我们之前创建的/etc/dhcp/dhclient.conf的更改。

  1. validation您的客户端是否可以与openDNS服务器通信

     sudo traceroute -n -w 2 -q 2 -m 30 208.67.222.222 

    如果输出的最后一行未将208.67.222.222列为最后一跳,或者存在重大超时,则可能存在网络问题,导致您无法联系openDNS服务器。

  2. validationopenDNS是否可以解析所选主机名

     dig @208.67.222.222 www.difficult.com. 

    在命令提示符处,运行以下命令,替换www.difficult.com 。 使用您难以解决的名称(在名称的末尾添加句点以避免域后缀和搜索列表出现问题)

    如果输出未显示主机名的答案,请继续:

  3. validation另一个打开的解析程序是否可以解析所选的主机名

     dig @8.8.8.8 www.difficult.com. dig @8.8.8.4 www.difficult.com. dig @4.2.2.1 www.difficult.com. dig @4.2.2.2 www.difficult.com. 

    如果您获得了成功的结果,openDNS可能存在问题

  4. 检查权威名称服务器是否正确

    intoDNS非常有帮助。


更新
这个答案无法解决问题,仅用于故障排除。
如果DNS解析工作正常,请进一步查看laurent的答案 。


参考: 公共DNS故障排除

将此行附加到/etc/resolv.conf

 nameserver 8.8.8.8 

通过执行以下操作可能已经解决了原始问题。

 sudo apt-get install resolvconf sudo dpkg-reconfigure resolvconf 

也许你可以尝试禁用dnsmasq

 sudo vim /etc/NetworkManager/NetworkManager.conf 

dns=dnsmasq前放一个#

然后:

 sudo restart network-manager 

我在安装12.04和12.10之后遇到解决某些网站的问题。 我禁用dnsmasq一切正常。

如果这有帮助,您可以安装完整的dnsmasq服务并将您喜欢的DNS提供程序放在/etc/resolvconf/resolv.conf.d/tail

显然,问题是Ubuntu如何处理DSL连接。 我没有像专家建议的那样配置我的DSL连接。

作为一种解决方法,我使用TOR,因为只有少数网站受其影响。

这里也出现了同样的问题(华硕EeePC 1015BX – Ubuntu 12.10 – AMD C-60系统)。 通过/etc/resolv.conf文件( sudo -H gedit /etc/resolv.conf )并使用以下sudo -H gedit /etc/resolv.conf替换nameserver 127.0.1.1

 nameserver 208.67.222.222 nameserver 208.67.220.220 

解决了这些问题。

您可以使用这些过程使其永久化。