OpenVPN:如何缓解每个客户端的路径MTU问题?
我们在客户处安装了数十种嵌入式设备,所有这些设备都是我们的OpenVPN服务的所在地。总体而言,这可以正常工作,但是我们的一些客户在路径MTU方面存在严重问题。我们对客户修复网络的影响是有限的,因此我们需要OpenVPN对其进行处理。简而言之,我的问题是: 我如何减轻每个客户端基于某些客户端的低路径MTU,即不使用全局设置来适应所有客户端的最坏情况 请注意,我们的最坏情况非常糟糕:路径MTU 576会丢弃所有片段,不会自身进行片段化,也不会使用DF位。您会明白为什么我不想在全球范围内解决此问题。 该OpenVPN的联机帮助提供了许多MTU的相关选项,最显着的--link-mtu, --tun-mtu, --fragment and --mssfix。但这也说 --link-mtu [...]除非您知道自己在做什么,否则最好不要设置此参数。 --tun-mtu [...]最好使用--fragment和/或--mssfix选项来处理MTU尺寸调整问题。 于是我开始尝试用--fragment和--mssfix,但很快就意识到,至少前者必须设置不仅客户端,但也服务器端。然后,我通过看到服务器端的每个客户端的配置--client-config-dir,但它说 以下选项在特定于客户端的上下文中合法:--push,--push-reset,--iroute,--ifconfig-push和--config。 没有提及MTU选项! 所以这是我更具体的问题: 到底为什么是link-mtu和tun-mtu沮丧?这些选项潜在的问题是什么?请注意,我对低级IP标头处理非常满意。 link-mtu tun-mtu fragment mssfix为了工作,必须在服务器端镜像哪个选项? link-mtu tun-mtu fragment mssfix可以在哪个选项中使用client-config-dir? 如果所有四个选项都必须在服务器端进行镜像,并且不能在内部使用client-config-dir:是否有其他方法可以解决每个客户端的低路径MTU? 笔记: 我的部分问题已经在5年前在这里提出过,但是那时还没有真正得到回答,因此我敢于重复它们。 OpenVPN服务器当前在Ubuntu 12.04上为2.2.1。我们正在准备在Ubuntu 14.04上升级到2.3.2 OpenVPN客户端在Debian 7.6上为2.2.1 我很高兴自己亲自确定客户的路径MTU 目前,我们无法测试太多服务器端。但是我们正在建立一个完整的独立测试台,应该尽快准备就绪。 感谢您提供任何有用的建议。