无法从 Ubuntu 浏览某些网站

无法从 Ubuntu 浏览某些网站

我遇到的问题是,突然间,一些网站停止工作了(例如,我无法登录 HipChat 或 Docker Hub)。

我进行了很多挖掘,以下是我发现的:

  • DNS 解析工作正常。
  • 问题似乎与某些 https POST 连接有关。
  • 连接可以打开,并且我从另一端收到“100 继续”代码,但没有其他事情发生:连接保持打开状态而没有任何响应。

我观察到了几件事:

  • 我捕获了其中一个失败的请求(我可以看到它们挂在 Chrome 开发人员工具上)并将其卷曲。

    • 如果我从我的机器上执行此操作,经过长时间的等待后我会收到 502 错误。
    • 如果我从不同网络中的机器执行此操作,它就可以工作。
    • 如果我从我的机器上执行此操作,并连接到 VPN,它就可以工作。
    • 如果我从同一局域网中的另一台机器执行此操作,它就可以工作。
  • 在上述所有情况下,我都使用“-v”标志运行 curl,TSL 协商看起来与最后一个字符相同。它仅在“100 Continue”代码后发生变化:在好的代码中我得到 200,而在坏的代码中我等待大约一分钟后直接得到 502。此外,所有机器的 openssl 版本都相同。

  • 我跟踪了 IP,唯一奇怪的是,当我从我的机器上执行此操作时,跳数比从我位于不同网络中的机器上执行时多得多。但是,如果我将其连接到 VPN 进行跟踪,跳数会有所不同,但数量相似。

  • 如果我在 ubuntu 桌面上启动 Windows 7 虚拟机,它会以与主机相同的方式失败。

我的规格是:

  • Ubuntu 14.04.3,完全最新。
  • 我使用 Wifi 连接的 ADSL(PPPoE)路由器。

我还可以看到什么或怀疑到什么?

更新

在解决问题时,问题就消失了!

我使用 wireshark 嗅探了网络,发现了一些“TCP ACKed unseen fragment”错误,这让我对 wifi 产生了怀疑。

TCP 确认未见分段

为了解决这个问题,我用一根线连接了我的笔记本电脑,然后断开了 Wifi,问题果然消失了。但是,当我断开线并再次打开 Wifi 时,问题并没有再次出现!

所以,我对此不太确定,但我怀疑只需禁用 wifi 适配器并再次启用它可能会解决问题。

请注意,我之前已经重新启动过几次笔记本电脑,但问题仍然存在,因此我猜测从操作系统禁用适配器可能会重置某些东西,而这正是问题的根源。

无论如何,我保留这个问题,以便有人愿意建议其他值得考虑的故障排除措施。

答案1

正如我在更新中解释的那样,从操作系统禁用并再次启用 Wifi 适配器已使问题消失。

如果您遇到类似的问题,请尝试一下!

相关内容