Windows VPNをゼロから始める:インストールとサブスクリプション導入
クライアントのインストール、サブスクリプションの追加、経路選択、接続確認、自動起動の設定まで、Windowsの基本設定を順に解説します。
このWindows VPNのインストール・サブスクリプション導入ガイドは、プロキシクライアントを初めて設定する方に向けたものです。サブスクリプションリンクを入手したものの、どこに貼り付ければよいか分からない方にも役立ちます。手順はインストールして接続ボタンを押すだけではありません。クライアントが対応プロトコルを扱えるか、システムプロキシとTUNモードをどう選ぶか、DNSが想定した経路で解決されるかによって、実際の接続結果は変わります。
まずは最小限の動作設定を済ませ、その後でスプリットトンネリング、自動起動、高度なネットワーク設定を段階的に有効にしましょう。一度に多くを変更すると、障害の原因を特定しにくくなります。以下では、クライアントの選択、サブスクリプションの導入、経路接続、結果確認、日常のメンテナンスの順に説明します。
Windowsクライアント、プロトコル、サブスクリプションの関係を理解する
初心者の多くは、「VPNサービス」「クライアント」「プロトコル」を同じものとして考えがちです。実際には、サービスが経路とサブスクリプション設定を提供し、クライアントが設定を読み込み、接続を確立してシステムの通信を制御します。プロトコルは、クライアントとリモートサーバーの通信方法を定めるものです。3者に互換性があって初めて、導入した経路を正常に利用できます。
Windowsで使われる汎用クライアントには、Mihomo、sing-box、Xrayなどを基盤とするものや、サービス提供元の専用クライアントがあります。コアによって対応プロトコルの範囲は異なります。Shadowsocks、VMess、Trojan、VLESS、Hysteria2、TUICはいずれもよく見かける名称ですが、画面に表示されているからといって、すべての拡張パラメータ、転送方式、サブスクリプション形式を正しく扱えるとは限りません。
| プロトコル | 主な特徴 | 設定時の確認ポイント |
|---|---|---|
| Shadowsocks | 構成が比較的シンプルで、対応クライアントが多い | 暗号化方式、パスワード、プラグインパラメータに対応しているか |
| VMess | Xray、V2Rayエコシステムの設定でよく使われる | 転送層、TLS、パス、ホストの各パラメータがそろっているか |
| Trojan | 通常はTLSと組み合わせて接続する | サーバー名、証明書の検証、転送パラメータ |
| VLESS | 組み合わせが多く、クライアントのコア機能に左右される | フロー制御、TLS、Realityなどの転送設定 |
| Hysteria2 | QUICベースで、UDPのネットワーク条件に左右されやすい | 基本ネットワークでUDPが制限されていないか、認証情報が一致しているか |
| TUIC | 同じくQUICを使用し、同時接続と不安定なネットワークへの適応を重視する | クライアントのバージョン、UDP到達性、証明書設定 |
サブスクリプションリンクは、設定を配布するための方式です。クライアントがこのリンクへアクセスすると、経路一覧、グループルール、エンコードされたノード情報などを取得します。ブラウザーで直接読む通常のウェブページではなく、単一のノードリンクとも異なります。クライアントによっては「クリップボードからサブスクリプションをインポート」に対応していますが、サブスクリプション管理画面でアドレスを入力するタイプや、専用クライアントにログインして設定を同期するタイプもあります。
クライアントを選ぶ際は、次の3点を優先して確認します。インストーラーがプロジェクトの公式リリースページまたはサービス提供元から入手したものか、現在のバージョンがサブスクリプション内のプロトコルに対応しているか、現在のWindows環境に適応できるよう保守されているかです。画面が似ているという理由だけで設定を導入しないでください。同名クライアントでも、派生版によって使用するコアが異なる場合があります。
Windowsクライアントをインストールして初回起動する
ダウンロード前に、デバイスのシステムアーキテクチャを確認します。新しいWindowsパソコンの多くはx64ですが、ARMを採用したデバイスもあります。インストーラーとアーキテクチャが合わないと、プログラムが起動しなかったり、接続時にコアプロセスが終了したりすることがあります。プロジェクトがインストール版とポータブル版の両方を提供している場合、主な違いは更新方法、ファイルの保存場所、システムとの統合度です。経路の性能は内蔵コアに左右されます。
- 信頼できる入手元から、システムアーキテクチャに合ったクライアントのインストーラーを取得します。
- 発行元の情報、ファイル名、ダウンロード元を確認し、公式の案内と一致していることを確かめます。
- インストーラーを実行し、現在のアカウントで正常に読み書きできる場所へクライアントを配置します。
- 初回起動後、コアが正常に読み込まれているか、画面にサブスクリプション管理、プロキシモード、接続制御が表示されているかを確認します。
- Windowsファイアウォールがネットワークアクセスを確認してきた場合は、実際に利用するネットワークの種類に応じて慎重に選択し、不要な範囲まで許可しないでください。
ポータブル版をシステム保護対象のディレクトリに置くと、サブスクリプションキャッシュ、ログ、自動更新ファイルを書き込めないことがあります。また、圧縮ファイルの内部から長期間直接実行するのも避けましょう。コアや設定ファイルを正しく展開して呼び出せない場合があります。完全なフォルダーを固定場所へ展開してから起動すると、後のアップグレードやバックアップが容易です。
一部のプロキシコアでは、TUNモードを有効にする際に管理者権限や仮想ネットワークコンポーネントが必要です。ただし通常のシステムプロキシモードでは不要な場合があります。最初からクライアント全体を常に管理者として実行しないでください。まず通常の権限でサブスクリプション導入とシステムプロキシをテストし、低レイヤーのネットワーク制御が必要な機能を有効にするときだけ、クライアントの案内に従って権限を処理します。
インストール版とポータブル版の選び方
クライアントをWindowsとともに安定して起動し、ショートカットやアンインストール情報をインストーラーで管理したい場合は、インストール版が適しています。設定フォルダーを任意の場所に置きたい場合や、更新を手動で管理したい場合は、ポータブル版のほうが柔軟です。どちらを選ぶ場合も、設定フォルダーの場所を覚えておきましょう。トラブル対応時のログ、サブスクリプションキャッシュ、コアのバージョン情報は通常ここに保存されています。
サブスクリプションリンクを導入して更新結果を確認する
サブスクリプションリンクをコピーするときは、サブスクリプション管理画面のコピー機能を使い、手動選択による文字抜けを避けます。リンクにはアクセス情報が含まれる場合があります。前後の余分なスペースや改行、チャットアプリによる途中切れは、更新失敗の原因になります。貼り付ける前にブラウザーで開いて確認する必要はありません。返された内容を他人へ転送するのも避けてください。
- クライアントのサブスクリプション管理、設定管理、または設定ファイルの画面を開きます。
- サブスクリプションの追加を選び、完全なリンクをアドレス入力欄へ貼り付けます。
- 他の設定と混同しないよう、識別しやすいローカル名を付けます。
- 更新を実行し、クライアントがダウンロード、解析、設定の書き込みを完了するまで待ちます。
- 経路画面へ戻り、経路名またはポリシーグループが表示されていることを確認します。
「更新成功」は通常、クライアントが設定を取得して解析できたことを示すだけで、すべての経路に接続できることを意味しません。逆に、更新段階でエラーが出る場合は、経路を切り替える前にサブスクリプションのリクエスト問題を解決します。よくある原因は、リンクのコピー漏れ、サブスクリプションの期限切れ、システム時刻の大幅なずれ、基本ネットワークからサブスクリプションアドレスへアクセスできないこと、クライアントが返却形式を認識できないことです。
サブスクリプションによっては、自動選択、フェイルオーバー、地域別分類などのポリシーグループが用意されています。一方で、元の経路一覧だけを提供するものもあります。ポリシーグループはクライアントが経路を整理する方法であり、新しいプロトコルではありません。初回設定では、まず地域が明確な経路を手動で選び、接続が安定してから自動選択ルールを確認すると、実際にどの経路を使っているか判断しやすくなります。
更新に失敗したときの確認箇所
- リンクをコピーし直し、先頭と末尾にスペースや改行がないことを確認します。
- Windowsの日付、時刻、タイムゾーンが正しいか確認します。
- システムプロキシを制御している他のツールを一時的に終了し、リクエストのループを避けます。
- クライアントのログで、HTTPステータス、解析エラー、証明書に関する警告を確認します。
- クライアントのコアバージョンが、サブスクリプションで使用されているプロトコルとフィールドに対応しているか確認します。
- ブラウザーはインターネットに接続できるのにクライアントだけ更新できない場合は、ファイアウォールとシステムプロキシの継承設定を確認します。
ログの確認を省き、何度も削除や再インストールを繰り返すのはやめましょう。サブスクリプションのリクエスト失敗はダウンロード段階の問題、経路接続の失敗はハンドシェイクまたはネットワーク段階の問題、ウェブページが開かない場合はシステムプロキシ、DNS、スプリットトンネリング段階の問題である可能性があります。まず障害がどの層で起きているかを判断すると、効率よく対処できます。
経路の選び方:直接接続、中継、IEPL専線の違い
経路名には地域や経路タイプが含まれることがよくあります。地域は通常、出口の場所を示します。選ぶ際は自分から地理的に近い場所だけでなく、対象サービスがある地域も考慮してください。地域制限のあるコンテンツへアクセスする場合は出口地域が特に重要です。国際的な業務、コードホスティング、オンラインドキュメントでは、接続の安定性と実際のアクセス経路も確認します。
直接接続の経路は、ローカルネットワークからリモートの入口へ直接接続するため構造がシンプルです。ただし、現地の通信事業者、国際出口の混雑、ネットワーク間ルーティングの変化に影響されやすい傾向があります。中継経路は、まず国内または近隣の入口へ接続し、その後中継ネットワークを通じて海外ノードへ送ります。複雑な経路を改善できる場合がありますが、最終的な結果は入口、中継回線、遠隔出口に左右されます。
IEPL専線は通常、通信事業者の国際イーサネット専線を利用した国際的な企業ネットワーク経路を指します。一般のインターネットによる直接接続や中継とは、リソースの構成方法が異なり、安定した経路と制御しやすい通信を重視する傾向があります。ただし、「IEPL」という表示だけで実測を代替することはできず、すべてのアプリ、時間帯、ローカルネットワークで同じ結果になるわけではありません。
| 経路タイプ | 経路の特徴 | 適した確認方法 |
|---|---|---|
| 直接接続 | ローカルネットワークからリモートの入口へ直接接続する、比較的シンプルな構成 | 基本ネットワークの国際ルーティングが良好な場合に、まず試す |
| 中継 | まず中継入口へ入り、対象地域へ転送する | ウェブページの応答、継続的な通信、夜間の状態を比較する |
| IEPL専線 | 通信事業者の国際専線リソースで国際経路を構成する | 利用するアプリとローカルネットワークで実際に確認する |
クライアントに表示される遅延は、初期選別の目安にすぎません。プロキシ入口を測定している場合もあれば、TCP、HTTP、その他の検出方式を使っている場合もあり、ウェブページの読み込み、動画のバッファリング、ファイル転送の体感を完全に示すものではありません。適切な方法は、対象地域に合う経路をいくつか選び、実際のアプリで接続確立、継続アクセス、切り替え後の復旧をそれぞれ確認することです。
Hysteria2とTUICはQUICとUDPに依存します。ホテル、職場のゲストネットワーク、制限の多い公共ネットワークでは、UDPが帯域制限または遮断されることがあります。この場合、プロトコルの設定に誤りがなくても、安定した接続を確立できない可能性があります。TCPベースまたは別の転送方式の経路へ切り替えて比較し、ネットワーク制限なのかノード設定なのかを切り分けてください。
システムプロキシ、TUNモード、スプリットトンネリングの設定方法
Windowsクライアントが正常に接続した後は、どの通信をプロキシへ通すかを決める必要があります。最も一般的なのはシステムプロキシモードです。クライアントがWindowsのプロキシ設定を書き換え、システムプロキシに対応するブラウザーやアプリがその設定に従ってリクエストを送信します。設定が簡単で影響範囲も把握しやすいため、初回接続のテストに適しています。
ただし、すべてのWindowsアプリがシステムプロキシに従うわけではありません。独自のネットワークスタックを使うプログラムもあれば、ゲーム、コマンドラインツール、システムコンポーネントが直接接続することもあります。TUNモードは仮想ネットワークインターフェースを通じて、より低い層で通信を制御します。適用範囲が広く、UDPを扱うアプリやシステムプロキシを参照しないアプリにも向いています。一方で、仮想マシン、コンテナ、企業向けセキュリティソフト、他のネットワークフィルタードライバーと競合しやすくなります。
初回設定は、システムプロキシとルールモードから始めるとよいでしょう。ブラウザーのアクセスが正常で、特定のアプリだけがクライアントを迂回する場合に、TUNの有効化を検討します。複数のプロキシツールでTUN、VPN、システムプロキシを同時に有効にしないでください。ルーティングループ、DNSの混乱、ネットワークインターフェースの優先順位競合が起きる可能性があります。
ルールモード、グローバルモード、直接接続モード
- ルールモード:ドメイン、IP、プロセス、ルールセットに基づいてプロキシまたは直接接続を決めます。日常利用に適しており、ローカルサービスへのアクセス経路を制御する一般的な方法です。
- グローバルモード:クライアントが制御する通信を、選択した経路へ一括して送ります。ルールの漏れを短時間で確認するのに適しますが、影響を理解しないまま長期間使うのは避けてください。
- 直接接続モード:通信をリモート経路へ通さず、基本ネットワークをすばやく復旧したり、接続前後の違いを比較したりする際に使います。
スプリットトンネリングのルールは、「どの宛先にプロキシが必要か、どの宛先をローカル接続のままにするか」を中心に設計します。中国本土のウェブサイト、ローカルプリンター、LANストレージ、企業内ネットワークは通常、直接接続が必要です。海外サイトや特定の国際アプリは、ドメインまたはルールセットに応じてプロキシへ振り分けます。ルールに優先順位がある場合、より具体的なドメインやLANルールを、広範なフォールバックルールより先に置きます。
グローバルモードでは正常なのにルールモードで失敗するウェブサイトは、経路ではなくルールのマッチングに問題があることが多いです。クライアントの接続ログを確認し、最終的にドメインがプロキシ、直接接続、ブロックのどれに一致したかを確認します。ページの表示結果だけで判断すると、リダイレクト先、静的リソース、ログインAPIが別の経路を通る可能性を見落とします。
接続、出口、DNSが想定どおりか確認する
ボタンに「接続済み」と表示されても、クライアントのコアがプロキシセッションの確立を認識しただけです。完全な確認では、少なくとも出口地域、実際のアプリ利用、DNSの経路、切断後の復旧を確認します。テスト時はブラウザーで開いていたページをいったん閉じ、新しいウィンドウからリクエストを開始してください。キャッシュ、持続接続、古いDNS結果による判定への影響を避けられます。
- 対象の経路へ接続し、システムプロキシまたは使用予定のTUNモードを有効にします。
- 対象サイトを開き、ページ本体、画像、ログインAPI、ダウンロードリクエストがすべて正常に完了することを確認します。
- 出口地域が選択した経路と一致しているか確認します。ルールによってテストサイトが直接接続になっていないかにも注意してください。
- DNS検査ページを使い、名前解決リクエストが想定外のローカル経路へ送られていないか確認します。
- 直接接続へ戻すかクライアントを切断し、Windowsのネットワークが正常に復旧することを確認します。
DNSリークとは通常、ドメイン解決リクエストが想定した暗号化またはプロキシ経路を通らず、ローカルネットワークが提供するリゾルバーへ送られる状態を指します。アクセスしたドメインが露出したり、出口地域と一致しないアドレスが返されたりする可能性があります。ただし、検査ページに複数のDNSサーバーが表示されたからといって、必ずしもリークとは限りません。パブリックDNS、プロキシ側DNS、ブラウザーのセキュアDNS、クライアント内蔵リゾルバーによって結果は異なります。重要なのは、現在の設定に合った結果かどうかです。
ルールモードでは、「ローカルドメインはローカルで解決し、プロキシ対象ドメインはリモートで解決する」という方式が使われることがあります。このような分割DNSは不要なリモート問い合わせを減らせますが、ルールと名前解決のロジックを一致させる必要があります。ドメインを先にローカルで解決し、そのIPに基づいて経路を判定すると、ルールの一致が不安定になる場合があります。一方、すべてのドメインをリモートで解決すると、LAN名や企業内ドメインに影響することがあります。
Windowsに付属するコマンドで、ネットワーク状態の確認や古いDNSキャッシュの削除ができます。
ipconfig /flushdns
netsh winhttp show proxy
nslookup ojvpn.com
powershell Get-NetIPConfiguration
ipconfig /flushdnsはWindows DNSクライアントのキャッシュを削除します。netsh winhttp show proxyで確認できるのはWinHTTPプロキシであり、すべてのアプリが使うシステムプロキシと同じではありません。nslookupは現在のリゾルバーの返答を確認するのに役立ち、Get-NetIPConfigurationではアクティブなネットワークアダプター、ゲートウェイ、DNS設定を確認できます。コマンドの結果はクライアントログと合わせて判断してください。1項目だけで通信経路全体を証明することはできません。
自動起動を設定し、プロキシの残留による通信障害を防ぐ
Windowsクライアントには通常、「Windows起動時に起動」「起動後に接続」「起動後にシステムプロキシを設定」といった項目が個別に用意されています。これらはそれぞれ役割が異なります。自動起動はプログラムを開くだけ、 自動接続は経路を選んで接続するもの、システムプロキシはアプリが通信をクライアントへ渡すかを決めるものです。手動接続が安定してから、1つずつ有効にしましょう。
比較的安全な順序は、まずクライアントをWindows起動時に立ち上げ、設定が正常に読み込まれるか確認することです。次に、前回の経路または指定したポリシーグループへ自動接続します。最後に必要に応じて、起動後のシステムプロキシ設定を有効にします。家庭、職場、公共ネットワークなど環境が頻繁に変わる場合は、手動接続のままにしたほうが、基本ネットワークでウェブ認証が必要かどうかを把握しやすいこともあります。
「クライアントが異常終了したのにシステムプロキシが残る」状態には特に注意してください。ブラウザーは本機のプロキシポートへリクエストを送り続けますが、コアプロセスは停止しているため、パソコン全体がオフラインになったように見えます。この場合はクライアントを再起動してシステムプロキシを無効にするか、Windowsのネットワークとインターネット設定でプロキシの状態を確認します。
TUNモードが異常終了した場合、仮想ネットワークアダプター、ルーティングテーブル、DNS設定がすぐに復元されていない可能性があります。まず他のネットワークツールを終了し、クライアントに用意された修復、ネットワークのリセット、仮想コンポーネントの削除機能を使います。プログラムフォルダーを直接削除するとドライバーやスタートアップ項目が残ることがあるため、インストール版クライアントは専用のアンインストーラーを優先して使用してください。
接続段階ごとに確認するよくあるトラブル
サブスクリプションは更新できるが、すべての経路で接続に失敗する
これはサブスクリプションのダウンロード段階が概ね正常で、問題がプロトコルの互換性、システム時刻、基本ネットワークの制限、コアのバージョンにある可能性を示します。まずクライアントのコアを更新し、ログにあるTLS、認証、タイムアウト、UDPに関するメッセージを確認します。Hysteria2とTUICだけ接続できず、他の経路は正常な場合は、現在のネットワークによるUDP制限を重点的に確認します。
クライアントは接続済みだが、ブラウザーがローカルネットワークを使い続ける
システムプロキシが実際に有効か、ブラウザーに個別のプロキシが設定されていないか、現在のモードが直接接続になっていないか、対象ドメインが直接接続ルールに一致していないかを確認します。ブラウザー拡張機能がシステム設定を上書きすることもあり、同じブラウザーでもプロファイルごとに動作が異なる場合があります。
ブラウザーは正常だが、特定のデスクトップアプリだけ接続できない
そのアプリがWindowsのシステムプロキシに従っていないか、UDPを必要としている可能性があります。まずアプリ自体にプロキシ設定があるか確認します。設定がない場合は、互換性を確認したうえでTUNモードを試します。企業管理のデバイスでは、セキュリティポリシーによって仮想ネットワークアダプターやユーザー単位のプロキシが制限されることもあるため、所属組織のネットワークルールに従ってください。
接続後に中国本土のウェブサイトが遅くなった、またはLAN機器を開けない
まずグローバルモードを長時間使っていないか確認し、次にLANとローカルドメインが直接接続に設定されているか確認します。TUNモードでは、LANアクセスが許可されているか、仮想インターフェースのルートがローカルサブネットを覆っていないかも確認します。プリンター、ルーターの管理画面、LANストレージは通常、リモート経路を通す必要がありません。
スリープ復帰後に接続を復旧できない
スリープによってネットワークアダプターの状態、ネットワークアドレス、デフォルトルートが変わるため、古い接続をそのまま使えないことがあります。まず経路を切断して再接続し、必要に応じてTUNインターフェースを再読み込みします。問題が繰り返す場合は、「起動後すぐに接続」を無効にし、基本ネットワークが復旧してから手動接続すると、障害箇所を判断しやすくなります。
設定後の日常メンテナンスチェックリスト
Windows VPNの設定は、一度済ませたら永遠に変わらないものではありません。クライアントのコア、サブスクリプション形式、システムのネットワークコンポーネント、対象サービスはいずれも更新される可能性があります。重要なのは頻繁にパラメータを変更することではなく、切り戻しと検証ができる基本設定を保つことです。
- クライアントの正式な更新機能から、定期的にバージョンとコアの更新を確認します。
- サブスクリプションの更新に失敗したら、まずログを確認し、リンクを公開の検索ツールへ貼り付けないでください。
- TUNのトラブル時に戻せるよう、検証済みのシステムプロキシ設定を1つ残しておきます。
- スプリットトンネリングのルールを変更したら、実際の対象サイトとアプリで再確認します。
- ネットワーク環境を切り替えたら、まず基本ネットワークが使えることを確認してから国際経路へ接続します。
- クライアントを使わないときは、先にシステムプロキシとTUNを無効にしてから、プログラムを正常に終了します。
- アップグレード前に、現在のコアバージョン、設定フォルダー、重要なモードを記録しておくと、問題発生時に比較できます。
Windowsクライアントをゼロから設定するときに最も重要なのは、層ごとに確認することです。インストール段階ではプログラムとコアが動くか、サブスクリプション段階では設定をダウンロードして解析できるか、接続段階ではプロトコルのハンドシェイクが成功するか、システム段階では通信がクライアントへ入っているかを確認します。その後、アプリ段階でスプリットトンネリングとDNSを確認します。この流れに沿って調べるほうが、再インストールを繰り返したり、理由なくパラメータを変えたりするより確実です。
最小限の動作設定を済ませてから、自動起動、自動接続、より複雑なスプリットトンネリングルールを有効にします。後から設定の競合が起きても、検証済みの基本状態へすぐ戻せます。