「特定の通信だけ遅い」「大きなファイル転送が途中で止まる」「VPNだけ不安定」などの症状がある場合、原因としてよく挙げられるのが MTU(最大転送単位)不一致 です。
本記事では、現場で MTU 問題を確実に切り分けられるように、原因 → 確認 → コマンド例 → 対処方法 を整理して解説します。
目次
■ MTUサイズ不一致が原因で起きる主な症状
- Ping は通るが、大きなデータ通信だけ遅い/止まる
- VPN(IPsec, SSL-VPN)が断続的に切れる
- Webサイトの一部だけ読み込めない
- トンネル経由の通信だけ不安定
- Path MTU Discovery が失敗し ICMP Fragmentation Needed が返らない
特に、ファイアウォールや VPN 装置で ICMP を遮断しているケースでは、不一致による断続的な障害が非常に起こりやすくなります。
■ MTU不一致が発生する典型的なケース
- VPN トンネル内でのオーバーヘッド(IPsec 40~60byte など)
- クラウド(AWS/Azure/GCP)側の MTU がデフォルト 9001/1500
- PPPoE 経路が混在(MTU 1492)
- 一部の L3 スイッチだけ MTU を変更している
- ルータ間で Jumbo Frame を使っているのに経路途中が未対応
■ MTU不一致の確認手順
① 通常の ping が通るか確認
ping 192.168.1.1
これは大抵通るため MTU問題の判定には不十分 です。
② MTUサイズを指定したパケットで確認(Do not Fragment)
※Cisco 機器
ping 192.168.1.1 size 1472 df-bit
1472 + 28 = 1500 となり、1500byte 経路を確認できます。
【失敗した例】
Sending 1472, DF bit set
Packet needs to be fragmented but DF set.
→ MTU 不一致が発生している証拠です。
③ ネットワーク機器側の MTU を確認
show interface GigabitEthernet1/0/1
【MTU不一致の例】
GigabitEthernet1/0/1
MTU 1500 bytes, BW 1000000 Kbit
GigabitEthernet1/0/2
MTU 9000 bytes, BW 1000000 Kbit
→ 1500 と 9000 が混在しているため、途中で破棄される可能性があります。
■ MTU不一致の原因を特定するための追加確認コマンド
Path MTU Discovery の失敗確認(Linux)
tracepath 8.8.8.8
【PMTUD失敗の例】
1?: [LOCALHOST] pmtu 1500
2?: no reply
3?: no reply
→ 経路途中で Fragmentation Needed を返せない機器がある。
VPN での MTU 確認
show vpn flow
show ipsec sa
→ 一部の装置では「フラグメント発生」「ドロップ」などのカウンタが増えているのを確認できます。
■ MTU問題の解決方法
① 経路で共通の MTU に統一する
interface GigabitEthernet1/0/1
mtu 1500
特に、クラウド接続や VPN 時は 1500 が無難 です。
② VPNのオーバーヘッドを考慮して MTU を小さくする
例:IPsec VPN の場合 1400 前後が推奨されることが多い
interface Tunnel0
ip mtu 1400
ip tcp adjust-mss 1360
③ TCP MSS を調整する(最も確実)
MTU ではなく MSS を調整して断続的な切断を防ぐ方法。
interface Tunnel0
ip tcp adjust-mss 1360
※MSS = MTU – 40(TCP/IP ヘッダ)
④ ファイアウォールで ICMP Fragmentation Needed を許可する
PMTUD が機能するように ICMP type 3 code 4 を許可します。
permit icmp any any packet-too-big
■ 実例:MTU不一致による障害と復旧プロセス
【現場の状況】
- VPN経由だけ通信が断続的に切れる
- 大容量ファイル転送が必ず途中で失敗
- 通常 ping は通る
【切り分け】
ping 10.0.0.1 size 1472 df-bit
Packet needs to be fragmented but DF set.
→ MTU 1500 では通らないことが判明。
【対処】
interface Tunnel0
ip mtu 1400
ip tcp adjust-mss 1360
【復旧結果】
ping 10.0.0.1 size 1372 df-bit
!!!! (success)
→ 大容量転送も安定し、通信障害は解消。
■ まとめ
- MTU不一致は「断続的」「特定の大容量通信だけ不安定」などの特徴を持つ
- df-bit ping(Do not Fragment)で確認するのが最も有効
- VPN では特に発生しやすいので MTU/MSS 調整が必須
- ICMP packet-too-big を遮断すると PMTUD が失敗し問題が悪化する
MTU問題は現場で非常に多いトラブルの1つですが、確認ポイントを押さえると確実に切り分け可能です。
あわせて読みたい


OSPFエリア間で経路が通らない時の原因と解決手順【実務向け】
OSPF(Open Shortest Path First)は企業ネットワークで最も利用されるIGPですが、エリア間で経路が通らないという障害は現場で頻発します。 本記事では、OSPFのエリア…
あわせて読みたい


BGPピアが確立しない原因とデバッグ方法【ログと設定の見方】
BGP(Border Gateway Protocol)のピアが Idle / Active / Connect のまま確立(Established)しない問題は、ネットワーク現場で非常によく遭遇するトラブルです。 本記…
あわせて読みたい


トラフィック解析によるネットワーク最適化手法【実務者向け】
ネットワークの遅延、輻輳、アプリケーション性能劣化などの問題は、適切なトラフィック解析によって原因を特定し、効率的に最適化できます。 本記事では、実務ネットワ…
