无法访问某些网站,可能是路由器上的 MTU 问题?

无法访问某些网站,可能是路由器上的 MTU 问题?

我根本无法访问的两个特定网站是 css-tricks.com 和 jquery.com,因为我是一名网页设计师,所以这两个网站对我来说非常重要。

我跟我的 ISP 谈过,我们尝试过

  • 使用不同的浏览器,
  • 使用各种 DNS 服务器,
  • 清除 DNS 缓存
  • 将调制解调器重置为出厂设置,
  • 最后是关于更改 MTU 设置在路由器界面下不可用,他们放弃了并告诉我如果问题仍然存在,请尝试使用其他路由器。

问题就在这里,我没有其他的,也不想花钱买。显然这个(airties rt-211)是可以工作的,但可能存在配置错误。

不管怎样,我控制住了局面,在谷歌搜索后,我发现了有关 MTU 的更多信息。显然,我的 MTU 设置为 1500。使用 1500b 数据包 ping css-tricks.com 会返回以下错误:

数据包需要分片但设置了 DF。

我尝试将级别降至 1472。此时错误消息变为:

请求超时。

我也尝试了更低的值,但即使是 1kb 的数据包也会超时。

我也不认为 ISP dns 存在问题,因为我在工作中使用相同的 ISP,并且能够访问这些网站。

我也做了 tracert,但是请求在第 16 跳后再次超时。

有人有什么想法吗?

答案1

你的ping审判并不一定意味着什么。

以太网(以及互联网)的正常 MTU 为 1500。由于 ping 不将(28 字节)报头大小计入数据包大小,因此Packet needs to be fragmented but DF set如果您尝试使用大于 1472(+ 28 = 1500)的数据包大小,它通常会发出警告。代表DF“不分段”,大于 MTU 的数据包必须分段才能传输。

此外,为了防止恶意扫描仪检测服务器,通常会关闭对 ping 的响应,因此Request timed out并不一定表明存在问题。

话虽如此,我可以 ping css-tricks.com 和 jquery.com 并得到响应,所以你可能真的有问题。为了帮助缩小范围,请将你看到的这些网站的 IP 地址(ping 将在域名后的括号中报告它正在 ping 的 IP 地址)与你在其他正常工作的计算机上看到的 IP 地址进行比较。还可以尝试tracerttraceroute(取决于你的操作系统)查看你的数据包采用的路由。你和相关网站之间可能存在路由错误,这会导致数据包进入黑洞。我注意到你提到的两个网站都由媒体圣殿所以你可以尝试向他们寻求帮助。

答案2

这可能是路由中某处的路由器出现问题,阻止了 ICMP 数据包。这样做是因为一些恶意网站会出于邪恶目的使用这些数据包。有关详细信息,请参阅维基百科中的文章“Internet 控制消息协议”和“黑洞(网络)”。出于某种原因,我只在 IMDb 网站上遇到了这个问题,以下博客文章解释了我使用的 Linux 中的解决方案:

http://blog.glinskiy.com/2009/02/packetization-layer-path-mtu-discovery.html

http://fitzcarraldoblog.wordpress.com/2010/11/30/why-cant-i-access-a-specific-web-site/

要解决这个问题,您必须禁用 ICMP 并启用 PLPMD(分组层路径 MTU 发现)。不知道如何在 Windows 中执行此操作,但 Google 可能会为您指明正确的方向。

祝你好运。

答案3

尝试降低您的传出 MTU(也许是 pppoe?),它设置为默认 1492。您可以将其设置为较低的值,例如 1450。

一些“实施不当”的路由将使数据包大于以太网的物理限制,并导致互联网连接出现问题。

相关内容