お客様には数十台の組み込みデバイスがインストールされており、すべてOpenVPNサービスの本拠地となっています。これは一般的には正常に機能しますが、一部のお客様には深刻なパスMTU問題があります。お客様のネットワークを修正する影響は限られているため、それに対処するにはOpenVPNが必要です。一言で言えば、私の質問は次のとおりです。
クライアントごとにいくつかのクライアントの低パスMTUを緩和するにはどうすればよいですか?つまり、すべてのクライアントの最悪のケースに対応するグローバル設定を使用せずに
最悪の場合はかなり悪いことに注意してください。パスMTU 576は、すべてのフラグメントをドロップし、それ自体をフラグメント化せず、DFビットを尊重しません。この問題を世界的に解決したくない理由がわかります。
OpenVPNのマンページの最も顕著な申し出MTU関連オプションの数を、--link-mtu, --tun-mtu, --fragment and --mssfix
。しかし、それはまた言う
--link-mtu [...]何をしているのかわからない限り、このパラメーターを設定しないことが最善です。
--tun-mtu [...] MTUのサイズ設定の問題に対処するには、-fragmentおよび/または--mssfixオプションを使用するのが最善です。
私は実験を始めて--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
か? - 4つのオプションすべてをサーバー側でミラーリングする必要
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を自分で手動で決定できてうれしいです
- 現在、多くのサーバー側をテストすることはできません。しかし、我々は完全な独立したテストベッドを構築しています、すぐに準備ができているはずです。
役立つアドバイスをありがとう。
iptables
、そのクライアントIPアドレスとの間で送受信されるすべてのSYNパケットのMSSを削減するルールを挿入できます。