无法在 Linux 上访问选定网站(但可以在 Windows 上访问)

无法在 Linux 上访问选定网站(但可以在 Windows 上访问)

我的互联网连接曾经是与提供商的直接 LAN 连接。那时,Windows 和 Ubuntu(双启动)上的所有东西都可以正常加载。然而,不久前他们开始需要我使用用户名和密码拨号(通过 PPPoE 连接)。但从那时起,我就无法在 Ubuntu 上浏览某些网站,尽管在 Windows 上没有出现过这样的问题。一些示例网站是 -Ovi 的登录页面(尽管 share.ovi.com 加载正常,nokia.com 加载正常),实时邮件(适用于 Chrome(ium) 和 Opera,但不适用于 Firefox(3.6 和 4))和其他随机网站。

一些无法加载的网站会在 Chrome 上显示超时消息,而对于某些网站,浏览器会不断尝试加载而无休止(我已经这样放了好几个小时,但没有注意到有什么不同的事情发生)。

我尝试将 DNS 服务器更改为评论中建议的服务器。我甚至尝试从 Fedora LiveCD 启动,然后将 DNS 更改为这些(甚至更改为 OpenDNS),但会发生完全相同的事情。

以下是 Windows 上 ipconfig 的输出:

替代文本

如果有帮助的话,Opera 错误消息似乎更具参考意义,并且它们依次出现以下错误:

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

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

有人知道为什么会发生这种情况以及如何解决吗?

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

答案1

(摘自Unix Stack Exchange

您有以下症状最大传输单元问题:某些 TCP 连接冻结,对于给定的命令或 URL 或多或少可重现,但总体模式不易辨别。一个明显的症状是交互式 ssh 会话运行良好,但文件传输几乎总是失败。此外,pppoe 是家庭用户 MTU 问题的头号罪魁祸首。所以我建议进行 MTU 检查。

它是什么?最高限度传播nit 是网络链路上数据包的最大大小。MTU 因传输介质而异,例如有线以太网和 wifi(802.11)具有不同的 MTU,并且自动取款机每个链路(构成大部分长距离基础设施)都有自己的 MTU。 点对点连接是一种封装协议,这意味着每个数据包都由几个字节的报头和后跟的底层数据包组成 - 因此它会根据报头的大小降低最大数据包大小。 知识产权如果路由器检测到数据包对于下一跳来说太大,则允许它们对数据包进行分段,但这并不总是有效。理论上应该发现正确的 MTU自动地,但这也并不总是有效。特别是谷歌搜索表明网络管理器并不总是正确地根据从 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 个字节的标头)。另请参阅如何使用 MTU 和 RWIN 优化您的互联网连接在 Ubuntu 论坛上。

如何设置(将 1454 替换为您确定的 MTU 以及eth0网络接口的名称)

  • 一次性(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
  • 永久(Debian 和衍生产品,如 Ubuntu,带有或不带有网络管理器):创建一个名为的脚本,/etc/network/if-pre-up.d/mtu其中包含以下内容并使其可在全球范围内执行(chmod a+rx):

    #!/bin/sh
    ifconfig $IFACE mtu 1454
    

答案2

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

问题就解决了。

答案3

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

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

答案4

问题可能与 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 配置)。

就是这样!现在,尝试加载一些未加载的网站,它应该可以工作!

相关内容