问题描述
我目前正在运行Ubuntu 12.04并使用Chrome /Firefox和OpenDNS(已经尝试过Google Public DNS以及我的ISP的DNS)。
突然间,我经常访问的很多网站都不再加载了。其中一些是imgur,yahoo,fed-sudoku,firefox的microsoft和addons页面。我相信还有更多不会加载。
我在Dual-Boot中安装了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的一切都很好,直到昨天;但突然间,这些网站不再加载了。 Dual-Boot中的Windows 7完美运行。
更新
(1)回应张的检查basic terminal commands
的答案 – 我使用OpenDNS和GooglePublic DNS来测试这些命令(在其间重新启动我的电脑)。这些是using OpenDNS和using GooglePublicDNS时的终端输出。
(2)这是ifconfig
– Pastebin Link的结果。
(3)此后我尝试使用wget
检查问题是否与浏览器有关。但是,它不适用于未在我的浏览器中加载的网页。这是Pastebin Link显示它适用于谷歌(作品)和雅虎(不起作用)。
(4)然后按照noobslab中列出的说明进行disable IPV6
。此外,重新启动我的电脑。然而,它也没有帮助。
(5)然后,我通过Network-Manager编辑了我的有线连接到ignore IPV6
。之后,我尝试在浏览器中打开Yahoo – 它第一次加载。但是,当我再次尝试时,它没有加载。其他问题网站根本没有加载。
(6)再次尝试了wget
。但是,这次将-4
参数传递给它;即; wget -4 www.yahoo.com
。但再一次,没有得到任何回应。
(7)然后,试图摆弄MTU
。跟随this link检查我可以设置的最大值。对我来说,最大可能是10324.还尝试了其他值,如1500,1492,1452和100.但这也没有帮助。
(8)Re-installed Ubuntu 12.04.1
,擦除以前的安装,以及所有其他更改。还安装了所有可用的更新。对于第一个half-an-hour,我能够加载所有网页 – 包括那些有问题的网页。但是后来,我遇到了与之前相同的问题 – 无法加载yahoo,imgur,microsoft,fed-sudoku等页面。
(9)劳伦特的问题
From wget pastebin info in the question, the problem is not DNS as the
wget
anddig
commands reach Yahoo’s IP. This said, I don’t know why nothing downloads with wget! Have you set a firewall? (you can check withsudo iptables -L
). Inifconfig
results, there are 2 interfaces, ppp0 and eth0. Which one should be used to connect to internet? Could you post the result ofroute
command? Obs: eth0 has no IPV4 address so I think it is not properly configured (how is/etc/network/interfaces
?)
这是用于sudo iptables -L
终端输出的Pastebin Link; route
和cat /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 help ADSLPPPoE中所述。首先使用Config with pppoeconf
部分,它基本上运行sudo pppoeconf
并回答问题。由于您需要使用与ISP不同的DNS服务器,请回答no
以了解有关使用对等DNS服务器的问题。
如果您的互联网连接未在启动时重新启动,则可选:您可以编辑nano /etc/rc.local
,在exit
行之前添加以下行并重新启动以进行测试。
killall pppd
ifconfig eth0 up
pon dsl-provider
使用手动配置时不会使用网络管理器,但您可以单击它来禁用它,而de-selecting则选择enable network
(如果存在,则为enable wireless
)。如果禁用仅起作用,您也可以使用sudo apt-get remove network-manager
卸载它,并在sudo apt-get autoremove
之后清除auto-installed软件包。
第2部分将默认ISP DNS服务器更改为openDNS
我发现here使用静态DNS和resolvconf
的最佳方法是在/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分钟,然后在没有Network-Configuration的情况下启动。要上网,您必须运行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
中的更改。
次佳解决办法
-
验证您的客户端是否可以与openDNS服务器通信
sudo traceroute -n -w 2 -q 2 -m 30 208.67.222.222
如果输出的最后一行未将208.67.222.222列为最后一跳,或者存在重大超时,则可能存在网络问题,导致您无法联系openDNS服务器。
-
验证openDNS是否可以解析所选主机名
dig @208.67.222.222 www.difficult.com.
在命令提示符处,运行以下命令,替换
www.difficult.com
。使用您难以解决的名称(在名称的末尾添加句点以避免域后缀和搜索列表出现问题)如果输出未显示主机名的答案,请继续:
-
验证另一个打开的解析程序是否可以解析所选的主机名
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可能存在问题
-
检查权威的名称服务器是否正确intoDNS非常有用。
更新:这个答案无法解决问题,仅用于故障排除。如果DNS解析工作正常,请进一步查看laurent’s answer。
第三种解决办法
将此行附加到您的/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
中。