OpenVPN は接続できているのに、Web サイトの一部だけ開けない、SSH は通るのに大きな通信で止まる、特定の経路だけ不安定になる。このような場合、認証や証明書ではなく MTU / MSS の問題を疑う必要があります。
この記事では、OpenVPN の MTU 設定を、mssfix、fragment、tun-mtu の役割に分けて整理します。
OpenVPN ではヘッダ分の余裕が必要になる
OpenVPN は、元の IP パケットを VPN のパケットとして包みます。そのため、物理回線の MTU をそのまま使えるとは限りません。特に PPPoE、IPv6、GRE、OpenVPN を重ねるような構成では、オーバーヘッドが積み重なります。
- 元の IP パケット
- OpenVPN のヘッダ
- UDP または TCP のヘッダ
- 外側 IP ヘッダ
- 必要に応じて PPPoE や GRE などのヘッダ
mssfix は TCP の MSS を調整する
mssfix は、OpenVPN 経由で流れる TCP 通信の MSS を調整するための設定です。大きすぎる TCP セグメントを避けることで、フラグメントや PMTUD の問題を回避しやすくなります。
設定例
mssfix 1360値は環境によって変わります。PPPoE やトンネルを重ねている場合は、かなり小さめにする必要が出ることがあります。
tun-mtu はトンネルインターフェイスの MTU を決める
tun-mtu は、OpenVPN の TUN インターフェイス側で扱う MTU です。mssfix が TCP MSS の調整であるのに対し、tun-mtu はトンネルインターフェイスそのものの MTU に関わります。
設定例
tun-mtu 1400
mssfix 1360tun-mtu と mssfix は同じものではありません。TCP だけでなく UDP や ICMP なども含めて考える場合、MTU と MSS を分けて見る必要があります。
fragment は基本的に慎重に扱う
fragment は、OpenVPN 側でパケットを分割する設定です。古い構成や特定環境では使われてきましたが、現在は安易に使うより、まず MTU / MSS と経路側の問題を整理する方が安全です。
古い設定例
fragment 1300
mssfix 1300fragment を使うと問題が隠れて見えることがあります。恒久対応として使う前に、物理回線、PPPoE、IPv6、Firewall、PMTUD、MSS clamp のどこで詰まっているかを確認します。
確認コマンド
MTU 問題は、接続できるかどうかだけでは判断できません。サイズを変えて ping したり、経路上でフラグメントが必要になっていないかを確認します。
ping -M do -s 1360 192.0.2.1
tracepath 192.0.2.1
ip link show tun0OpenVPN が動いている環境や OS によってコマンドは変わります。重要なのは、単に ping が通るかではなく、どのサイズまで通るかを見ることです。
VyOS では経路側の MSS 調整も見る
VyOS で OpenVPN や GRE、PPPoE を組み合わせる場合、OpenVPN 設定だけではなく、インターフェイス側の MSS clamp も確認します。
set interfaces tunnel tun1000 mtu '1376'
set interfaces tunnel tun1000 ip adjust-mss '1336'
set interfaces tunnel tun1000 ipv6 adjust-mss '1316'どこで MSS を調整するかは設計次第です。OpenVPN 側、VyOS のトンネル側、Firewall 側で同じ問題を別々に処理し始めると、後から原因が追いにくくなります。
まとめ
OpenVPN の MTU 問題は、接続可否ではなく、接続後の通信品質として現れることがあります。mssfix、tun-mtu、fragment はそれぞれ役割が違うため、まとめて「MTU 設定」として雑に扱わない方が安全です。
まずは経路全体のオーバーヘッドを把握し、TCP MSS の調整、トンネル MTU、PMTUD、Firewall の影響を分けて確認します。VPN 経路は、暗号化だけでなくパケットサイズの設計でもあります。
関連する記事
- OpenVPN のパケット構造 – TLS 制御チャネルとデータチャネルを理解する
MTU 問題の前提になる OpenVPN のチャネル構造を整理します。 - VyOS OpenVPN Site-to-Site TLS 設定 – MTU / MSS / ルーティングを合わせて考える
VyOS で OpenVPN を構成する場合の実装寄りの記事です。 - VyOS TCP MSS 調整 – PPPoE / VPN 経路で考える
VPN 経路で MSS 調整を考える記事です。
次に進む
- OpenVPN のパケット構造から確認する
OpenVPN 系の記事を読む場合は、まず制御チャネルとデータチャネルの違いから確認すると整理しやすくなります。
参考書籍
VPN、MTU、経路制御を含むネットワーク設計の前提を確認したい場合の参考書籍です。
Amazon で見るこのリンクは Amazon アソシエイトリンクです。

