【入門編】 VPN接続時におけるMTU(Maximum Transmission Unit)とMSS調整の仕組み – ゼロトラスト&エンタープライズセキュリティ実践ガイド

VPNがつながらない?その原因は「荷物のサイズ」にあるかもしれません:MTUとMSSのやさしい話

ネットワークエンジニアの皆さん、こんにちは。現場でバリバリ働いていると、「VPNを張った途端に、特定のサイトだけ見られない」「SSHはつながるのに、ファイル転送で固まる」なんていう不可解なトラブルに遭遇したことはありませんか?

実はこれ、「パケットの断片化」という現象が原因であることが非常に多いんです。今回は、ネットワーク界の「宅急便」に例えて、MTUとMSSの仕組みを紐解いていきましょう。

—

ネットワークは「宅急便」と同じ

インターネットを流れるデータは、小さな小包(パケット)に分けられて目的地へ運ばれます。このとき、一度に運べる小包の最大サイズが決まっているのですが、これを専門用語で MTU(Maximum Transmission Unit)と呼びます。

通常、インターネット上の標準的な MTU は 1500 バイトです。

ところが、VPNを使うと状況が一変します。VPNはデータを暗号化し、さらにそれを別のカプセルに包んで運びます。イメージしてみてください。「普通の小包」を「頑丈なセキュリティケース」に詰め直して送るようなものです。

当然、セキュリティケースの分だけ、全体のサイズは大きくなりますよね。これが「オーバーヘッド」です。

なぜ「断片化」が起きるのか?

もし、詰め直した後の荷物が 1500 バイトを超えてしまうと、途中のルーターはパニックになります。「おいおい、この道を通れるサイズじゃないぞ!」と。

そこでルーターは、大きな荷物を二つに切り分けて(断片化して)送ろうとします。しかし、最近のセキュリティ機器やクラウド環境は、この「切り分けられた荷物」を「怪しい攻撃パケットだ!」と判断して破棄してしまうことが非常に多いんです。

これが、VPN接続時になぜか通信が止まる、あの「謎の現象」の正体です。

—

解決の切り札:MSS Clamping

この問題を解決する魔法の杖が MSS(Maximum Segment Size)の調整です。

MSS は、小包の中に詰め込める「中身(データ)」の最大サイズのこと。MTU が外箱のサイズなら、MSS は中身のサイズです。

VPNによる「カプセル化の分」だけ、最初から中身を少し小さめにしておけば、外箱が 1500 バイトを超えずに済むわけです。これを「MSS Clamping(固定)」と呼びます。

—

実践!設定の現場から

では、具体的にどう設定すればいいのでしょうか。代表的なルーター(Cisco系など)での設定例を見てみましょう。

Ciscoルーターでの設定例

トンネルインターフェース(VPNの出口)に対して、以下のように設定を行います。

# トンネルインターフェースの設定モードに入ります
interface Tunnel1
  # MSSを1360に制限する(標準の1460からVPNのオーバーヘッド分を引くのがコツです)
  ip tcp adjust-mss 1360

Linux(iptables)での設定例

サーバーをVPNゲートウェイとして使っている場合、iptablesで強制的に調整することも可能です。

# TCPのSYNパケットを捕まえて、MSSを1360に書き換えるルール
iptables -t mangle -A FORWARD -p tcp --tcp-flags SYN,RST SYN -j TCPMSS --set-mss 1360

現場でトラブルに遭遇したら?

「VPNがつながらない」という連絡が来たら、まずは以下のステップで確認してみてください。

1. Pingで巨大なパケットを送ってみる
Windowsなら ping 192.168.1.1 -f -l 1472 のようにコマンドを打ちます。-f は「断片化禁止」オプションです。これでエラーが出るなら、どこかでサイズ制限に引っかかっています。
2. TCPのハンドシェイクを疑う
Wireshark などのツールでパケットキャプチャをとり、TCPのコネクション確立(SYNパケット)が成功しているか確認してください。MSSの値がネゴシエーションされているかが見えると、原因は一発で特定できます。
3. MSSを少しずつ下げてみる
1360でもダメなら、思い切って 1300 や 1280 に下げてみましょう。これで解消するなら、原因は間違いなくサイズオーバーです。

—

まとめ:一歩ずつ理解すれば怖くない

ネットワークのトラブルは、目に見えない分だけ難しく感じますが、このように「荷物のサイズ」という物理的な概念に置き換えると、途端にシンプルに見えてきます。

「MTUは外箱、MSSは中身」。この基本さえ押さえておけば、どんな複雑なVPN環境でも落ち着いて対処できるはずです。皆さんの現場のネットワークが、今日も快適に、そして安全にパケットを運び続けられることを願っています!

それでは、次回の技術解説でお会いしましょう。ハッピー・ネットワーキング!

コメント

タイトルとURLをコピーしました