On Demandは、VPN接続をいつ開始・切断するかを管理する機能で、リクエストごとの通信経路は決定しません。手動接続ができ、利用中の接続情報がある方向けに、ネットワーク条件とドメイン評価の違いを整理し、Wi-Fi、モバイル通信、ドメインの順に検証する方法を説明します。自動再接続とルールによる振り分けが意図どおりかも確認できます。
On DemandとGlobal Routingの役割
ShadowrocketのOn Demandは、必要に応じて接続するための設定です。設定場所はSettings → On Demandです。保存済みのVPNオンデマンドルールに基づいてシステムが接続要求を処理するため、アプリの画面を閉じてもオンデマンド接続は無効になりません。手動で切断しても、条件が引き続き成立していれば、システムが再接続することがあります。
Global Routingは、接続確立後のルーティング方式を管理します。Proxy、Direct、Config、Scene、On Demandは、それぞれ異なる設定です。Configは現在の設定ルールに従って通信を振り分け、ProxyとDirectはそれぞれのグローバルルーティング方式を使用します。Sceneはシーンの選択に関係するため、関連設定を別途確認してください。自動接続を調べるときは、ルーティング方式を同時に変更しないでください。
たとえば、VPNが自動接続しているのにWebサイトへの通信がDirect経由でも、必ずしもOn Demandが機能していないとは限りません。まずHomeで接続状態を確認し、次にGlobal RoutingとConfigのルール適用結果を確認してください。逆に、設定にDOMAIN-SUFFIXルールがあっても、そのドメインへのアクセスをきっかけにシステムが自動でトンネルを確立するわけではありません。
有効にする前に、手動接続できる状態を確認
On Demandでは、接続情報の誤りは修正できません。まずHomeで登録済みの接続情報を使って手動接続し、目的のWebサイトにアクセスできることを確認してから、自動接続条件を設定してください。利用中のサブスクリプションがある場合、そのインポートや更新は接続情報の取得・変更に使います。On Demandはサブスクリプションを更新せず、期限切れのサーバーアドレス、パスワード、ポートも自動修正しません。
- Homeで現在選択されている接続項目を確認し、Connectivity Testを実行します。テストに応答があっても、そのテスト条件で通信できたことを示すにとどまります。実際のリクエストでも確認してください。
- Global Routingの方式を固定します。既存の振り分け設定を検証する場合はConfigを選び、Configで現在有効な設定ファイルを確認してください。
- 手動接続して、システムのVPN構成を追加する許可を完了します。システムが確認待ちの場合は、許可を済ませてから自動接続をテストしてください。
- 現在のネットワーク名、接続スイッチの状態、テスト対象のWebサイトを記録します。同じテスト中にサブスクリプションを更新したり、接続項目を変更したり、DNSを変更したりしないでください。
- Settings → On Demandを開き、既存の条件を確認します。まずネットワーク条件を1つだけ残して結果を確認し、その後で例外を追加してください。
Wi-Fi条件:ネットワーク全般と指定SSIDを区別する
「Wi-Fi接続中」と「特定のWi-Fi名に接続中」では対象範囲が異なります。前者はすべてのWi-Fiネットワークが対象で、後者はSSIDで限定します。SSIDはWi-Fiネットワーク名であり、ルーターの管理アドレスや端末に割り当てられたIPアドレスではありません。特定の名前を入力するときは、システムに表示される名前を見て、空白、大文字・小文字、記号を確認してください。記憶を頼りに略称を入力しないようにしましょう。
Settings → On DemandでWi-Fi条件と動作を確認します。現在の画面にSSID指定条件がある場合は、区別したいネットワークを追加してください。Connectは条件に一致したときに接続を要求し、Disconnectは一致したときに切断します。これはVPNの接続状態を示すもので、「そのWi-Fi上のすべてのWebサイトをProxy経由にする」「すべてDirect経由にする」という意味ではありません。
- すべてのWi-Fiで接続する:まず、Wi-Fi全体を対象にするConnect条件でテストします。SSIDを1つずつ登録する必要はありません。
- 特定のWi-Fiではトンネルを使わない:そのSSIDにDisconnectを設定し、対象範囲の広いConnect条件に先に一致していないか確認してください。
- 同じ名前のネットワーク:SSIDが同じでも、同じアクセスポイントとは限りません。ネットワーク名の一致を本人確認のように扱わないでください。
- ゲスト用ログインネットワーク:まず、システムが要求するWeb認証を完了してください。Wi-Fiに接続していてもインターネットにアクセスできない状態では、自動接続が繰り返し失敗することがあります。
システムのオンデマンドルールは順番に評価されるため、具体的な条件を広い条件より前に配置します。現在の画面で順序を変更できない場合は、生成された条件の適用範囲を確認し、意味が反対の重複条件を残さないようにしてください。設定後は、そのWi-Fiから一度離れて再接続すると、設定画面でスイッチを切り替えるだけの場合より、ネットワークの変化に応じて意図した動作が起きるかを検証しやすくなります。
モバイル通信の条件:Wi-Fiとは分けて検証する
モバイル通信の条件は、端末が実際に使用しているネットワークインターフェースに一致します。ステータスバーに電波が表示されているか、SIMカードが有効かどうかで決まるわけではありません。Wi-Fi経由で通信している間は、モバイルデータ通信をオンにしただけでは、モバイル通信の条件が有効になったとは確認できません。テストではシステム設定からWi-Fiを切断し、実際にモバイル通信を使っていることを確認してから、接続状態を観察してください。
方法1:どちらのネットワークでも接続する
- 設定項目
- Settings → On Demand
- Wi-Fi
- Connect
- モバイル通信
- Connect
- 適用条件
- Wi-Fiとモバイル通信の両方でVPN接続を維持する
これは動作の組み合わせを説明するものです。インターフェースの切り替え時にはトンネルが一時的に再確立されることがあり、常に途切れず接続することを保証するものではありません。
方法2:特定のWi-Fiを例外にする
- 指定SSID
- Disconnect
- その他のWi-Fi
- Connect
- モバイル通信
- Connect
- 確認ポイント
- 指定SSIDの条件を、対象範囲の広いWi-Fi条件より優先する
実際の画面に従って条件と動作を設定してください。ネットワークごとに接続を維持するかどうかは、利用状況に応じて決めます。
この2つの方法は、バッテリー消費について結論を示すものではありません。モバイル通信の電波状況、再試行の頻度、アプリのバックグラウンド通信、実際のデータ通信量などが消費電力に影響します。モバイル通信の条件にConnectを設定していても、そのネットワークから選択中の接続先に到達できなければ、システムがトンネル確立を繰り返す可能性があります。まず同じモバイルネットワークで自動接続を無効にし、手動接続をテストしてから、その条件を残す必要があるか判断してください。
- Wi-Fi接続中に、想定する動作と実際の状態を記録します。
- システム設定からWi-Fiを切断し、モバイルデータ通信が利用可能になるまで待ってから、同じ2項目を記録します。
- 元のWi-Fiに再接続し、指定SSIDの例外が適用されるか確認します。
- 切り替え時に一度切断されても、その後復旧する場合は、まずインターフェース切り替え中の動作と考えられます。誤った状態が長く続く場合は、条件の適用範囲と接続先への到達性を確認してください。
ドメイン条件:通信振り分けルールをOn Demandに移さない
ドメインのオンデマンド評価は、Wi-Fiやモバイル通信のインターフェース照合とは仕組みが異なります。システムのEvaluate Connection機能は、ドメインとDNSの名前解決条件を組み合わせて接続の必要性を判断できます。一般的な動作として、名前解決に失敗したときにVPN接続を試みる場合があります。「どのアプリからアクセスしても、対象ドメインにアクセスした瞬間に必ず接続する」という機能ではなく、HTTPSページのURLを1つずつ読み取るものでもありません。
現在のOn Demand画面にドメイン評価の項目が明示されている場合に限り、その項目の説明に従って入力してください。Configのルール行をドメイン入力欄に貼り付けないでください。たとえばexample.comの場合、通常ドメイン欄に入力するのはドメイン名であり、https://example.com/pathではありません。サブドメインが対象になる範囲は、その項目の説明に従ってください。DOMAIN-SUFFIXと完全に同じだと決めつけないでください。
| 項目 | 設定レイヤー | 判定結果 |
|---|---|---|
| Wi-Fi/モバイル通信の条件 | On Demandのネットワーク照合 | インターフェースやSSIDなどの条件に応じて、対応する接続動作を実行 |
| Evaluate Connection | システムのオンデマンド接続評価 | 設定したドメインと名前解決条件に基づいて、接続の必要性を判断 |
DOMAIN-SUFFIX,example.com,PROXY | Configの振り分けルール | 該当するドメインへのリクエストにPROXYポリシーを適用 |
FINAL,DIRECT | Configの末尾ルール | 前のルールに一致しない場合はDIRECTを適用。トンネルの切断は行わない |
ドメイン評価を検証する前に、対象範囲の広いConnect条件によってトンネルがすでに接続状態になっていないか確認してください。ブラウザーやDNSのキャッシュ、アプリ独自の暗号化DNS、再利用中の接続などにより、想定したシステムの名前解決が行われないことがあります。そのため、「Webページを開き直してもVPNの状態が変わらなかった」だけでは、ルールが無効だとは判断できません。テスト前のトンネル状態、使用中のネットワーク、名前解決の条件も記録してください。
接続を繰り返す/接続が始まらない:症状から原因を絞る
まず、「接続状態が何度も変わる」症状と、「接続状態は維持されているがリクエストが失敗する」症状を分けてください。前者では自動接続条件、インターフェースの変化、トンネル確立の失敗を主に確認します。後者ではGlobal Routing、Config、DNS、接続情報を引き続き確認してください。2つの症状を混同して設定を変更すると、正しく機能していたオンデマンドルールまで崩すおそれがあります。
Homeで接続をオフにしても、すぐ自動でオンになるのはなぜ?
まずSettings → On Demandでオンデマンド接続を一時停止し、その後Homeに戻って切断してください。その状態が維持される場合、先ほどまではConnectを要求する条件に一致していたと考えられます。接続スイッチを何度もタップするのではなく、現在のWi-Fi、指定SSID、モバイル通信の条件を1つずつ確認してください。
自宅のWi-FiをDisconnectに設定したのに、接続されるのはなぜ?
システム設定で現在のSSIDを確認し、ゲストネットワークや同じルーターの別のネットワーク名に接続していないか調べてください。次に、より広い範囲を対象とするWi-FiのConnect条件が先に一致していないか確認します。変更を保存したら、そのネットワークに再接続して検証してください。
モバイル通信に切り替えると接続に失敗し続ける場合、どこを見直せばよい?
On Demandを一時的に無効にし、同じモバイルネットワークでHomeから手動接続してConnectivity Testを実行してください。手動接続も失敗する場合は、登録済みの接続情報、ネットワークの到達性、システム時刻を先に確認してください。自動接続でも、これらの前提条件を回避することはできません。
ドメインを入力したのに、Webページを開いても自動接続しないのはなぜ?
入力欄がConfigではなく、On Demandのドメイン評価に属しているか確認してください。続いて動作とDNS条件を確認します。キャッシュや別の名前解決方法が使われると、同じ評価が実行されないことがあります。ドメインごとに通信を振り分けたい場合は、ConfigのDOMAIN-SUFFIXルールを確認してください。
システムのVPN構成を削除した後、オンデマンド接続が動かなくなった場合は?
Shadowrocketに戻り、まず手動接続して、システムのVPN構成を再追加する許可を完了してください。その後、Settings → On Demandが有効か確認します。システム設定にあるVPNのオンデマンド接続状態も併せて確認してください。許可が完了する前に自動接続をテストしないでください。
設定を残す前に、一連の動作を通して確認
安定した設定に必要なのは条件の数ではなく、それぞれの対象範囲が明確で、結果を再現できることです。まずWi-Fiとモバイル通信のインターフェースをテストし、次に指定SSIDの例外を追加して、最後にドメイン条件を個別に評価します。変更は一度に1項目に絞り、「ネットワーク、想定する動作、実際の状態」を記録してください。条件の不一致か、接続確立の失敗かを特定しやすくなります。
- 条件の適用範囲:特定SSIDの例外が広いWi-Fi条件に妨げられていないこと、同じネットワークに相反する動作が重複していないことを確認します。
- ルーティング:HomeのGlobal Routingが目的に合っていること、Configのルール順序と末尾のFINALを確認します。
- 復帰:Wi-Fiからモバイル通信に切り替え、再びWi-Fiに戻したとき、どちらも想定どおりの結果になることを確認します。
- 無効化:Settings → On Demandで自動接続を一時停止してから、手動で切断する方法を確認します。
- 変更後の再確認:サブスクリプションを更新したり接続項目を変更したりした後は、手動接続と自動接続を再検証し、以前のテスト結果をそのまま使わないでください。
ShadowrocketはAppleプラットフォーム向けの有料クライアントで、主にiPhoneとiPadで利用できます。Mac、Apple TV、Apple Visionの互換性とシステム要件は、App Storeの掲載内容をご確認ください。クライアントの買い切り購入と接続サービスの利用料金は別です。登録済みの接続情報が有効かどうかは個別に確認してください。当サイトでは接続先、サブスクリプション、サービス提供元を提供、販売、推奨していません。