100+
対応国・地域
使えるアプリの入手からサブスクの読み込み、構成の許可、動作確認まで、順番どおりに進めれば iOS での初回接続は完了します。
iOS で初めて VPN を設定するとき、つまずくのはアカウントではなくシステム側の許可の層です。アプリをどこから入れるのか、サブスクリプション URL はどの欄に貼るのか、表示される「許可」は押すべきなのか、接続後に通信が本当に回線側を通っているかをどう確かめるのか。この記事では「アプリ入手 → サブスク読み込み → 構成の許可 → 動作確認」の順に、iOS VPN のゼロからの流れを一通りたどり、各手順で自分で確認できる結果を挙げていきます。読み終えれば、どこで止まっているかが分かります。
まず前提を一つ。iOS の「設定」にある「VPN」は IKEv2、IPSec、L2TP over IPSec といった標準トンネルしか扱えず、Shadowsocks、VMess、Trojan、VLESS、Hysteria2、TUIC といったサブスクリプション型サービスでよく使われるプロトコルは内蔵されていません。iPhone や iPad でサブスクリプション型の国際回線を使うには、Network Extension を備えたクライアントアプリを入れ、プロトコル・振り分け・サブスクリプション更新をそこに任せる必要があります。
iOS でトンネルを作れる入口は 3 つあり、入口を間違えると以降の手順がすべてかみ合いません。
| 接続方式 | 主な入手元 | 対応プロトコル | 向いている場面 | 注意点 |
|---|---|---|---|---|
| クライアントアプリ | App Store、サービス提供元の公式チャネル | Shadowsocks、VMess、Trojan、VLESS、Hysteria2、TUIC など | サブスクリプション型の国際回線、ルールによる振り分けが必要な場合 | 初回の構成追加時に許可が必要。バックグラウンドで回収されたらアプリから再接続する |
| システムの VPN 構成 | 手動入力、またはサービス提供元が配布するパラメータ | IKEv2、IPSec、L2TP over IPSec | 社内ネットワーク、自前の標準トンネル | サブスクリプション URL は使えず、サーバー変更のたびに個別に直す必要がある |
| 構成プロファイル | サービス提供元が配布 | プロファイルの内容による | 一括配備、複数端末への共通設定 | 配布元が信頼できること。インストール後は「デバイス管理」で確認できる |
以降はクライアントアプリを主軸に進めます。サブスクリプションの読み込み、振り分けルール、動作確認はクライアントアプリの中でしか成立しないからです。システムの VPN 構成や構成プロファイルは、用途が固定された場面向けの一回限りのトンネルに近いものです。
iOS クライアントの入手元は 2 種類だけです。App Store で配信されているアプリと、サービス提供元が独自に配布するインストーラです。前者は審査の制約を受け、更新も App Store 経由になります。後者は企業署名での配布が多く、証明書が失効するとアプリが起動しなくなります。
クライアント名で検索するときは、まず開発者欄が同じチームかどうかを確認してください。同名のアプリは少なくありません。インストール後に開き、プロトコル一覧に自分のサブスクリプションで使うプロトコル(Shadowsocks、Trojan、VLESS、Hysteria2 など)が含まれているかを確かめます。ここが欠けていると、読み込み後に「ノードはあるのに接続できない」状態になります。
クライアントによっては特定地域の App Store でしか配信されていません。現在の地域で見つからない場合は Apple ID の国・地域を切り替える必要がありますが、切り替え前にアカウント残高と継続中のサブスクリプションを処理しておく必要があり、切り替え後に既存の購入済み項目は引き継がれません。この作業はコストが大きいので、クライアントを試すためだけに何度も切り替えるのはおすすめしません。
サービスによっては、管理画面にクライアントのダウンロード入口とサブスクリプション URL が用意されており、ログインすれば取得できます。こうした入口からダウンロードするときは、インストーラがルート証明書のインストールを求めていないか注意してください。誰が発行した証明書で用途は何なのかを先に確認し、出所の分からないルート証明書は入れないでください。
サブスクリプション URL は 1 本の URL です。クライアントがそれを取得するとノード一覧が返ってきます。よくある形式は Base64 でエンコードされた ss://、vmess://、trojan://、vless:// のリンクで、ほかに Clash 系の YAML や sing-box の JSON などクライアント専用形式の場合もあります。以降はクライアントが設定した周期でサブスクリプションを更新するため、サーバー側でノードが増減しても手動で直す必要はありません。
| 方法 | 操作 | 向いている場面 | つまずきやすい点 |
|---|---|---|---|
| サブスクリプション URL | URL をコピーし、クライアントのサブスク欄に追加して更新 | スマホでも PC でも同じ。ノードはサーバー側の更新に追随 | チャットアプリで URL が途中で切れる、前後に空白が入る、スキームを書き間違える |
| QR コード | 管理画面で QR コードを生成し、クライアントで読み取る | スマホでの入力が少なく、一時的な追加に向く | スクリーンショットの転送は認証情報の公開と同じ。QR コードは失効することがある |
| 手動入力 | サーバー、ポート、パスワード、転送方式、偽装パラメータを項目ごとに入力 | ノードが 1 つだけのとき、切り分け調査のとき | 項目が多く、1 つ漏れるとハンドシェイクに失敗する。ノード変更のたびに入力し直し |
サブスクリプション URL を貼ったら、まず「サブスクを更新」を 1 回押し、ノード一覧が本当に取得できたか確認します。一覧が空の場合は、URL が途中で切れている、前後に空白が入っている、あるいは現在のネットワークからサブスクのドメインに到達できない、のいずれかが一般的です。
クライアントに表示されるレイテンシは、アプリ自身がプローブを送って測った値で、その端末からそのノードまでの現時点の往復時間を意味するだけです。時間帯やローカルネットワークによって変動し、サービスの保証値ではありません。ノード選びの参考にはしても、指標にはしないでください。
サブスクリプション URL はアカウントの認証情報と同じです。入手した人は誰でもあなたの通信を使えます。グループに送る、公開リポジトリに貼る、スクリーンショットで隠し忘れる、いずれも漏えいです。漏えいに気づいたら管理画面でサブスクリプション URL を再発行してください。古い URL はその時点で無効になるので、クライアントに戻って読み込み直します。
クライアントで初めて接続を押すと、iOS がシステムレベルの確認ダイアログを出します。内容は「〇〇が VPN 構成を追加しようとしています」というものです。これはアプリ独自のポップアップではなく、システムが代わりに確認しているもので、許可を押して初めて構成がシステムに書き込まれます。
システムが端末のパスコードまたは Face ID / Touch ID で本人確認を行い、その VPN 構成を「設定 → 一般 → VPN とデバイス管理」に書き込みます。ステータスバーに VPN の表示が出れば、トンネルは確立しています。
構成は書き込まれず、クライアントは未接続のまま止まります。クライアントに戻ってもう一度接続を押すと、システムが再度ダイアログを出します。出なくなった場合は、クライアントを削除して入れ直すと戻ることがほとんどです。デバイス管理に残った古い構成は、同じ画面で削除してから作り直せます。
クライアントの「オンデマンド接続(On Demand)」をオンにすると、Wi-Fi とモバイル通信の切り替えやスリープ復帰のときに自動で再接続します。オフにすると手動接続のみになります。また iOS は長時間使わないとバックグラウンドのネットワーク拡張を回収するため、クライアントに戻ったとき未接続なのは正常な動作です。もう一度押せば接続できます。低電力モードではバックグラウンド更新が制限され、オンデマンドの再接続が遅くなることがあります。
クライアントが「接続済み」と表示しても、トンネルが張られたというだけで、名前解決や振り分けが正しいとは限りません。以下はすべて端末上で直接確認できます。
接続成功は 3 つが同時に成り立つことです。出口 IP が選んだ回線の所在地にある、DNS 解決が回線側を通る、振り分けルールが想定どおりに一致する。この 3 つがそろって、iOS での初回設定が本当に完了します。
クライアントは通常 3 つのモードを用意しています。グローバルはすべての通信を回線に通し、ルール(振り分け)はドメイン・IP レンジ・GeoIP で回線か直結かを判断し、直結は回線をまったく通しません。日常はルールモードが扱いやすく、海外サイトと国内サービスを両立できます。
ルールセットは通常、ドメインサフィックス、ドメインキーワード、IP-CIDR、GEOIP などの条件で構成され、上から順に照合して一致した時点で止まります。そのため順序が重要です。回線を通したいドメインを前に、国内サービスを後ろに置き、広い GEOIP ルールがすべての通信を飲み込まないようにします。
1 つ目は国内サイトがルールで回線側と誤判定され、表示が遅くなるケース。2 つ目は銀行や決済アプリがプロキシ環境を検知してリスク判定を発動するケースで、個別に直結へ設定する必要があります。3 つ目は同じアプリでも Web ページと API でドメインが異なり、ルールを 1 本足しただけではつながらないケースで、関連ドメインをまとめて追加します。
ドメインは変わるので、ルールセットも古くなります。クライアントのルール購読はサービス購読と一緒に定期的に更新することをおすすめします。自分で管理している直結リストは、新しい問題が出るたびに 1 行足すほうが、毎回その場でグローバルに切り替えるより手間が少なくて済みます。
よく使う業務・会議・コードホスティングのドメインを自分のリストにまとめ、どれを回線に通し、どれを直結にするかを書いておけば、端末を替えたときにそのまま使えます。問題が起きてからログを見返すよりずっと速いです。
順に切り分けます。DNS が回線側を通っているか、ルールが対象を直結と判定していないか、回線自体が使えるか。3 つとも問題なければ別の回線に切り替えて試すと、ローカル設定の問題か特定回線の問題かを早く切り分けられます。
多くはバックグラウンドの回収か、オンデマンド接続がオフになっていることが原因です。クライアントのバックグラウンド更新権限をオンにし、オンデマンド接続を有効にすると改善することがほとんどです。低電力モードでの切断はシステムの動作なので、何度も入れ直す必要はありません。
まず「設定 → モバイル通信」で該当クライアントの「モバイルデータ通信」がオンか確認します。公衆 Wi-Fi では、ポータルページの認証を済ませてから接続してください。認証前に接続すると、トンネルは張られても使える出口が得られません。
よくある原因は、URL が途中で切れている、サブスクリプション URL が再発行された、更新時にルールがサブスクのドメインを回線側と判定したのに回線がまだ接続されていない、などです。サブスクのドメインを直結ルールに入れるか、先に接続してから更新すれば、多くの場合は解決します。
サブスクリプションサービスの選定中であれば、以下は購入前にそのまま確認できる事実で、クライアントの設定方法とは関係ありません。
100+
対応国・地域
170+
提供中の回線
30 日
理由を問わない返金
無制限
同時接続台数
ZaraVPN の回線は 100+ の国と地域、170+ の回線をカバーし、アカウントの台数制限はありません。月額サブスクリプションは ¥9.9 からで 60GB を含み、30 日間の理由を問わない返金に対応しています。登録はユーザー名とパスワードだけで、メールアドレスは不要です。管理画面にログインすれば、クライアントのダウンロード入口とサブスクリプション URL を取得できます。
最後に全体を 4 ステップにまとめます。1 台入れ終えたら、この順で照合してみてください。
App Store またはサービス提供元の公式チャネルからインストールし、開いてプロトコル一覧にサブスクで使うプロトコルが含まれているか確認します。
サブスクリプション URL をクライアントのサブスク欄に貼り、手動で 1 回更新してノード一覧が出ていることを確認します。
初回接続時にシステムのダイアログで「許可」を押し、端末のパスコードか生体認証で確認します。ステータスバーに VPN の表示が出ます。
出口 IP の所在地、DNS 解決の位置、振り分けの一致を確認し、3 つとも問題なければ日常利用を始めます。
iOS VPN の設定で難しいのは、許可と動作確認の 2 点です。クライアントを正しく入れ、サブスクリプションを漏れなく読み込み、システムのダイアログで許可を押し、最後に出口 IP・DNS・振り分けの 3 つで確認する。この流れはどの iPhone でも iPad でも同じように成立します。