VPN 问题:MTU 和 Don't-Fragment

VPN 问题:MTU 和 Don't-Fragment

我正在 Ubuntu 14.04LTS 上设置 VPN,它使用 IPSEC 并为客户端执行 NAT。它基本上可以正常工作 - 我可以从客户端(Android 设备)连接到它并浏览(例如)www.google.com。

但是我无法浏览 www.bbc.co.uk。当我尝试时,我的 VPN 服务器会收到来自 www.bbc.co.uk 的响应,其中设置了不分片位,并将其丢弃。Wireshark 显示了许多这样的信息:

119 7.904053000 212.58.246.95  MY.IP.MY.IP    TCP   1414    [TCP segment of a reassembled PDU]
120 7.904094000 MY.IP.MY.IP    212.58.246.95  ICMP  590     Destination unreachable (Fragmentation needed)

通过从 VPN 服务器 ping 我的客户端,我确定它的 MTU 约为 1380。VPN 服务器的 MTU 为 1500。

这是怎么回事应该可以正常工作吗?MTU 可能会有所不同,因此如果 BBC 设置了不分段,请问应该如何处理?

我认为,如果设置了不分片,则所有内容都应就最小的通用 MTU 达成一致。我能找出谁行为不当吗?

答案1

问题原来是防火墙(不是 Ubuntu ufw,而是我们 IT 部门提供的服务器外部的防火墙)不允许 ICMP 数据包传出。

一旦启用该功能,MTU 路径发现(或任何正在发生的事情)就开始工作,一切正常。

相关内容