この iOS VPN 設定ガイドでは、実際の操作順に沿って、サブスクリプションのインポート、システムの許可、接続確認という3ステップを整理します。各ステップでどこを押すのか、画面に何が表示されるのか、異常が出たときにまず何を見るのかまで書きました。iPhone での VPN 設定で難しいのは、クライアントの有無よりも3ステップのつなぎ目です。サブスクリプションリンクをどうやってクライアントへ渡すのか、システムは何を根拠にトンネル確立を許可するのか、つないだあと通信が本当に別の出口へ出ているかをどう確かめるのか。

  1. インストールとログイン:App Store からクライアントをインストールし、ユーザー名とパスワードでログインします。メールアドレスは不要です。
  2. サブスクリプションをインポート:サブスクリプションページでリンクをコピーし、クライアントに戻って貼り付けるか QR コードを読み取ります。ノード一覧が空でないことを確認してください。
  3. 許可して接続:初回接続時に Face ID、Touch ID、またはデバイスのパスコードで VPN 構成を承認すると、ステータスバーにアイコンが表示されます。
  4. 出口を確認:オンとオフで IP と所在地を見比べ、DNS の名前解決もトンネルと一緒に切り替わっているか確かめます。

iOS の VPN は2種類ある

iOS の VPN は1種類ではありません。システム標準の VPN 項目は IKEv2 や IPSec といった標準プロトコルに対応し、設定方法は「設定」でサーバーアドレスを手入力するか、構成プロファイルをインストールするかの2通りです。この種の構成はシステムが直接管理するため、サーバーとアカウントが固定された用途に向いており、機能もトンネルの確立そのものに限られます。

もう1つはサードパーティ製のクライアントです。App Store のクライアントはシステムが提供するネットワーク拡張のインターフェースを通じてトンネルを張り、プロトコルはクライアント側で実装します。そのため Shadowsocks、VMess、VLESS、Trojan、Hysteria2、TUIC など、システムが標準では解釈できないプロトコルにも対応でき、サブスクリプションの更新、分割ルール、ノード切り替えといった機能も載せられます。サブスクリプション型のサービスはほぼこの方式です。

システム上の入口はどちらも同じで、「設定」>「一般」>「VPN とデバイス管理」です。違いは、システム標準の構成は自分で手入れするのに対し、サードパーティ製クライアントの構成はクライアントが書き込み、初回接続時に一度許可するだけで済む点です。

先に知っておきたいシステム側の制約もあります。iOS のクライアントはサンドボックス内で動作するため、デスクトップ版のようにローカルの設定ファイルを読み込むことはできません。そのためサブスクリプションをクライアントへ取り込む方法は、リンクを貼り付ける、QR コードを読み取る、クリップボードから読み込む、の3つに限られます。デスクトップ版では使えるのに iPhone では入口が見当たらない、というのはこれが理由です。

ステップ1:クライアントをインストールしてサブスクを追加

クライアントは App Store からインストールするか、ダウンロードページで機種に合ったバージョンを入手します。インストール後に開いてアカウントでログインしてください。VPN31 の登録にメールアドレスは不要で、ユーザー名とパスワードだけで利用を開始できます。ログイン後はサブスクリプション情報がアカウントに紐づくため、別途の有効化は要りません。

サブスクリプションリンクとは

ログインしてサブスクリプションページを開くと、プロトコルの接頭辞で始まるリンクが表示されます。このリンク自体はノードではなく、クライアントがアクセスするとサーバーがエンコードされたノード一覧を返します。一覧の各行が1台のサーバーに対応します(ss://、vmess://、vless://、trojan://、hysteria2://、tuic:// など)。クライアントはこの一覧を解析し、タップできるノード項目を生成します。

つまりサブスクリプションリンクはアカウントの資格情報と同じです。リンクを手に入れた人は誰でも同じノード一覧を取得でき、パスワードを知る必要はありません。スクリーンショットを共有する、グループに送る、公開ドキュメントに貼るといった行為は、サブスクリプションをそのまま渡すのと同じです。2台目の端末で使うときは、リンクを転送するのではなく、クライアントで改めてアカウントにログインして取得してください。

サブスクリプションリンクはクライアントとサーバーの間だけで使うものです。コピーする際は余計な空白や改行が入らないよう注意してください。チャットアプリによっては長いリンクの途中に改行を挿入し、貼り付けたときに形式エラーになったりノード一覧が空になったりします。

3つのインポート方法の使い分け

インポートが終わるとクライアントにノード数が表示されます。0 と表示されたら、まず前の手順に戻ってリンクが欠けていないか確認してください。ノードを変えるのは後回しです。ノード一覧が空の状態では、どのノードに変えてもつながりません。

ステップ2:VPN 構成を許可して接続する

ノードを選んで接続をタップします。初回は必ずシステムのダイアログ「クライアント名が VPN 構成を追加しようとしています」が出ます。これはクライアントの宣伝ではなく、iOS の必須の承認フローです。ネットワーク拡張がトンネルを張るには、Face ID、Touch ID、またはデバイスのパスコードによる確認が1回必要です。承認すると、この構成がシステム設定に書き込まれます。

誤って「許可しない」を押した場合、クライアントでもう一度接続をタップしても通常はダイアログが出ません。手動で対処します。「設定」>「一般」>「VPN とデバイス管理」>「VPN」を開き、一覧に該当する項目があるか確認してください。無い場合は、クライアントで構成を削除してから再接続すると、ダイアログが再び表示されます。

接続成功のサインは3つあり、どれか1つを確認すれば十分です。ステータスバーまたはコントロールセンターに VPN アイコンが出る。「設定」>「一般」>「VPN とデバイス管理」で該当項目の状態が「接続済み」になる。クライアントのホームが「未接続」から「接続済み」に変わり、現在のノードが表示される。

ノードとプロトコルの選び方

回線タイプは3種類です。IEPL 専用線は端から端まで専用の経路で、公衆網の出口を通らないため夜のピーク時間でも揺らぎが最小です。中継はまず入口ノードに入ってから拠点へ転送する方式で、コストと安定性は中間に位置します。直結は海外のサーバーへ直接つなぐ方式で、国際出口の混雑の影響をもっとも受けます。モバイル回線や家庭のブロードバンドでは、IEPL 専用線を優先し、次に中継、直結は予備として残してください。

プロトコルについて、iOS クライアントは Shadowsocks、VMess、VLESS、Trojan、Hysteria2、TUIC に対応します。前の4つは TCP ベースで、ハンドシェイクが安定しており、ネットワーク上の中間機器にも扱いやすい方式です。Hysteria2 と TUIC は QUIC ベースで UDP を使うため、UDP が通るネットワークでは遅延の面で有利ですが、公共 Wi-Fi や企業ネットワークでは UDP 443 が制限されることがあり、その場合はずっと読み込み中のままつながりません。そうなったら TCP 系のプロトコルに戻してください。

ステップ3:3つの方法で出口確認

クライアントが「接続済み」と表示しても、それはトンネルが張られたというだけで、通信が本当にトンネルを通っている保証にはなりません。分割ルールの設定ミス、DNS が引き継がれていない、システムが通信をローカルネットワークへ通している、といった場合、「接続済み」は意味を持ちません。以下の3つの方法は易しい順に並べています。少なくとも最初の2つは試してください。

方法1:オンとオフで比較する

まず VPN をオフにして IP 確認ページを開き、現在の IP アドレスと所在地を控えます。次に VPN をオンにして同じページを再読み込みします。2回の結果で IP と所在地がどちらも変わっていれば、出口は切り替わっています。IP だけ変わって所在地が同じままなら、ノードの出口がその地域にあるか、分割ルールがその確認サイトを直結にしているかのどちらかです。

方法2:ノードの所在地と照合する

IP 確認ページに表示される国と都市は、選んだノードと一致しているはずです。東京のノードを選んだのにシンガポールと表示される場合は、クライアントが既定のノードに戻っているか、サブスクリプション内のノード順が並べ替えられています。この手順は、クライアントのノード選択が本当に効いているかの確認も兼ねます。

方法3:DNS を確認する

同じページには通常、DNS リゾルバの所在地も表示されます。DNS がローカルの通信事業者のアドレスになっていれば、名前解決がトンネルを通っておらず、DNS リークが起きています。ページ自体はノード経由でも、解決の過程がローカルネットワークに露出している状態です。多くのクライアントは既定で DNS を引き継ぎます。リークがある場合は、LAN バイパスが有効になっていないか、外部 DNS を手動指定していないかを確認してください。

iCloud プライベートリレーは判定を妨げます。iPhone でプライベートリレーを有効にすると、Safari の通信はまずリレーノードを経てから VPN トンネルに入るため、確認ページには自分のノードではなくリレーのアドレスが見えることがあります。確認するときは設定でプライベートリレーをオフにするか、Safari 以外のブラウザで測り直してください。

確認項目 確認方法 正常な状態 異常時の対処
出口 IP VPN のオンとオフでそれぞれ確認 2回の結果が異なる 分割ルールで確認サイトが直結になっていないか見る
所在地 結果と選択中のノードを比べる 国と都市が一致している ノードを選び直し、クライアントに反映されたか確認
DNS リゾルバの所在地を見る ノードの所在地と一致している LAN バイパスを切り、クライアントに DNS を任せる
アプリ層 その地域でしか提供されていないサービスを開く ページが正常に表示される ノードを変えるか、TCP 系プロトコルで再試行

まず出口を確認し、それから回線を評価する。接続できたのはスタートにすぎません。IP、所在地、DNS の3項目が期待どおりになって初めて、その経路は実際に使えると言えます。そうでなければ、どんなに速いノードでも通信を元の場所に送り返しているだけです。

よくある失敗3つと切り分け順

設定中に繰り返し出る失敗は、おおむね次の3種類に収まります。順番に切り分けたほうが、ノードを片っ端から変えるよりはるかに効率的です。

3つすべてを除外してもつながらない場合は、アカウント側を疑います。サブスクリプションの期限が切れていないか、ログイン状態が正常か。VPN31 は台数制限がないため、同じアカウントで複数の端末に同時にログインできます。端末数のせいであることは通常ありません。

3つの確認がすべて通った状態は、IP と所在地がどちらもノードの所在地を指し、DNS 解決も同じく海外で行われ、よく使うアプリが普通に開ける状態です。このときノードとプロトコルを控えておけば、次の外出時はそのまま使えて、試行錯誤をやり直さずに済みます。

分割ルールとオンデマンド接続

接続が安定したら、あと2つの設定に数分かけておく価値があります。

分割ルール

クライアントは通常3つのモードを用意しています。グローバルモードはすべての通信をトンネルに入れますが、シンプルな代わりにローカルのサービスが遅くなります。ダイレクトモードは通信を転送せず、一時的な切り分けに使います。ルールモードはドメイン、IP レンジ、地域データベースで判断し、国内のサイトは直結、海外のサイトはノード経由にします。日常使いの既定はこれです。ルールモードの利点は、銀行、決済、LAN 内の機器などローカルネットワークに依存する場面が影響を受けないことです。

ルールセットは定期的に更新しないと、新しいドメインが誤った分類に入ることがあります。クライアントのルール更新はサブスクリプション更新と同じ場所にあることが多いので、ついでに1回押しておけば十分です。

オンデマンド接続

iOS のシステム VPN 構成には「オンデマンド接続」という項目があり、特定のネットワーク条件で自動的にトンネルを張るよう設定できます。たとえば特定の Wi-Fi から離れたときに自動で接続する、といった使い方です。毎回手動で押さなくてよいのが利点ですが、トンネルが常駐するとバッテリーを消費し続け、バックグラウンド復帰時に通信が発生することもあります。日常の通勤時には有効でも、長く使わないときはオフをおすすめします。

自宅にプリンター、画面投影の機器、LAN 内ストレージがある場合は「LAN へのアクセスを許可」のようなスイッチにも注意してください。オンにするとローカルの機器同士は引き続き相互アクセスでき、オフにするとすべての通信がトンネルに入ります。どちらが優れているというものではなく、接続中に LAN の機器を使うかどうかで決まります。

サブスクリプションの範囲が、クライアントに表示されるノード数になります。現在は 100+ の国・地域、230+ の回線を用意し、回線タイプは IEPL 専用線、中継、直結を組み合わせています。アカウントは台数制限がなく、同じサブスクリプションで iPhone、iPad、Mac に同時にログインできます。合うかどうかの判断がつかない場合は、14 日間の理由不要の返金があるので、試す余地があります。

100+ カバーする国・地域。ノードの所在地と照合して確かめられます
230+ 回線。IEPL 専用線、中継、直結の組み合わせ
台数無制限 同じアカウントで複数端末が同時にオンライン
14 日間 理由不要の返金。まず試してから決められます

長く使うための習慣

ノードの数より設定の順序が大事です。サブスクリプションのインポート、システムの許可、出口の確認という3ステップを終えれば、あとはノードを変えるだけで経路が変わるだけです。順序を間違えると、ノードがいくらあってもつながりません。