web-dev-qa-db-ja.com

MTU問題のエミュレート-大きなパケットをドロップするにはどうすればよいですか

ラップトップを持って外出するときは、OpenVPNを使用してパブリックWiFi経由でサーバーに接続します。ときどき、MTUの問題であると想定しなければならないことに遭遇します。大きなパケットはドロップされ、小さなパケットは通過します。

この状況では、私はパブリックWiFiサービスを制御できず、ローカルプロバイダーはほぼ確実に「ブラックボックス」をインストールし、技術的な問題について何も知らないため、根本的な問題を修正できず、代わりに修正する必要があります。適切な回避策を見つけてください。必然的に、通常の環境から離れることは、そのような問題を解決しようとするのに都合の良い時間ではないので、私は「やらなければならない」ことになります。

MTUの問題をエミュレートできるテスト環境を構成して、外出先で使用するのに適したソリューションを見つけられるようにしたいと思います。

私はWindowsクライアントを使用していますが、OpenVPNの場合、それはそれほど重要ではないと思います。 Linuxベースのサーバーを直接制御できます(実際には Sophos UTM です)。ラボ環境内で、クライアントとサーバーの間のチェーンに1つ以上のLinuxベースのデバイスを挿入できます。

大きなUDPパケット(1200 <サイズ<= 1500など)を意図的にドロップするための提案はありますか?

1
roaima

Do n't Fragmentビットがオンになっていることを確認する必要があります:

echo 0 >/proc/sys/net/ipv4/ip_no_pmtu_disc

次に、インターフェイスのMTUを変更できます。

ip link set dev eth0 mtu 1200

1200を超えるUDPパケットが到着すると、ドロップされます。

ちなみに、 このリンク はVPNMTU関連の問題を解決するのに役立つ可能性があります。

3
Sanael