更新記事

数分〜5分おきにVPNが切断されてしまう原因と解決方法

PMTUD_VPN

原因はPMTUDブラックホール現象発生の疑い!?

VPNには接続できているのに、一定時間が経過すると勝手にVPN接続が切れてしまう。中国でVPNを使用と頻繁に起る現象ですがこの現象はPMTUDブラックホールという現象の疑いがあります。

※下記の説明はあくまで初心者向けの内容です。厳密には違う箇所もございますが、ご了承をお願い致します。

PMTUDブラックホールとVPN切断の関係

インターネットのデータ通信は[パソコン・スマホ・タブレット]⇄[ブロードバンドルータ]⇄[施設に備え付けのモデム]⇄[回線]というように、いくつかの機器を経てはじめて回線上にたどり着きデータを送り出したり受け取ったりしています。

これらの、経由地点にあたる機器同士はお互いにデータをスムーズかつ正確にやり取りするために、荷物(データ)の大きさや量を示し合わせて調整しながらデータを運んでいます。

各機器同は一度に処理できる荷物(データ)のサイズや量がバラバラな場合があります。発売された時期やメーカーによって性能の違いがあります。
例えばパソコンや通信回線は最新モデルであっても通信経路上のブロードバンドルータが5年落ちの古いモデルだと5年前の最大値が基準になるため、最新式のパソコンや回線の通信速度に対応するが難しくなります。

このような問題は、どうしても起ってしまうため、ブロードバンドルータにはICMP DU/FNと呼ばれる機能があります。「データが大きすぎるので分割してください!(データの分割指令)」という指示を接続する機器へ伝えるための機能です

簡単なPMTUDブラックホールのイメージ図

PMTUDブラックホールイメージ図

  • ⬇①パソコンやスマホからデータを送信する時
  • ⬇②ICMPが無効になっていると、MTUのサイズが分割自動調整されずPCやスマホは大きいサイズのまま送ってしまう
  • ⬇③データがインターネット回線に届く前のルータ上でデータが詰まりエラーを起こす
  • ⬇④インターネットやVPNは端末からの応答が無いので自動的に切れる

ICMPは悪用されてしまう危険性がある「Pingフラッド」攻撃

ICMPはデータの分割指令をリクエストを出した機器に返答する機能があります。リクエストする機器を偽装し、リクエストの返答を受け取る端末をターゲット設定します。リクエストを受けたICMPが有効になっているブロードバンドルータとそのルータに接続している機器すべてがターゲットに設定された端末に一斉にリクエストの返事を返します。

その結果、ターゲットの端末には一斉に指令がなだれ込み処理しきれない数のリクエストが殺到してしまうと、ターゲットの端末は処理しきれずダウンしてしまいます。

不特定多数が接続するブロードバンドルータのICMPをオフに

不特定多数が接続するホテルや寮、カフェや学校や会社など多くの人が接続する可能性の高い場所のブロードバンドルータのICMPはオフにするのが鉄則となっているようです。ICMPをオフにしていれば「Pingフラッド」攻撃に利用されるリスクは無くなるため、その接続環境を管理する責任者はセキュリティを確保できます。

ICMPオフの最大のデメリット「PMTUDブラックホール現象」

ICMPをオフにする事で「Pingフラッド」攻撃を予防する事に成功しますが、今度はブロードバンドルータに接続する端末に悪影響がでます。
ICMPで荷物(データ)の大きさをパソコンやスマホ側とルータ側がお互いに調整することでスムーズに運べていたはずが、ICMPでの調整ができなくなってしまいます。
パソコンやスマホはルータからのICMPの指令が無い場合、回線の速度に最適なサイズを勝手に予想して荷物(データ)を送り続けます。

そうなるとブロードバンドルータ側には勝手なサイズの荷物が届き放題になり、「こんなに荷物一度に送れないよ〜」と悲鳴を上げて荷物を運ぶのを諦めてしまいます。パソコンやスマホはその間も勝手な大きさの荷物をルータ側に送り続けます。

その結果、最終的に一定時間経過後「応答しない状態」になって、そのままVPNも切断される事となります。これが「PMTUDブラックホール現象」の原理です。

VPNが切断されてしまう「PMTUDブラックホール現象」解決方法

ICMPは[データの分割指令]つまり大きい荷物(データ)を小さくするようにするための命令ですので、荷物(データ)を送る時の最大のサイズを小さくしてしまえば解決します。

荷物(データ)のサイズはMTUというパラメータで呼ばれています。このMTUの値を小さく設定する事でICMPでの調整をしなくても「PMTUDブラックホール現象」を回避する事が可能になります。

鍵となるのはMTU値とRWIN値の変更

パソコン上では手動でMTU値とRWIN値の変更が可能です。しかしAndroid端末やiPhoneなどのiOS端末は自動でMTU値を決定する仕様となっているため手動で変更する事ができません。厳密に言えば脱獄(ジェイルブレイク・JB)等を行うことで可能ではありますが、高度な技術を要するため一般の方が設定するには難しい設定となります。

MTU値とRWIN値を簡単に変更できるWindows向けフリーソフト

Windows XPの速度向上設定

「「EditMTU」でMTUとRWINを簡単設定(手動設定編)

「EditMTU」を利用したWindows XPでの通信速度向上のチューニング方法

接続不具合ルータを変えるだけで劇的に改善するかも!?

※月餅VPNでは上記のツールの使用を奨励しておりません。使用と設定はくれぐれも自己責任でお願い致します。

MacOSでVPNにつながらない場合または切断される場合

関連記事

コメントは利用できません。

お客様の声

お問い合わせ対応時間は日本時間12時〜17時まで お支払い認証可能クレジットカードはVisa,JCB,MasterCardです。銀行振込はジャパンネットバンク銀行で受付 会員ページログイン専用QRコード
ご利用開始までの流れ
無料体験会員登録ボタン&Sign Up
ページ上部へ戻る