无法在Linux上访问某些网站(但在Windows上可以访问)


10

我的Internet连接曾经是到我的提供商的直接LAN连接。那时,Windows和Ubuntu(双重引导)都可以正常加载。但是,不久前,他们开始需要我使用用户名和密码(通过PPPoE连接)拨号。但是从那以后,即使Windows上没有此类问题,我也无法在Ubuntu上浏览某些网站。一些示例网站是-Ovi的登录页面(尽管share.ovi.com可以很好地加载,而nokia.com可以很好地加载),Live Mail(在Chrome(ium)和Opera上有效,但在Firefox(3.6和4上均不能))和其他随机网站。

一些未加载的网站在Chrome上显示超时消息,对于某些网站,浏览器将继续尝试无休止地加载(我已经将其保留了好几个小时,但没有发现任何不同的情况)。

我尝试将DNS服务器更改为注释中建议的服务器。我什至尝试过从Fedora LiveCD引导,然后将DNS更改为那些(甚至是OpenDNS的DNS),但是确实发生了同样的事情。

这是Windows上ipconfig的输出:

替代文字

如果有帮助,Opera错误消息似乎会提供更多信息,并且依次出现以下错误:

  • 安全连接:致命错误(552)
  • 安全连接:致命错误(40)

随后:Opera无法连接到服务器。服务器可能正在使用不受支持的SSL 2协议,该协议对于安全通信而言不够安全。网站所有者应升级到TLS 1.0或更高版本。

有谁知道这是为什么发生以及如何解决?

更新:刚刚在这里看到http://ubuntuforums.org/showthread.php?t=1571086&highlight=pppoe,其他人也有类似的问题,并通过将NetworkManager.conf文件放在/ etc / NetworkManager中解决了该问题。该文件中需要包含什么内容?


我想知道您使用的DNS服务器不是很好。您可以尝试将DNS服务器手动设置为4.2.2.2或8.8.8.8之类的功能,看看是否有帮助。
deltaray 2010年

目前尚不清楚连接的哪一部分使您键入登录名/密码。在“网络连接”中是否有新连接?您可以ipconfig在Windows下给出命令的输出吗?
维克多·谢尔琴科

@Victor Sergienko:我更新了帖子并添加了ipconfig输出。
Mussnoon

哇,我以为是VPN连接要求输入密码,但没有密码。
维克多·谢尔吉安科

不,不是VPN,而是PPPoE。
Mussnoon

Answers:


16

(从Unix Stack Exchange复制)

您有一个MTU问题的症状:某些TCP连接冻结,对于给定的命令或URL或多或少具有可重现性,但总体模式却不容易辨认。一个明显的症状是交互式ssh会话可以很好地工作,但是文件传输几乎总是失败。此外,pppoe是家庭用户MTU问题的第一大带来者。所以我开了一个MTU检查。

它是什么? 所述 aximum ransmission Ú尼特是分组通过网络链路的最大大小。MTU随传输介质的不同而不同,例如,有线以太网和wifi(802.11)具有不同的MTU,而ATM链路(构成大多数长途基础设施)各自具有自己的MTU。 PPPOE是一种封装的协议,这意味着每个数据包均由几个字节的报头组成,然后是基础数据包,因此它将最大数据包大小降低了报头大小。 IP允许路由器在检测到对于下一跳而言太大时对数据包进行分段,但这并不总是有效。理论上,应该发现适当的MTU自动,但这也不总是有效。特别地,谷歌搜索表明Network Manager并不总是对从MTU发现获得的MTU信息采取适当的措施,但是我不知道受影响的版本或有问题的用例是什么。

如何测量。 尝试将给定大小的ping数据包发送到响应它们的外部主机,例如ping -c 1 -s 42 8.8.8.8(在Linux上;在其他系统上,查找ping命令的文档)。您的数据包应该通过足够小的42值(如果42无法正常工作,则可能是ping阻塞)。对于较大的值,数据包将无法通过。如果基础架构的限制是本地以太网,则1464是典型的最大值。如果幸运的话,当您发送太大的数据包时,您会看到类似的消息Frag needed and DF set (mtu = 1492)。如果您不走运,请继续尝试该值,直到找到最大值为止,然后添加28(-s指定有效负载大小,除此之外还有28个字节的标头)。也可以看看在Ubuntu论坛上,如何使用MTU和RWIN优化Internet连接

设置方法(用您确定的MTU和eth0网络接口的名称替换1454 )

  • 一次性(Linux):运行 ifconfig eth0 mtu 1454
  • 永久(如果未使用网络管理器,则为Debian及其衍生版本,如Ubuntu):编辑/etc/network/interfaces。在您的网络接口输入之后(在iface eth0 …指令之后),用添加一行pre-up ifconfig $IFACE mtu 1454。或者,如果您的IP地址是静态的,则可以将mtu 1454参数添加到iface eth0 inet static指令中。
  • 永久(带有或不带有Network Manager的Debian及其衍生版本,如Ubuntu):创建一个/etc/network/if-pre-up.d/mtu具有以下内容的脚本,并将其设置为全球可执行(chmod a+rx):

    #!/bin/sh
    ifconfig $IFACE mtu 1454
    

2
为什么会发生这种情况?由于您的数据包通过PPPOE(以太网上的PPP)进行隧道传输,并且限制为1540,因此,如果您的数据包加上隧道开销大于该值,则会进行分段。某些(MS)操作系统不进行数据包重组。因此,您无法访问某些站点(由MS Windows服务器提供服务。)[实际上,您可以将MTU设置为1300,这样就可以很好地工作。]它发生在我家,对此进行了修复。
Tim Williscroft

1
非常感谢!我遇到这个问题已经很长时间了,我只是在没有访问某些站点的情况下就这样做了。现在,我终于可以继续进行而不会出现这个问题。
凯文·贾尔伯特

谢谢,全新安装后在archlinux上遇到了这个问题,没有任何解决方案,但是您的解决方案非常出色。干杯!
JeanK 2012年


0

我的确在接口文件中保留了默认配置,但MTU=1300在我的无线路由器“ WAN”部分中进行了设置。

那解决了问题。


它将改善此答案,以说明您更改了哪个文件以及使用了哪个版本的Linux。
凯文·潘科

0

我有同样的问题。我的KUBUNTU 17.04无法打开某些网站。我使用以下命令:

echo 0 >/proc/sys/net/ipv4/tcp_timestamps

3
能解释一下吗?
Arjan

0

该问题可能与DNS设置有关。对我来说,问题可以通过执行几个步骤解决:

  1. 首先,打开终端。
  2. 在内部运行sudo apt-get install resolvconf(它将安装resolvconf软件包)。
  3. 转到/etc/resolvconf/resolv.conf.d/目录。
  4. base通过运行打开具有root权限的命名文件sudo nano base
  5. 只需添加/更改条目。一个有效的输入示例是nameserver 8.8.8.8。条目必须用新行分隔。以下是有效文件:
    域名服务器8.8.8.8
    域名服务器8.8.4.4
    
    注意:可在此处找到DNS名称和地址的列表。
  6. 保存文件并退出。
  7. 运行sudo resolvconf -u(它将更新DNS配置)。

而已!现在,尝试加载一些未加载的网站,它应该可以工作!

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.