このmacOS VPN設定ガイドは、Macで初めてネットワーク高速化サービスを設定する方を対象にしています。アプリをインストールして接続ボタンを押すだけではなく、クライアントの入手元、ネットワーク拡張の権限、サブスクリプション、動作モード、ルーティングとDNSの状態を順番に確認します。手順どおりに進めれば、「接続済みなのにアクセスできない」「クライアントにノードが表示されない」といった問題の多くを切り分けられます。
インストール前にクライアント、システム、サブスクリプションの種類を確認
macOSのVPNクライアントは大きく2種類に分けられます。1つは、OSが直接対応するプロトコルでシステム標準のVPN設定を使うタイプ。もう1つは、ネットワーク拡張によってローカルプロキシや仮想ネットワークインターフェースを作り、Shadowsocks、VMess、Trojan、VLESS、Hysteria2、TUICなどのサブスクリプション形式をクライアント側で処理するタイプです。権限画面や動作方式が異なるため、アプリ名にVPNと入っているかだけでなく、サービス提供元のサブスクリプション形式に対応しているかを確認しましょう。
サブスクリプションURLは通常のウェブページではありません。エンコードされたノード一覧を返す場合もあれば、クライアントが読み込める設定ファイルを返す場合もあります。追加すると、ノード名、サーバーアドレス、ポート、通信方式、暗号化パラメータがローカルに保存されます。ブラウザ上でURLの内容を編集したり、不明なオンライン変換サービスにURLを送ったりしないでください。URL自体に、サブスクリプションへのアクセスに必要な認証情報が含まれている可能性があります。
| 設定方式 | 適したケース | 主な確認ポイント |
|---|---|---|
| システム標準VPN | サービス提供元から標準システム設定または構成プロファイルが提供される場合 | アカウント情報、サーバー認証、システムVPNの状態 |
| サブスクリプション対応クライアント | 複数のノードを追加し、ルールベースの振り分けを使う場合 | プロトコル互換性、サブスクリプション更新、ネットワーク拡張の権限 |
| ノードの手動設定 | 単一のプロトコルURLまたは設定一式だけが提供される場合 | 各項目の対応関係、トランスポート層の設定漏れ |
クライアントは、サービスの管理画面、クライアント公式リリースページ、またはシステムで検証済みの入手先からダウンロードするのが安全です。インストーラーを開けない場合は、Macのチップアーキテクチャとシステム互換情報を確認してください。Appleシリコン向けとIntel向けではビルドが異なることがあります。変換実行に依存しているからといって接続に失敗するとは限りませんが、クラッシュ、消費電力、ネットワーク拡張の起動不良を調べる際は、ネイティブ版のほうが問題の範囲を特定しやすい傾向があります。
クライアントをインストールしてmacOSのネットワーク権限を許可
インストーラーを開いたら、アプリを「アプリケーション」フォルダへ移動してから、その場所から起動します。ディスクイメージのウインドウから直接実行すると、クライアントの更新、ログイン時の自動起動、補助コンポーネントのパスに問題が起きる場合があります。初回起動時にmacOSが開発元の確認を求めることがあります。アプリ名と入手元を確認し、警告を避けるためにシステムのセキュリティチェックを恒久的に無効にしないでください。
サブスクリプション対応クライアントでは、システムプロキシ、仮想ネットワークインターフェース、拡張モードを初めて有効にする際、VPN構成の追加またはネットワーク拡張の有効化を求められることがあります。システムに権限確認が表示され、現在のMac管理者情報の入力を求められる場合もあります。ここで許可する対象はmacOSのネットワーク設定であり、システムアカウントのパスワードをサービス提供元に渡すわけではありません。通常、パスワードはシステムの認証画面で処理され、クライアントが受け取るのは許可結果だけです。
許可をクリックしても変化がない場合は、「システム設定」を開き、ネットワーク、VPN、ログイン項目、拡張機能に関する項目を確認します。macOSのバージョンによって項目名は多少異なりますが、確認基準は同じです。対象クライアントのネットワーク拡張が許可され、システムのVPN一覧にクライアントが作成した設定が表示されていることを確認してください。権限を変更した後は、接続を何度もクリックするより、クライアントを完全に終了して再起動するほうが拡張機能を再読み込みしやすくなります。
- アプリがインストールイメージ内ではなく、「アプリケーション」フォルダへ移動されている。
- クライアントが現在のmacOSのバージョンとチップアーキテクチャに対応している。
- VPN構成の追加または対象ネットワーク拡張の有効化がシステムで許可されている。
- 古いクライアントが切断され、システムネットワークに重複したプロキシ設定が残っていない。
- セキュリティソフトがクライアントの補助プロセスやローカル待ち受けを阻止していない。
VPN構成の追加を求める表示が繰り返される場合、古い構成の破損、クライアントの書き込み権限の不備、アプリを毎回一時パスから起動していることなどが原因として考えられます。まず切断してクライアントを終了し、システムのVPN設定から、そのアプリが作成した無効な構成を削除します。その後、「アプリケーション」フォルダから再起動して権限を許可してください。削除前に構成の所有元を確認し、業務環境で必要な企業ネットワーク設定を誤って消さないよう注意しましょう。
サブスクリプションURLを追加してノード情報を確認
サブスクリプションURLを取得したら、まずURL全体をコピーし、クライアントで「クリップボードから追加」「サブスクリプションを追加」「リモート設定」などの項目を探します。クライアントによってメニュー名は異なりますが、基本的には更新可能なリモートURLを保存する操作です。「ノードをインポート」と「サブスクリプションを追加」の両方がある場合は、通常後者を選びます。単体インポートはその時点のノード情報しか保存しませんが、サブスクリプションならサービス側で回線が調整された後に設定を再取得できます。
追加できたら、すぐに接続せず、サブスクリプション名の下にノードが表示されているか、ノードのプロトコルが現在のクライアントに対応しているか、更新日時が正常かを確認します。リストが空の場合は、URLのコピー漏れ、認証の期限切れ、クライアントが返却形式を解析できないこと、現在のネットワークから一時的に取得できないことなどが考えられます。クライアントの更新機能で再試行し、URLの文字を勝手に変更しないでください。
プロトコル名はクライアントとサーバー間の通信方式を示すもので、プロトコルだけで回線品質が決まるわけではありません。Shadowsocksは軽量なプロキシに適し、VMessとVLESSはトランスポート層の設定を備えたクライアントでよく使われます。TrojanはTLS接続と組み合わせることが多く、Hysteria2とTUICは不安定なネットワーク向けに最適化された通信方式に基づいています。接続できるかどうかは、クライアントの実装、サーバー側のパラメータ、証明書検証、トランスポート設定、現在のネットワーク環境が一致するかで決まります。プロトコル名が違っていても、手動変換が必要とは限りません。
ノードを1件手動追加する場合は、サーバーアドレス、ポート、認証情報、通信方式、TLS設定、サーバー名を一つずつ対応させます。項目名が似ていても相互に置き換えられるとは限りません。たとえばサーバー名が証明書検証に使われたり、パスやサービス名がトランスポート層のパラメータだったりします。入力漏れがあってもクライアントは設定を保存できる場合がありますが、ハンドシェイクで失敗します。初心者は、サービス提供元が生成したサブスクリプションをそのまま追加するほうが入力ミスを減らせます。
ノード、回線タイプ、動作モードを選ぶ
ノード一覧では、国、地域、都市、回線コードなどで接続先を区別します。初回テストでは、地理的に目的のサービスに近く、名称が分かりやすく、現在利用できるノードを選びます。クライアントに表示される遅延は1回の測定結果にすぎず、測定方法、ローカルネットワーク、サーバーの応答方針に左右されます。1回の数値だけでダウンロード速度、動画再生、操作感を判断しないでください。
回線経路には、直結、中継、IEPL専線などの表記があります。直結はローカルネットワークから遠隔の入口へ直接接続する方式で、経路は単純ですが、利用中の通信事業者から対象地域までの国際ルートに左右されます。中継は近い入口へ接続してからサービスネットワーク経由で出口へ転送し、国際経路を調整します。IEPL専線は管理された国際的な伝送経路を使う点が特徴で、パブリックインターネットの直結とは経路方式が異なります。ただし、実際の使用感はローカル接続、入口の負荷、対象サイト、クライアント設定にも影響されます。
| 回線タイプ | 経路の特徴 | 最初に確認する項目 |
|---|---|---|
| 直結 | ローカルネットワークから遠隔の入口へ直接アクセス | ローカルの国際ルート、ハンドシェイク、対象への到達性 |
| 中継 | 中継入口に接続してから出口へ転送 | 入口への到達性、転送経路の一致 |
| IEPL専線 | 管理された国際的な伝送経路を使用 | 専線入口、サブスクリプション権限、ノードの状態 |
ノードを選んだら、トラフィックをクライアントへ取り込む方法も決めます。ルールモードはドメイン、アドレス範囲、アプリのルールに応じて振り分けます。グローバルモードでは大部分の通信を選択したノード経由にします。直結モードは、クライアントを終了せず一時的にプロキシを停止する場合に使います。日常利用では、まずルールモードを使うのが適しています。ローカルサービス、LAN機器、国際アクセスを分けて処理できるためです。グローバルモードはルールの適用漏れを確認する際に役立ちますが、すべての接続問題を解決する常用手段にはしないでください。
macOSの一部クライアントには、「システムプロキシ」と仮想ネットワークインターフェースという2つの取り込み方式があります。システムプロキシはmacOSのプロキシ設定に従うアプリに主に影響します。仮想ネットワークインターフェースはシステムプロキシを参照しない通信も扱えますが、より広いシステム権限が必要です。ブラウザはアクセスできるのに独立したアプリだけ接続できない場合は、そのアプリがシステムプロキシを回避しているかを先に確認し、すぐにプロトコルを変更しないでください。
接続後にルーティング、DNS、振り分けの動作を確認
クライアントに「接続済み」と表示されても、ローカルプロセスと接続処理の一部が開始したことを示すだけで、すべてのアプリの通信が想定した経路を通るとは限りません。確認では、基本的な接続性、出口の変化、DNS名前解決、振り分け結果を組み合わせて判断します。まず普段アクセスできるローカルページを開き、基本ネットワークが切断されていないことを確認します。その後、対象回線が必要なサービスにアクセスし、安定して接続できるかを確認してください。
出口の確認には、信頼できるネットワーク診断ページで現在の公開出口地域を調べる方法や、対象サービスが返す地域情報を見る方法があります。ノード名だけに頼らないでください。ノード名は設定上の表示であり、最終的な出口はサーバー側の転送にも左右されます。確認後に直結モードへ戻すか切断し、出口が元に戻るかを比較すると、ブラウザキャッシュやサイトアカウントの地域設定による誤判定を除外できます。
DNSリークとは、ドメインの問い合わせが想定した名前解決経路を通らず、ローカルネットワークのリゾルバーから問い合わせ内容が見える状態や、プロキシ出口と一致しない結果が返る状態を指します。完全にアクセスできなくなるとは限らず、不適切なアドレスへ名前解決される、一部サイトの地域判定が一致しない、ルールの振り分けと実際の接続方向が異なるといった形で現れます。確認時は、クライアントのDNS設定、ルールモード、システムが現在使っているリゾルバーを同時に確認してください。
macOS標準のターミナルコマンドで、システムの名前解決状態を確認できます。
scutil --dns
route -n get default
scutil --dns は現在のリゾルバーと適用範囲を一覧表示し、クライアントが専用のDNS設定を作成したか確認するのに役立ちます。route -n get default はデフォルトルートのインターフェースを確認するコマンドです。出力はクライアントの動作モードと合わせて読み取ります。ルールプロキシではシステムのデフォルトルートが書き換わらない場合がありますが、仮想ネットワークインターフェースモードでは対応するインターフェースやルートが追加されることがあります。インターフェース名だけでリークの有無を判断せず、実際のドメイン問い合わせと対象接続の経路も確認してください。
振り分けの確認には、性質が明確な対象を選びます。ローカルサービスは直結のまま、国際サイトはプロキシルールに一致し、LAN機器には引き続きアクセスできる状態が理想です。ドメインの経路が誤っている場合は、まずクライアントの接続ログでルールの適用結果を確認し、ルールセットの更新状況、アプリ内蔵DNSの使用、対象が複数の関連ドメインを使っていないかを調べます。すべての通信をグローバルに変更すると、原因がルールにあるか確認できますが、調査後はルール自体を修正してください。
よくあるトラブルを調べる順番
クライアントは接続済みだが、すべてのウェブページを開けない
まず直結モードに戻して、ローカルネットワーク自体が正常か確認します。その後プロキシを再び有効にし、同じサブスクリプションにある別の利用可能なノードへ切り替えます。直結でもアクセスできない場合は、クライアントの再インストールを繰り返すのではなく、Wi-Fi、有線ネットワーク、システムDNS、上流ネットワークを先に確認してください。仮想ネットワークインターフェースを有効にした場合だけ切断されるなら、ネットワーク拡張の権限、DNS設定、別のセキュリティツールによる同時フィルタリングを確認します。
サブスクリプションの追加は成功したが、ノード一覧が空
クライアントのサブスクリプション更新機能でエラー内容を確認し、URLに余分なスペース、改行、途中で切れた部分がないか調べます。対応していない形式と表示された場合は、ウェブページのURL、管理画面のURL、単一ノードのURLではなく、そのクライアント向けのサブスクリプションを取得したか確認してください。クライアントを完全に終了して再起動し、サブスクリプションのキャッシュが更新されていない可能性を切り分ける方法もあります。
ブラウザは正常だが、ほかのアプリが接続できない
多くの場合、通信の取り込み範囲が原因です。ブラウザはシステムプロキシに従いますが、一部のアプリは独自のネットワークスタックやDNSを使ったり、アドレスへ直接接続したりするため、システムプロキシを通りません。クライアントが仮想ネットワークインターフェースモードに対応しているか確認し、そのモードのネットワーク拡張が許可されていることを確認してください。すべての通信を取り込みたくない場合は、プロセス単位のルールに対応したクライアントで対象アプリの振り分けを設定する方法もあります。
スリープ復帰やネットワーク切り替え後に接続が失われる
Macがスリープから復帰したり、異なる接続ネットワークを切り替えたりすると、以前のネットワークインターフェース、アドレス、DNSの状態が変わっていることがあります。その一方で、クライアントが古いセッションを保持している場合があります。まず手動で切断してから再接続し、ネットワーク拡張とルートを再構築させます。頻繁に起きる場合は自動接続を無効にして再テストし、システムのネットワーク切り替えが原因か、自動接続の開始が早すぎるのかを確認します。
システムが権限を繰り返し求め、ネットワーク拡張を起動できない
アプリが「アプリケーション」フォルダにあることを確認し、システム設定で対象の拡張機能が許可されているか調べます。その後クライアントを終了し、作成された無効なVPN構成を削除してから、再起動して権限を許可します。それでも起動できない場合は、拡張機能の読み込み、設定の書き込み、補助プロセスに関するエラーをクライアントのログで確認してください。ログを共有する前に、サブスクリプションURL、認証パラメータ、ローカルアカウントのパスなどの機密情報を削除します。
- まずローカルネットワークを確認し、その後でクライアントの問題か判断する。
- まずサブスクリプションを更新し、その後でノードとプロトコルの互換性を確認する。
- まず権限と通信の取り込み方式を確認し、その後でDNSやルートを変更する。
- 一度に変更するのは1つだけにし、どの設定が効果を与えたか分からなくなるのを防ぐ。
- 問題が解決したら日常の振り分けモードに戻し、ローカルアクセスと国際アクセスをもう一度確認する。
macOSと他のプラットフォームで設定はどう違うか
macOSとiOSはいずれも、アプリの権限とネットワーク拡張を厳格に管理します。ただしmacOSのクライアントは、サブスクリプション編集、ルール確認、ログ、仮想ネットワークインターフェースなどの機能がより充実していることが一般的です。iOSではシステムのバックグラウンド実行制限を受けやすく、多くの操作がシステムのVPN権限で一元管理されます。Macクライアントから書き出したローカル設定をすべてiOSへ単純にコピーできるわけではなく、サブスクリプションの互換性もモバイル版クライアントが対応するプロトコルと項目に左右されます。
Windowsのクライアントは、システムプロキシ、仮想ネットワークアダプター、サービスプロセスなどで通信を取り込むことが多く、macOSのネットワーク拡張とは権限の扱いが異なります。Androidでは通常、システムVPNインターフェースを使い、アプリがローカルに通信トンネルを構築します。同じサブスクリプションに同じノードを含められても、プラットフォームによって接続モード、DNSオプション、プロセス単位の振り分け、バックグラウンド動作は一致しない場合があります。トラブル時は現在のプラットフォームのログと権限設定を使い、別のOSのメニュー手順をそのまま当てはめないでください。
Macで設定を終えたら、日常利用の状態を分かりやすく保つことをおすすめします。サブスクリプションが更新でき、ルールモードが利用目的に合い、システムのVPN一覧に不要な構成がなく、古いクライアントが自動起動しない状態です。一時的なテストのときだけノード、グローバルモード、仮想ネットワークインターフェースを切り替え、終了後は元に戻します。頻繁に再インストールするよりも、この運用のほうが保守しやすく、障害時に直前の変更を素早く特定できます。