Shadowrocketに自分で用意した利用可能な設定を読み込み済みで、Wi-Fiとモバイル通信の切り替え時に手動操作を減らしたい方向けの記事です。Settings → On Demandの設定手順、Wi-Fi名とドメインを入力する際の注意点、自動接続が想定どおりにならない場合の確認方法を解説します。
On Demandとルールによる振り分けを区別する
On Demandが決めるのは「いつ接続するか」です。特定のネットワークに接続したときや、条件に合うドメインへのリクエストが発生したときに、保存済みのVPN設定に基づいて接続または切断を試みます。一方、Homeで選択した設定やノード、Global Routingが決めるのは、接続後の通信経路です。この2つを混同すると、「VPNは自動で接続したのに、Webサイトへの通信が想定どおりに振り分けられない」といった誤解につながります。
設定前にHomeから手動で一度接続し、システムのVPN許可が済んでいることと、手元の設定で正常に接続できることを確認します。次にSettings → On Demandで接続条件を確認してください。初めて有効にしたときや条件を変更した後は、システムのVPN状態とShadowrocketのHomeを見比べて結果を確認します。アプリ内のスイッチだけを見て、すべての通信が同じ経路を通ると判断しないでください。
Wi-Fi名で接続・切断を設定する
Wi-Fi条件の対象は、端末が現在接続している無線ネットワークの名前(SSID)です。ルーターにつけたメモ名やWebアドレスではありません。設定前に端末のWi-Fi設定で実際のネットワーク名を確認してください。異なるネットワークに同じ名前が使われていると、判別が難しくなります。自宅と職場で同じSSIDを使っている場合、名前だけでは場所を区別できません。
- 端末のWi-Fi設定で、テストするSSID(例:
Home-WiFi)を控え、端末が実際にそのネットワークへ接続していることも確認します。 - ShadowrocketのSettings → On Demandを開いてオンにし、画面に表示されるWi-Fi条件にネットワーク名を入力するか選択します。必要に応じて、一致するネットワークと一致しないネットワークそれぞれのConnect、Disconnectなどの動作を確認してください。選択できる項目はアプリ内の画面をご確認ください。
- まずは、このWi-Fi条件だけを残します。いったんWi-Fiから離れて再接続し、システムのVPN状態とHomeの接続状態を確認します。その後、別の名前のWi-Fiに切り替えて逆の条件も検証してください。
たとえば「Home-WiFiに接続したら切断し、離れた後はほかの条件に応じて接続する」場合は、接続時と切断時の両方の動作を確認します。SSIDの大文字・小文字、空白、末尾の文字も見直しましょう。表示名を1文字でも間違えると、条件に一致しないことがあります。ルーターの近くにいても、端末が実際にはモバイル通信を使っている場合、結果をWi-Fi条件によるものとは判断できません。
Wi-Fi確認カード
- 設定場所
- Settings → On Demand
- 一致する対象
- 現在接続中のSSID
- 名前の例
- Home-WiFi
- 確認方法
- そのネットワークから離れて再接続する
まず固有のSSIDを1つだけ使ってテストし、確認後にほかのネットワーク名を追加します。
状態確認カード
- Wi-Fiの状態
- 端末が対象のネットワークに接続していることを確認
- VPNの状態
- システムとHomeの表示を確認
- 逆の条件をテスト
- 別のネットワーク名に切り替える
- 問題の手がかり
- SSIDの重複、または名前の入力ミス
ネットワークの切り替えをテストの起点にし、状態の変化で結果を確認します。
モバイル通信の条件を個別に確認する
モバイル通信の条件は、端末がWi-Fiから離れて実際にモバイル通信へ切り替わった際の動作を設定するものです。テスト前に、モバイルデータ通信が利用できることを確認してください。Wi-Fiを切っただけでモバイル通信が使えない状態では、On Demandの条件が機能するかどうかを判断できません。iPadがモバイル通信に対応しているかは、機種によって異なります。
- まずHomeで、動作確認済みの同じ設定を使います。Settings → On Demandを開き、テストするCellular条件だけを設定してください。
- 端末の設定でWi-Fiをオフにし、ステータスバーでモバイル通信に切り替わったことを確認してから、システムのVPN状態が選択した動作に応じて変わるかを確認します。
- Wi-Fiを再びオンにして、SSIDが分かっているネットワークに接続し、2回目の状態変化を記録します。結果が異なる場合は、ネットワークの種類、接続状態、テスト時刻をそれぞれ記録してから、ほかの条件を追加してください。
「モバイル通信時に接続する」ことは、「モバイル通信のすべてのリクエストがPROXYを使う」ことを意味しません。接続後にGlobal RoutingがDirectなら、通信は直接接続される場合があります。Configを選んでいる場合は、設定内のルールに従ってリクエストが照合されます。Proxy、Direct、Config、SceneはGlobal Routingの異なるモードです。On Demandの接続動作とは分けて確認してください。問題を切り分ける際は、複数の項目を一度に変更せず、Global Routingのモードを一つに固定します。
判断のポイント:まずネットワークの切り替えを確認
モバイル通信のテストで想定した動作が起きない場合は、最初にWi-Fiから切り替わっていることと、モバイルデータ通信が使えることを確認してからOn Demandを調べてください。ノードやルール、サブスクリプションを先に変更しても、モバイル通信の条件に一致したかどうかは確認できません。
ドメイン条件が動作するタイミング
ドメイン条件は、指定した名前に関連するリクエストが発生したときに接続を試みるための設定です。ブラウザーのアドレス欄に文字を入力するたびに必ず動作するわけではありません。確認には、対象が明確なドメインを使い、名前解決や接続のリクエストが実際に発生したかを見ます。すでに接続中の場合、名前解決の結果がキャッシュされている場合、アプリがIPアドレスへ直接アクセスしている場合などは、ページを開くだけではドメイン条件を検証できないことがあります。
入力形式の説明にはexample.comを使えますが、これは例であり、テストに使えるサービスを示すものではありません。実際に確認する際は、ご自身がアクセスでき、新しいリクエストを安定して発生させられるドメインを選び、設定画面で対応している形式に従って入力してください。ドメイン条件とルール内のDOMAIN-SUFFIX,example.com,PROXYは別の機能です。前者はVPN接続を試みるかどうかを判定し、後者はConfigモードでルール処理の対象になったリクエストのポリシーを選択します。
- ドメインだけをテストする場合は、同時に一致する可能性があるWi-FiとCellularの条件をいったん外します。VPNの初期状態を記録してから、新しいドメインリクエストを発生させてください。
- アクセスしても動作しない場合は、入力したものがIPアドレスではなくドメイン名であることを確認し、条件に入力したホスト名やサフィックス、アプリ内で選択できる照合方法を見直します。
- 接続済みなのにアクセス結果が想定と異なる場合は、Homeの設定とGlobal Routingを確認します。ルールの照合に関する問題を、ドメイン条件の不具合と混同しないでください。
たとえば、ルールのFINAL,PROXYは、それ以前のルールに一致しなかった場合の最終ポリシーです。設定していないドメイン条件をOn Demandに自動認識させるものではありません。逆に、ドメイン条件によって接続しても、そのドメインが必ずPROXYを使うとは限りません。Configモードでは、実際に適用されるポリシーはルールの順序と照合結果によって決まります。
複数の条件がある場合の確認順
Wi-Fi、Cellular、ドメインの各条件に、あらゆる状況で共通する固定の優先順位があるとは限りません。実際に使っているネットワーク、条件の一致状況、システムのVPN状態、ドメインリクエストの有無などによって結果は変わります。「条件の競合」を調べるときは、ルール一覧の順番を変えてOn Demandの動作を推測するのではなく、前提を一つずつ確認し、条件を個別に有効化する方法が確実です。
最初に、端末が対象のSSID、別のWi-Fi、Cellularのいずれに接続しているかを記録し、対応する条件の名前と動作を確認します。接続状態が想定どおりに変わったら、Homeで選択している設定とGlobal Routingを確認してください。特定のWebサイトの問題を調べる場合に限り、ドメイン条件とConfig内のルールを確認します。こうすることで、「接続が始まらない」「接続後に期待したルールに一致しない」「設定自体が利用できない」の3種類に問題を切り分けられます。
自宅のWi-Fiに戻っても、想定どおりに切断されないのはなぜ?
端末のWi-Fi設定で現在のSSIDとOn Demandに入力した名前が一致するかを確認し、その条件でConnectとDisconnectのどちらが選ばれているかを見直します。ほかの条件をいったん無効にし、そのWi-Fiから離れて再接続するテストだけを行ってください。
Wi-Fiをオフにしても自動接続されないのはなぜ?
まず、端末が一時的に通信できない状態ではなく、利用可能なCellularへ実際に切り替わったことを確認します。次にSettings → On Demandでモバイル通信の条件だけを確認してください。手動接続もできない場合は、先に手元の設定が利用可能かを調べます。
指定したWebサイトを開いてもVPNの状態が変わらないのはなぜ?
ドメイン条件の入力内容を確認し、IPアドレスへの直接アクセスではないことを確かめます。新しいリクエストを明確に発生させて再テストし、同時に動作する可能性のあるネットワーク条件をいったん外してください。すでに接続している状態を、新たな条件による動作と取り違えないためです。
VPN接続中なのに、通信が直接接続されているように見えるのはなぜ?
HomeでGlobal RoutingがDirectになっていないか確認してください。設定のルールに沿って通信を振り分ける場合は、Configモードと該当するルールを確認します。On Demandは接続を開始する条件を扱うもので、ルールに代わってPROXYやDIRECTを選ぶ機能ではありません。
条件を一つずつテストした後、順に戻します。1回の変更は1項目だけにし、対象のWi-Fi、別のWi-Fi、Cellularでそれぞれ結果を記録してください。条件の組み合わせを安定して再現できない場合は、条件を追加するより、必要最小限に絞るほうが確認しやすくなります。変更後は、システムに表示されるVPN状態と実際のアクセス結果で判断してください。
設定を保存する前のチェックリスト
- Homeで選択した設定を手動で確認済み。On Demandで接続できない設定を修復することはできません。
- Wi-Fi条件には実際のSSIDを指定し、テスト時に端末がそのネットワークへ接続していることを確認する。
- モバイルデータ通信が使え、Wi-Fiが切断された状態でCellular条件を個別に確認する。
- ドメイン条件は新しいドメインリクエストで確認し、ルールキーワードを接続条件の代わりに使わない。
- 接続状態と通信の振り分け結果を分けて確認する。ルールに従って処理する場合は、Global RoutingがConfigモードになっているかも確認する。
ShadowrocketはApp Storeで購入する買い切り型アプリです。アプリの購入と回線プランは別のものです。On Demandが設定するのは端末上の接続条件であり、利用可能な設定はご自身で用意する必要があります。入手元を確認したい場合は、当サイトの正規版確認ガイドをご覧ください。その後、使い方ガイドに沿って基本の接続設定を行えます。