このWindows VPNガイドでは、何も設定していないデスクトップから始めます。まずクライアントの入手元を確認し、サブスクリプションを追加して接続先を選び、システムプロキシを有効にします。最後に出口IPアドレスとDNSを確認します。重要なのは特定のスイッチをオンにすることではなく、クライアント、サブスクリプション、ノード、プロキシモードの役割を理解することです。画面上のボタン名が多少変わっていても、同じ流れで設定できます。
開始前に2つ用意します。Windowsに対応したクライアントと、アカウント画面で発行されるサブスクリプションURLです。クライアントは設定を読み込み、接続を確立して指定した通信を処理します。サブスクリプションURLはノード、プロトコル、更新先を伝えます。どちらも必要ですが、同じものではありません。
Windows向けクライアントと入手元を正しく選ぶ
まず、クライアントがサブスクリプション内のプロトコルに対応している必要があります。サブスクリプションにはShadowsocks、VMess、Trojan、VLESS、Hysteria2、TUICなどが含まれる場合があります。名前が似ていても対応範囲は同じとは限りません。従来のシステムプロキシだけに対応したツールでは、TUN、ルール分岐、DNSの引き継ぎに対応していないこともあります。ダウンロード前に、サービス画面の推奨クライアントと互換性の説明を確認してください。
| プロトコル | 通信の特徴 | クライアントの確認項目 | 適用の目安 |
|---|---|---|---|
| Shadowsocks | 暗号化プロキシで、設定構造は比較的シンプル | 暗号方式に対応しているか | 互換性が広く、一般的なウェブ閲覧やアプリ通信に適する |
| VMess | プロキシ関連のエコシステムでよく使われ、さまざまなトランスポート層と組み合わせられる | 通信方式、TLS、ホストパラメータがすべて揃っているか | クライアントがサブスクリプションの全フィールドを正しく解析する必要がある |
| Trojan | 通常はTLSを使って接続を確立する | 証明書の検証とサーバー名が保持されているか | エラーを回避するために証明書検証を安易に無効化しない |
| VLESS | プロトコル自体はコンテンツを暗号化せず、通常は外側の安全な通信に依存する | TLS、トランスポート層、クライアントコアのバージョンが一致しているか | 設定フィールドが欠けると接続確立に失敗することがある |
| Hysteria2 | QUICをベースとし、主にUDPを使用する | ローカルネットワークがUDPを許可しているか、クライアントコアが対応しているか | ネットワークがUDPを制限していると期待どおりの性能を発揮できないことがある |
| TUIC | 同じくQUICとUDPをベースとする | プロトコル実装と認証フィールドに互換性があるか | 対応するネットワークでのテストに適するが、ノード名だけで判断しない |
インストーラーはサービス画面、クライアントプロジェクトの正式なリリースページ、またはサイト内で明示されたクライアントのダウンロードページから入手してください。ダウンロード後はファイル名、発行元情報、アーキテクチャを確認します。一般的なPCでは標準的なデスクトップ向けアーキテクチャが使われますが、アイコンだけでインストーラーの正しさを判断しないでください。発行元がハッシュ値を提供している場合は、インストール前に照合します。Windowsで入手元に関する警告が表示されたら、無視せずダウンロード元に戻ってファイルを確認してください。
- ✅ クライアントがサブスクリプションで使われるプロトコルに対応している
- ✅ インストーラーがサービス画面またはプロジェクトの正式なリリースページから入手したもの
- ✅ Windowsに表示されるファイル名がダウンロード案内と一致している
- ✅ クライアントにシステムプロキシ、ルール分岐、またはTUNに必要なモードがある
- ❌ クラウドストレージの転載ファイル、チャットの添付ファイル、見知らぬダウンロードサイトから入手しない
- ❌ 証明書エラーを消すためにサーバー証明書の検証を直接無効化しない
インストーラーを実行したら、通常は「インストール」または「次へ」を選んで進めれば完了します。ポータブル版の場合は、書き込み権限のある固定フォルダーに展開し、ダウンロード用の一時フォルダーに長期間置かないでください。初回起動時に、Windowsファイアウォールがネットワークアクセスの許可を尋ねることがあります。プログラム名が今インストールしたクライアントと一致することを確認し、現在のネットワーク環境に応じて許可します。判断に迷う場合は、まずプライベートネットワークのみ許可し、後からファイアウォール設定で変更できます。
サブスクリプションURLを取得して初回追加を完了する
アカウント画面にログインしたら、「サブスクリプション」「ワンクリック追加」「クライアント設定」など、近い意味の項目を探します。通常は、URLのコピー、クライアントへの追加、QRコードの表示などが用意されています。Windowsのデスクトップ版では、後の更新に必要なURLを保持できるため、「サブスクリプションURLをコピー」を使うのがおすすめです。ノードを1つずつコピーすると固定設定しか取得できず、ノードが変更されても自動同期されません。
コピーしたらクライアントを開き、「サブスクリプション」「設定ファイル」「設定管理」などの項目を探します。一般的には、サブスクリプションを追加し、名前欄に識別しやすい名前を入力し、URL欄にリンクを貼り付けて保存します。クライアントによっては「クリップボードから追加」を選ぶだけでURLを認識できます。成功すると画面にサブスクリプション項目が表示され、ノード一覧に地域、回線種別、プロトコル名などが表示されます。
- アカウント画面でコピー:サブスクリプション項目の横にあるコピーをクリックします。「コピーしました」と表示されたら、他の場所に貼り付けてテストしないでください。
- クライアントで追加:サブスクリプションまたは設定管理を開き、ローカルの単一ノードではなく、リモートサブスクリプションの追加を選びます。
- 入力して保存:完全なURLを貼り付け、サブスクリプションにローカルで分かりやすい名前を付けてから、保存または確認をクリックします。
- 更新を実行:作成したサブスクリプションを選び、更新をクリックします。ノード一覧が表示されるか更新時刻が変われば、クライアントが設定を読み込めています。
- 設定を選択:クライアントによっては、追加後に対応する設定ファイルを有効にする必要があります。現在の設定名が追加したサブスクリプションと一致することを確認してください。
形式に対応していないと表示される場合、クライアントの種類が合っていない、サブスクリプション形式が現在のコアと互換性がない、またはコピーした内容がリモートサブスクリプションURLではない、といった原因が考えられます。その場合はアカウント画面に戻り、対応するWindowsクライアント向けの形式を選び直してください。リクエスト失敗と表示されたら、まずWindows上で動作している他のプロキシツールを終了し、複数のクライアントが同時にプロキシ設定を変更していない状態で再度更新します。
追加後も「サブスクリプションの更新」と「クライアントの更新」は区別してください。前者はノードとサービス側から配布された設定を更新し、後者はデスクトッププログラムとプロキシコアをアップグレードします。サブスクリプションを更新してもクライアントは自動更新されず、クライアントを更新してもサブスクリプションの再取得にはなりません。プロトコルの互換性を調べるときは、両方の項目を確認します。
用途に合わせて接続先を選ぶ:遅延表示だけで判断しない
ノード一覧が表示されたら、次は地域を適当にクリックするのではなく、利用目的を決めます。ウェブ検索、ダウンロード、動画、リモートワーク、低遅延の操作では、求められる回線条件が異なります。クライアントに表示される遅延は通常、1回の測定結果にすぎず、ローカルネットワーク、測定方法、サーバーの応答に左右されます。初期選別には使えますが、実際のスループット、安定性、目的のサイトへのアクセス状況を単独で示すものではありません。
接続先の名前には「ダイレクト」「中継」「IEPL」などの表示があります。ダイレクトはローカルネットワークから海外側の入口へ直接接続する方式で、経路がシンプルな一方、国際インターネットの変動が体感に反映されやすくなります。中継は近いアクセスポイントへ接続してから、サービス側で出口へ転送する方式です。入口経路とルーティングの制御性を改善することを目的とします。IEPLはInternational Ethernet Private Lineの略です。サービス事業者がIEPLと表示している場合、通常はバックボーンに該当する専用線資源を使うことを示しますが、利用者の端末から出口までの全区間が公衆網を通らないという意味ではありません。
| 接続タイプ | 接続経路 | 主な特徴 | 選び方 |
|---|---|---|---|
| ダイレクト | ローカルから対象地域の入口へ直接接続 | 構成がシンプルで、体感はローカル通信事業者のネットワークと国際インターネットに左右されやすい | まず対象サイトをテストし、その後も安定してアクセスできるか確認する |
| 中継 | ローカルから中継ノードへ接続し、そこから出口へ転送 | 入口経路が比較的集約され、ネットワーク環境によっては変動を改善できる可能性がある | 同じ地域のダイレクトノードと比較してテストする |
| IEPL | サービス側のバックボーンの一部に国際イーサネット専用線を使用 | ルーティングの制御性は通常高いが、最終的には実際の対象サイトへのアクセスで判断する | 継続的な安定性が重要な作業に使い、予備の接続先も残しておく |
地域を選ぶときは、まず対象サービスの所在地域から探し、次に地理的な距離を考えます。特定地域のコンテンツにアクセスする場合、ノード名にある「高速」などの表示よりも、出口地域が一致していることが重要です。通常の検索や文書閲覧では近い地域から試し、動画は対象プラットフォームを直接開いて画質変更と再生中のバッファリングを確認します。オンライン会議では音声の連続性と上り方向の通信も同時に見ます。ウェブのダウンロードテストだけでは不十分です。
- ✅ 先に対象サイトまたはアプリを決め、対応する出口地域を選ぶ
- ✅ 同じ対象に対して、ダイレクト・中継・専用線表示の接続先を比較する
- ✅ クライアントの測定結果だけでなく、実際の業務ページへ継続的にアクセスする
- ✅ よく使う用途ごとに予備の接続先を1つ確保する
- ❌ ノード名にある宣伝文句を性能の結論とみなさない
- ❌ ダウンロード中に頻繁にノードを切り替えない。接続が中断するおそれがあります
システムプロキシ、ルール分岐、TUNモードを有効にする
ノードを選んだ後、クライアントに「接続済み」と表示されても、Windowsの通信がその経路を通っているとは限りません。多くのクライアントでは「システムプロキシ」「システムプロキシとして設定」などのスイッチも有効にする必要があります。システムプロキシを変更すると、ブラウザーやシステム設定に従うアプリは通常プロキシを使いますが、システムプロキシを参照しないアプリは直接接続を続けることがあります。
ルール分岐は、どのリクエストをプロキシへ送り、どれを直接接続するかを決めます。一般的なモードにはルール、グローバル、ダイレクトがあります。ルールモードはドメイン、アドレス範囲、既定リストに基づいて判定するため、日常の標準設定に向いています。グローバルモードは現在のノードへより多くの通信を送り、「ルールに一致せず直接接続されているのではないか」を短時間で切り分けるのに便利です。ダイレクトモードはノードを経由せず、ローカルネットワークの復旧や比較テストに使えます。
TUNモードは仮想ネットワークインターフェースを作成し、より低い層で通信を引き継ぎます。そのため、システムプロキシに従わないアプリにも対応し、UDPを扱う場面にも適しています。通常は管理者権限が必要で、他の仮想NIC、セキュリティソフト、企業ネットワークのポリシー、既存のプロキシクライアントと競合することがあります。初回は同種のツールを終了してからTUNを有効にしてください。ネットワークが直ちに切断された場合はTUNを無効にし、ルーティング、DNS、仮想NICの状態を確認します。
システムプロキシはブラウザーや一般的なデスクトップアプリに適しています。TUNはシステムプロキシを参照しない、UDPが必要、または通信を一括して処理したいプログラムに向いています。両者は強弱の段階ではなく、異なる通信の入口です。
ルール分岐の誤りは、主に2つの状況で起こります。対象ドメインがプロキシルールに一致していない場合と、本来は直接接続すべきローカルサービスがリモートノードへ送られている場合です。前者は一時的にグローバルモードへ切り替えて確認できます。グローバルでは使えるのにルールモードでは使えないなら、原因は通常ルールの一致判定にあります。後者はルールモードへ戻し、LAN、ローカルサービス、明確に直接接続したいドメインをダイレクトルールへ追加します。ルールを変更したら設定を保存し、接続を張り直してください。既存のセッションが古い経路を使い続けることがあるためです。
出口IPアドレス、DNS、実際のアプリ通信を確認する
接続確認は段階的に行います。まずクライアントのログに継続的なエラーがないことを確認し、次に出口IPアドレス、DNS、最後に実際の対象アプリを確認します。クライアントのアイコンの色が変わっただけでは、完全な検証にはなりません。
- 接続状態を確認:ノードを選択し、システムプロキシまたはTUNを有効にします。画面に現在のノードが表示され、ログにタイムアウト、認証失敗、証明書エラーが繰り返し出ていないことを確認します。
- 出口IPアドレスを確認:ネットワーク検査を開き、接続前後のパブリックな出口IPアドレスと地域を比較します。まったく変化がなければ、まずシステムプロキシ、ブラウザーのプロキシ拡張機能、分岐モードを確認してください。
- DNSを確認:DNSリクエストが、意図しないローカルリゾルバーから直接処理されていないか確認します。出口が変わっているのにDNS経路に問題がある場合は、クライアントのDNS引き継ぎを有効にするか、現在の設定に合ったリモートDNSを使用します。
- 対象サービスをテスト:実際に利用したいウェブサイトまたはアプリを開き、ページの読み込み、ログイン、再生、ファイルリクエストを完了させます。一般的なテストページより、目的のサービスが使えるかどうかのほうが判断材料になります。
- 切断して比較:接続を切断して検査ページを更新し、出口が元に戻ることを確認します。これにより、ブラウザーキャッシュ、ページキャッシュ、残存プロキシによる誤判定を除外できます。
DNSリークとは、アプリの通信はリモート経路を通っているのに、ドメイン検索だけが意図しないローカル経路から送信される状態です。地域判定が一致しなくなったり、一部のサイトで読み込みに問題が出たりします。対処時は、クライアントのDNSモード、ブラウザー内蔵のセキュアDNS、システムのネットワークアダプター設定、TUNによるDNS引き継ぎの状態を確認します。複数の名前解決方式を重ねて使うと、問題発生時にどの層が実際に有効なのか分かりにくくなります。
ブラウザーは使えるのに特定のデスクトップアプリが使えない場合、そのアプリがシステムプロキシを参照していないか、ルールで対象外のUDP通信を使っている可能性があります。まずクライアントのログで、そのアプリの対象ドメインが記録されているか確認します。次に短時間だけグローバルモードへ切り替えて比較し、それでも通信記録がなければTUNをテストします。すべてのアプリが使えない場合は、分岐ルールを変更し続けるのではなく、ノードの接続性、サブスクリプションの有効性、ローカルネットワークの制限に戻って確認してください。
- ✅ クライアントログで接続が確立し、同じエラーが繰り返されていない
- ✅ ネットワーク検査で出口地域が選択した接続先と一致している
- ✅ DNSの名前解決経路が現在のプロキシ構成と一致している
- ✅ 対象サイトまたはアプリで実際の作業を完了できる
- ✅ 切断後に出口が戻り、接続前後の結果を再現できる
- ❌ クライアントのボタンの色が変わったことだけを成功の根拠にしない
自動起動、自動接続、サブスクリプション更新を設定する
確認が終わってから自動化を設定します。自動起動、起動後の接続、サブスクリプションの自動更新は別々の設定です。自動起動だけを有効にすると、クライアントがタスクバーに表示されるだけでノードは接続されないことがあります。自動接続だけを有効にしても、Windows起動時にプログラムが立ち上がらなければ機能しません。サブスクリプション更新はリモートのノード一覧を更新するもので、前の2つとは関係ありません。
クライアントの「設定」「一般」「基本設定」などを開き、「Windows起動時に起動」「システム起動時に実行」といった項目を探します。有効にしたら、Windowsの「設定 → アプリ → スタートアップ」でクライアントが許可されていることを確認します。Windowsの画面によって名称が多少異なる場合は、タスクマネージャーのスタートアップアプリ画面でも確認できます。
次に「起動後に接続」「前回の接続を復元」「システムプロキシを自動で有効化」などの項目を探します。会社、公共、家庭のネットワークを頻繁に切り替える場合は、まずプログラムの自動起動だけを有効にし、接続は手動のままにするのがおすすめです。ネットワーク環境が固定している場合は、前回のノードを復元する設定を有効にします。TUNを使う場合は、起動時に必要な権限を取得できるかも確認してください。プログラムが起動しても、仮想インターフェースの作成に失敗することがあります。
サブスクリプションの自動更新は、サブスクリプション管理で設定できます。手動更新のままにすることも可能です。どちらの方法でも、手動更新の場所は把握しておきましょう。サブスクリプションを選択し、「サブスクリプションを更新」または「更新」をクリックします。ノード名、地域一覧、回線設定が変わったら、先にサブスクリプションを更新してからノードを選び直します。更新後にローカルのカスタムルールが消えた場合、リモート設定で上書きされる場所に保存されている可能性があります。個人ルールは、クライアントの上書き、マージ、ローカルルール用の領域に保存してください。
よくある障害を層別に切り分ける
サブスクリプションは更新できるが、すべてのノードで接続に失敗する
クライアントはサブスクリプションURLへアクセスできていますが、ノードへの接続段階に問題があります。まずログのエラー種別を確認します。認証失敗は設定またはサブスクリプションの状態を示すことが多く、証明書エラーではシステム時刻、サーバー名、クライアントコアを確認します。検証を直接無効化してはいけません。タイムアウトは、現在のネットワーク、ノード経路、UDP制限が原因の可能性があります。Hysteria2とTUICだけが失敗し、他のプロトコルが使える場合は、ローカルネットワークのUDP処理を重点的に確認してください。
ブラウザーは使えるが、デスクトップアプリは直接接続のまま
まずデスクトップアプリがシステムプロキシに対応しているか確認します。アプリ独自のプロキシ設定だけを参照するものや、独立したネットワークスタックを使うものもあります。アプリの設定で「システムプロキシを使用」を選ぶか、クライアントのTUNモードで通信を引き継ぎます。有効にする前に他の仮想ネットワークツールを終了し、デフォルトルートが二重に変更されないようにしてください。
ノードを切り替えても、サイトに以前の地域が表示される
ブラウザーが古い接続を保持している、DNSキャッシュが更新されていない、サイトのアカウント地域設定が出口IPアドレスより優先されている、または分岐ルールによってドメインが直接接続されている、といった原因が考えられます。まず関連するタブを閉じて開き直し、ネットワーク検査の結果を確認します。出口が変わっているのにサイトの表示が変わらない場合は、ノードを連続して切り替えるのではなく、DNS、サイトのアカウント設定、キャッシュを確認してください。
クライアントを終了すると、通常どおりインターネットに接続できない
通常は、システムプロキシが元に戻っていないか、TUNの仮想インターフェースとルートが残っていることが原因です。クライアントをもう一度開き、まずシステムプロキシとTUNを無効にしてから、プログラムのメニューから正常に終了します。それでも戻らない場合は、Windowsのプロキシ設定で手動プロキシが無効になっていることを確認し、ネットワークアダプターに異常に有効な仮想インターフェースがないか調べます。正体の分からないシステムアダプターを直接削除せず、どのクライアントに属するものか先に確認してください。
サブスクリプション更新後にカスタム設定が消える
リモートサブスクリプションを更新すると、通常はサービス側から配布されたノード設定が再構築されます。サブスクリプションから生成された設定を直接編集すると、次回の更新で上書きされることがあります。長く保持したい分岐ルール、ノードグループの選択、DNS設定は、クライアント専用の上書きまたはマージ設定に保存してください。その機能がない場合は、更新前にローカル設定をバックアップし、ノードのサブスクリプションと個人ルールを分けて管理します。
これらの手順を終えると、Windows側に確認しやすい設定記録が整います。クライアントの入手元、サブスクリプションの更新場所、現在のアプリがシステムプロキシとTUNのどちらで処理されているか、出口とDNSが想定どおりかを把握できます。後で問題が起きても、同じ順番で確認すれば、複数のクライアントを試すより早く原因を絞り込めます。