这个奇怪的 MTU 是怎么回事?

这个奇怪的 MTU 是怎么回事?

我们办公室有一台服务器 mike,它通过 VPN 与远程服务器通信。出现了各种问题,似乎与 MTU 大小有关。Mike 是一台 RHEL 3 服务器,而客户服务器是 CentOS 5。我使用 tracepath 工具尝试查找最大 MTU,结果得到了这个奇怪的结果

[root@mike root]# tracepath 192.168.1.4
 1:  mike (192.168.100.1)                                  0.170ms pmtu 552
 1:  mike (192.168.100.1)                                  0.011ms pmtu 552
 1:  mike (192.168.100.1)                                  0.010ms pmtu 552

snip - thousands of lines of the same output

 1:  mike (192.168.100.1)                                  0.025ms pmtu 552
 1:  192.168.100.252 (192.168.100.252)                        0.405ms
 2:  192.168.100.253 (192.168.100.253)                        0.876ms
 3:  192.168.1.4 (192.168.1.4)                         97.1000ms reached
     Resume: pmtu 552 hops 3 back 3

从我们办公室的另一台服务器到另一个客户,我得到了更合理的结果

[root@nora ~]# tracepath 192.168.2.1
 1:  nora (192.168.100.228)                                0.080ms pmtu 1500
 1:  192.168.100.253 (192.168.13.253)                      asymm  2   0.813ms
 2:  no reply
 3:  192.168.11.1 (192.168.11.1)                           73.210ms reached
     Resume: pmtu 1500 hops 3 back 3

所以我认为这与麦克风有关,而不是路由器、防火墙或中间的 VPN。有什么想法吗?

针对 Daniel Lawson 的以下回答,以下是我认为问题出在服务器 Mike 上的原因,因为 Nora 能够得到正确的响应

[root@nora ~]# tracepath 192.168.1.4
 1:  nora (192.168.100.228)                                0.101ms pmtu 1500
 1:  192.168.100.253 (192.168.100.253)                      asymm  2   0.863ms
 2:  no reply
 3:  192.168.1.4 (192.168.1.4)                        111.601ms reached
     Resume: pmtu 1500 hops 3 back 3

回应 Mike Pennington 的评论 192.168.100.252 和 192.168.100.253 都是防火墙。默认网关是 192.168.100.252,它有一个静态路由,供这些客户将流量发送到 192.168.100.253。由于它们在同一个网络上,我猜这就是跳数没有增加的原因。

答案1

从您所说的内容来看,从服务器“mike”到一个客户的路径限制为 552,而从“nora”到另一个客户的不同路径则不受限制。

您没有比较相同的路径,因此除非有更多信息,否则我怀疑这是否特定于服务器“mike”。PMTU 是路径上的受限 MTU,因此如果这是特定于 mike 的,那么它应该发生在您跟踪路径的任何机器上。

鉴于您使用的是 VPN 连接,因此看到受限的 PMTU 并不奇怪。我会检查第一个客户的 VPN 配置的 MTU 设置,还会尝试检查直接到客户 VPN 端点(例如,终止 VPN 的公共 IP 地址)的 MTU。其中一个方法可能可以回答您的问题。

答案2

不同供应商的防火墙和 VPN 都经常会采用这种做法 - 例如,检查点会将某些类型流量的 MTU 降低到 1500 以下。

答案3

如果您手边有一台 Windows 机器,您可以在 traceroute 模式下运行 mturoute 来确定哪个链接/跳跃具有较低的 MTU。

http://www.elifulkerson.com/projects/mturoute.php

答案4

我认为该问题与 Juniper 未在 PMTUD 的 ICMP 不可达数据包中返回 MTU 值有关。我之前在 Juniper 上也遇到过类似的问题

相关内容