On Demandは接続を開始するタイミングを制御し、Global Routingは接続後の通信の処理方法を制御します。Shadowrocketで自分のサーバーを設定済みの方向けに、手動接続を確認してからWi-Fi・モバイル通信・ドメインの条件を設定し、ネットワークを切り替えて順番に検証する手順を紹介します。自動再接続、ルールによる振り分け、サーバー障害を混同しないことが大切です。
1. On Demandとルールによる振り分けの違い
On DemandはAppleのオンデマンドVPN機能を使い、条件に応じて接続の開始や切断を要求します。スケジュール機能ではなく、Webページが開けないときにサーバーを自動で切り替える機能でもありません。Settings → On Demandを開き、オンデマンド接続を設定します。選択できる条件や項目は、使用中のデバイスに表示される内容を確認してください。
接続後の通信経路は、Home → Global Routingと現在の設定で決まります。たとえば接続中でもGlobal RoutingがDirectなら、通信が選択したプロキシサーバーを経由するとは限りません。同様に、Configにドメインルールを記述しても、システムにドメインのオンデマンド接続条件が登録されるわけではありません。
Config
おすすめ現在の設定にあるルールで通信の処理方法を決めます。On Demandで接続した後もルールの順に照合され、一致した通信はDIRECT、PROXY、REJECTのいずれかで処理されます。
おすすめの用途:振り分け方針が決まっており、現在の設定を確認済みの日常利用。
Proxy
クライアントで処理できる通信をプロキシ経由として扱います。現在の設定にある通常の振り分けルールごとに行き先を決める方式ではありません。変更されるのは通信の処理方針であり、On Demandのトリガー条件ではありません。
おすすめの用途:振り分けルールが現在の問題の原因か、短時間で切り分ける場合。
Direct
直接接続として扱います。オンデマンド機能によってVPN接続が確立しても、通信がリモートサーバーを経由しているとは限りません。
おすすめの用途:ローカルネットワークの直接接続が正常か確認し、切り分けの基準を作る場合。
Scene
設定済みのSceneに応じて処理方法を選びます。Sceneの設定とオンデマンド接続条件は別々に確認してください。Scene名だけで現在の通信経路を判断することはできません。
おすすめの用途:Sceneを設定し、動作を確認済みの方。
自動トリガーを有効にする前に、手動接続を確認する
テスト中は既存サーバーを1つ選び、Global Routingの設定も1つに固定します。手動接続でも目的のリソースにアクセスできない場合は、サーバーやルールを先に見直してください。On Demandの条件を重ねて設定するのは避けましょう。
2. 設定前の準備と手順
この記事では、利用者が自身で用意したサービスとサブスクリプションを使用することを前提としています。まずHomeで対象サーバーが読み込まれていることを確認し、アドレス、ポート、認証情報がサービス提供元の情報と一致しているか確認してください。読み込み後にまだテストしていない場合は、手動接続とアクセスを確認します。サブスクリプションの更新に成功しても、すべてのサーバーが正常に接続できるとは限りません。
-
接続を確認
Homeを開き、動作が確認できているサーバーを選んで手動で接続します。初回にシステムのVPN構成への許可を求められたら、アプリ名を確認して、画面の案内に従って許可してください。
-
接続方式を固定
Home → Global Routingを開き、実際に使う接続方式を選びます。Configを使う場合は、Configで現在選択されている設定ファイルとルールを確認してください。
-
オンデマンド設定を開く
Settings → On Demandを開きます。現在の設定を控えてからオンデマンド接続を有効にし、まずはネットワーク条件を1つだけ設定してください。Wi-Fi、モバイル通信、ドメインの条件を同時に変更しないでください。
-
保存してネットワークを切り替える
画面の案内に従って保存するか前の画面に戻り、対象のネットワークに実際に切り替えます。Homeに戻って接続状態を確認し、動作が確認できているテスト先にアクセスしてください。
-
切断時も確認
直前に使っていたネットワークから離れ、接続状態が想定どおりか確認します。その後Settings → On Demandに戻って次の条件を追加し、変更するたびにネットワークへの接続時と切断時の両方を検証してください。
システム要件とデバイスの互換性は、App Storeのページに記載された内容を確認してください。デバイスの管理ポリシーによる制限や、VPN構成のインストールが許可されていない場合は、先に許可の問題を解決します。システムがVPN接続を拒否した状態を、オンデマンド条件に一致しなかったためと誤解しないでください。
3. Wi-Fi名とモバイル通信の条件を設定する
Wi-Fi条件で判定されるのはデバイスが現在接続しているネットワークであり、近くにあるネットワークではありません。Settings → On Demandに特定のWi-Fi名を指定する項目がある場合は、デバイスに表示されるSSIDを入力します。大文字・小文字、空白、末尾の文字に注意してください。たとえばHome-WiFiとHome-WiFi-5Gは別の名前です。ルーターのブランド名や、自分で付けたネットワークのメモをSSIDの代わりに入力しないでください。
よくある設定例は「指定した自宅Wi-Fiでは切断し、モバイル通信では接続する」です。指定したWi-Fiで切断する動作と、モバイル通信で接続する動作をそれぞれ設定する必要があります。自宅Wi-Fiの条件を1つ追加するだけでは、それ以外のネットワークでの動作は定義できません。以下はテスト設計の例であり、アプリの初期設定や実測結果ではありません。
| ネットワーク条件 | 動作 | 確認方法 |
|---|---|---|
| Home-WiFiに接続中 | 切断 | モバイル通信からこのWi-Fiに切り替え、Homeの状態を確認 |
| モバイル通信 | 接続 | Wi-Fiをオフにし、モバイルデータ通信が使えることを確認してからリクエストを送信 |
| その他のWi-Fi | 個別に設定した条件に従う | 利用が許可されている別のWi-Fiに接続し、設定漏れがないか確認 |
| 利用可能なネットワークなし | リモート接続を確立できない | ネットワークを復旧してから、条件が機能するか確認 |
- 同じ名前のネットワーク:SSIDはネットワークの安全性を証明するものではありません。場所が異なっても同じ名前が使われていることがあります。名前だけを根拠に、特定のネットワークが必ず直接接続に適していると判断しないでください。
- ログイン画面:Web認証が必要なWi-Fiでは、先にネットワークのログインを完了してください。オンデマンド接続が認証に影響する場合は、一時的にOn Demandを無効にしてログインを済ませ、再度有効にして動作を確認します。
- 切り替え中:Wi-Fiが切断されてからモバイルデータ通信が使えるようになるまで、短い空白時間が生じる場合があります。切り替えた瞬間のアイコンだけで判断せず、新しいネットワークでアクセスできるようになってから確認してください。
条件の優先順位や共通のフォールバック条件を設定できる場合は、広範な条件が指定SSIDの例外を上書きしないようにします。条件を一度に複数追加して現在のWi-Fiだけをテストするのではなく、1つずつ追加し、ネットワークごとの結果を記録するのが確実です。
4. ドメインによる接続トリガーとDOMAIN-SUFFIXによる振り分けの違い
ドメインのオンデマンド条件は、ドメインの名前解決や接続要求に対するシステムの判定に関係します。ブラウザーのアドレスバーでのアクセスを毎回監視する機能ではありません。Settings → On Demandを開き、現在の画面にドメイン関連の条件があるか、説明とあわせて確認してください。該当する項目が表示されない場合、Configのルールを代わりに使うことはできません。
ドメイン欄には、portal.example.comのようなホスト名を入力します。https://portal.example.com:443/accountのようにプロトコル、ポート、パスを含めてはいけません。親ドメインがサブドメインにも適用されるか、ワイルドカードを使えるかは、その項目の仕様によって異なります。DOMAIN-SUFFIXの構文をそのまま使わないでください。システムのドメインによるオンデマンド判定では名前解決の結果も考慮される場合があるため、「アクセスのたびに接続し直す」とは限りません。
以下ではConfigのルールの意味だけを説明します。インポート可能なOn Demand設定ではありません。example.comは説明用のドメインです。実際に操作する際は、アクセス権のある業務用ドメインを確認し、先に設定をバックアップしてください。
[Rule]
DOMAIN-SUFFIX,example.com,PROXY
FINAL,DIRECT
DOMAIN-SUFFIX,example.com,PROXY:ルールモードで、このドメインサフィックスに一致する通信をPROXYポリシーで処理します。FINAL,DIRECT:それまでのルールに一致しない場合、DIRECTを適用します。「接続に失敗したら直接接続に切り替える」という再試行ルールではありません。- ドメインによるトリガーをテストする前に、現在の設定でDNSと対象ドメインの名前解決経路を確認してください。ブラウザーやDNSのキャッシュ、アプリが再利用する接続が原因で、ページを更新しても新たなドメイン判定が発生しない場合があります。
動作確認ではテストページを閉じてから再アクセスし、名前解決と接続の記録を確認します。IPアドレスでのアクセスは対象ドメインの名前解決を経由しない場合があるため、ドメイン条件のテストには代用できません。複数の設定に影響するため、DNS設定をすべて削除して「強制的にトリガー」する方法も避けてください。
5. 手動操作・自動再接続・切り分けの手順
On Demandが有効な状態では、手動で接続を切っても自動接続が停止したままになるとは限りません。新たなネットワークイベントや条件に一致するリクエストが発生すると、システムが再接続を開始する場合があります。自動接続を確実に一時停止するには、Settings → On Demandでオンデマンド接続を無効にしてからHomeに戻り、接続を切ります。その後、実際にリクエストを送信して状態を確認してください。
反対に、手動で接続できても、オンデマンド条件が正しいことの証明にはなりません。適切な確認には「現在のネットワーク」「接続前の状態」「行ったトリガー操作」「接続後の状態」を記録します。接続中の画面だけでは、手動操作とシステムによる接続を区別できません。
- まずネットワークを確認:On Demandを無効にして、Wi-Fiまたはモバイル通信自体でアクセスできるか確認します。ネットワークにログインしていない、電波が届かない、モバイルデータ通信が許可されていない場合は、まずネットワークを復旧してください。
- 次に接続の許可を確認:システムのVPN構成が有効で、管理ポリシーによる制限がなく、ほかのVPN構成と接続が競合していないことを確認します。
- 次にトリガー条件を確認:SSID、ネットワークの種類、条件に対する動作を確認します。テスト条件を1つだけにして、同じ問題が再現するか観察してください。
- 最後に通信方針を確認:接続済みなのに目的のサイトへアクセスできない場合は、Global Routing、現在のConfig、DNS、サーバーの稼働状況を確認します。トリガー条件を変更し続ける必要はありません。
接続状態に応じて切り分ける
接続が確立しない場合は、システムの許可とオンデマンド条件を優先して確認します。接続済みでリクエストが失敗する場合は、ネットワーク、サーバー、振り分け設定を確認してください。同じテスト中にサブスクリプションを更新し、サーバーを切り替え、ルールを書き換えることは避けましょう。
6. On Demandの設定に関するよくある質問
Homeで接続を切ったのに、また接続されるのはなぜ?
Settings → On Demandが引き続き有効になっていないか確認してください。自動接続を止めるには、先にオンデマンド接続を無効にしてからHomeの接続を切ります。その後、ネットワークを一度切り替えるかリクエストを送信し、以前の条件で再接続しないことを確認してください。
Wi-Fiでは接続するのに、モバイル通信では接続しないのはなぜ?
Wi-Fiをオフにしたら、まずモバイルデータ通信が使えることを確認し、モバイル通信の条件と接続動作が設定されているか確認してください。同じサーバーを使って手動接続をテストし、モバイル通信側のアクセス制限とトリガー条件の問題を切り分けます。
DOMAIN-SUFFIXを設定したのに、自動接続されないのはなぜ?
このルールはConfigにあり、通信の照合だけを行います。Settings → On Demandに戻り、システムのオンデマンド条件を確認してください。接続済みの状態でドメインごとに通信を振り分けるだけなら、Global Routing → Configを使えば十分です。振り分けの要望を接続トリガーの設定に置き換える必要はありません。
サブスクリプションを更新すると、On Demandの設定も直りますか?
サブスクリプションの更新とOn Demandは別の設定です。サーバー一覧を更新しても、システムのトリガー条件が直るとは限りません。更新後はHomeで選択中のサーバーを確認し、Settings → On Demandで条件を個別に確認してください。
iPadでもあらためて確認が必要ですか?
必要です。iPad本体のVPN許可、Settings → On Demand、実際に接続するWi-Fiを確認してください。モバイル通信のテストは、対応する機能を備え、データ通信サービスが有効なデバイスでのみ行えます。システム要件はApp Storeのページに記載された内容を確認してください。