MacでVPNを使う場合、サブスクリプション型サービスでは通常、対応クライアントをインストールし、サブスクリプションを追加して必要な権限を許可し、回線を選んだうえで、アプリがルールどおりに接続するか確認します。macOS標準のVPN設定には、一般的なプロキシ用サブスクリプションを直接読み込めません。サブスクリプションURLをシステムのサーバーアドレス欄に入力しても、通常は接続できません。
インストール前にクライアントとサブスクリプション形式を確認
まず、システムVPNとプロキシクライアントを区別しましょう。システム設定のVPN構成は、対応するVPNプロトコルで使用します。企業では構成プロファイルを通じて接続情報が配布されることもあります。一方、Shadowsocks、VMess、Trojan、VLESS、Hysteria2、TUICなどのプロトコルには、それぞれに対応したクライアントが必要です。アプリ名に「VPN」と付いていても、すべての形式に対応するわけではありません。
プロトコル名が同じでも、クライアントごとの対応状況は異なります。同じプロトコルに対応していても、サブスクリプション形式、通信オプション、ルールの構文に違いがある場合があります。サービスの管理画面にあるmacOS向けダウンロード案内と、対応するインポート方法を優先して利用し、サブスクリプションURLを別の形式に書き換えないでください。
- 「このMacについて」を開き、チップの種類とmacOSのバージョンを確認します。AppleシリコンまたはIntelに対応したインストーラーを選び、ユニバーサル版を使う場合はリリースノートで互換性を確認してください。
- ユーザーパネルのダウンロードページを開き、ログインしてクライアントの案内とサブスクリプションを取得します。有料かどうかはサービスの機能によって異なります。クライアントのダウンロードが有料とは限りません。
- アプリの配布元が、管理画面で案内されているものと一致するか確認します。ディスクイメージからインストールする場合は、案内に従ってアプリを「アプリケーション」フォルダに移し、その場所から起動してください。
初回起動時に確認するmacOSの権限
初回起動時、アプリの配布元を確認するメッセージが表示されることがあります。システムプロキシのみを使うクライアントでは、VPN構成の追加が不要な場合もあります。仮想ネットワークインターフェースやネットワーク拡張を有効にする場合は、VPN構成の追加、補助コンポーネントのインストール、システム設定での拡張機能の承認を求められることがあります。表示される内容はクライアントの仕様によって異なります。
「開発元を検証できません」などのメッセージが表示されたら、まずダウンロード元と開発元の案内を確認し、「システム設定」の「プライバシーとセキュリティ」を開きます。そのアプリを開くための選択肢が表示されている場合は、配布元を確認してから操作してください。アプリが破損している、または悪意のあるコンテンツを含むという警告が出た場合、制限を解除するターミナルコマンドを安易に実行せず、インストーラーを再取得して配布元に確認しましょう。
管理者の許可を求められたら、起動したばかりのアプリからの要求か確認し、目的を読んでください。ネットワーク経路用の補助コンポーネントと「フルディスクアクセス」は別のものです。接続のためという理由だけで、すべての権限を許可しないでください。macOSのバージョンによってメニューの場所が異なる場合は、システム設定で「VPN」「機能拡張」「ネットワークフィルタ」を検索できます。
- ✅ アプリを「アプリケーション」フォルダに移し、ダウンロード元とリリース情報が一致している。
- ✅ 必要なネットワーク権限を許可し、クライアントに承認待ちの表示が残っていない。
- ✅ 複数のアプリがシステムプロキシを書き換えないよう、ほかのプロキシクライアントを一時的に停止している。
- ❌ 手順の指示だけを理由にシステム整合性保護を無効にしたり、関係のない権限をまとめて許可したりしない。
サブスクリプションを追加して更新し、回線を選ぶ
サービスの管理画面にログインし、サブスクリプションの項目を開きます。専用クライアントへのインポートボタンがある場合は、表示されているアプリがインストール済みのクライアントと一致するか確認してください。URLをコピーして追加する場合は、クライアントの「サブスクリプション」「設定」などの画面でリモート設定を新規作成し、URL全体を貼り付けます。ボタン名はクライアントの案内に従ってください。
URLを保存して更新し、設定が選択されていること、回線一覧が表示されること、解析エラーが報告されていないことを確認します。インポートに成功したのは、クライアントが設定を取得できたという意味であり、回線への接続を保証するものではありません。回線またはポリシーグループを選択してプロキシを有効にし、実際に使うWebサイトにアクセスしてください。
サブスクリプションが無効と表示された場合は、貼り付け時に空白や改行が混入していないか、URLの末尾が欠けていないかを確認します。未対応の項目が表示されたときは、設定をむやみに削除せず、クライアントのバージョンとサブスクリプション形式を確認してください。更新時のネットワークエラーでは、サブスクリプションURLにアクセスできないのか、回線が使えないのかを切り分けます。設定を取得する通信自体が、まだプロキシを経由していない場合もあります。
サブスクリプションは、サービスの管理画面とクライアントの案内に従って更新してください。回線の変更後は手動で更新できます。「オンライン状態を保つ」ために何度もインポートする必要はありません。URLを公開してしまった場合は、まず管理画面でサブスクリプションの認証情報をリセットし、自分のデバイスに再度インポートします。古いURLが無効になったかどうかは、管理画面の表示で確認してください。
システムプロキシと仮想ネットワークインターフェース、どちらを選ぶ?
ブラウザーで海外のWebサイトを利用したい場合は、まずクライアントの推奨設定に従い、システムプロキシとルールモードを使う方法があります。開発ツールやターミナル、一部のアプリはシステムプロキシ設定を参照しないことがあります。その場合、ブラウザーでは使えてもほかのソフトで接続できないからといって、回線の故障とは限りません。
| 方式 | 主な役割 | 注意点 |
|---|---|---|
| システムプロキシ | システムプロキシ設定に従うアプリに、プロキシの接続先を提供する | すべてのプロセスがプロキシを経由するわけではありません。異常終了時に設定が残ることがあります |
| アプリごとのプロキシ設定 | 対応アプリ内でクライアントのローカルプロキシ接続先を指定する | アドレス、ポート、プロキシの種類をクライアントの現在の設定に合わせる必要があります |
| 仮想ネットワークインターフェースモード | 仮想ネットワークインターフェースとルーティングを使い、より多くのアプリの通信を制御する | 通常は追加の権限が必要です。ルーティング、除外設定、振り分けルールの影響も受けます |
仮想ネットワークインターフェースモードはTUNモードとも呼ばれますが、実装はクライアントによって異なります。すべての通信が自動的にリモート経由になるわけではなく、DNS設定の確認も必要です。会社のVPN、ネットワークフィルター、セキュリティプロキシを使用中の場合、ルーティングや名前解決が競合することがあります。組織のネットワークポリシーに従ってください。
ルールモードでは、どの宛先に直接接続し、どの通信をプロキシに渡すかを指定します。グローバルモードでは、通常、制御対象となる通信の多くがプロキシに送られますが、システム全体の通信をすべて制御するとは限りません。初期設定時にDNSの変更、グローバルモードの有効化、ルールの置き換えを同時に行うのは避けましょう。まず推奨設定のまま基本接続を確認し、その後ひとつずつ変更すると、原因を特定しやすくなります。
出口アドレス、DNS、実際のアプリで接続を確認
クライアントに「接続済み」と表示されても、それだけでは確認完了ではありません。まずプロキシをオフにしてローカルネットワークが正常か確認し、次にプロキシを有効にして実際に利用するWebサイトにアクセスします。その後、クライアントの接続ログを確認し、対象ドメインに想定したルールが適用され、選択した回線が使われているか確認してください。メニューバーのアイコンやノードのテスト結果だけで判断しないようにしましょう。
出口アドレスの確認は、現在のブラウザー通信がどこから出ているかを調べる手掛かりになりますが、確認できるのはそのリクエストだけです。Webサイトの位置情報は通常、IPアドレスのデータベースに基づいているため、表示位置が正確でなくても接続異常とは限りません。ルールによって確認サイトが直接接続されている場合、出口アドレスが変わらないのも想定どおりの可能性があります。
DNSが想定どおりに処理されているか確認する
DNSテストでわかるのは、テスト用ドメインの名前解決先に関する手掛かりであり、プライバシーを包括的に監査するものではありません。ブラウザーのセキュアDNS、システムのリゾルバー、クライアントによるDNS制御、振り分けルールが同時に動作していることがあります。クライアントのログ、テスト結果、設定の説明を照らし合わせ、プロキシ経由で名前解決すべき宛先がローカルネットワークのリゾルバーに送られていないか確認してください。
結果が想定と異なる場合は、クライアントのDNSモード、仮想ネットワークインターフェースが有効かどうか、ブラウザーで暗号化DNSが個別に有効になっているかを確認します。暗号化DNSだからといって、リクエストが必ずプロキシを経由するわけではありません。また、リゾルバーの名前だけを見てDNS漏えいと判断することもできません。設定を変更したら同じアプリで再テストし、異なるアプリの挙動を混同しないようにしてください。
ブラウザーは使えるのにターミナルで接続できない理由
ターミナルのツールは、独自の設定やプロキシ環境変数を使うことがあります。まずツールのプロキシ対応方法を確認し、クライアントに表示されたローカルアドレス、ポート、プロキシの種類を設定してください。他の人の手順にあるポートをそのまま使わないでください。仮想ネットワークインターフェースモードを使う方法もありますが、対象のプロセスがクライアントの接続ログに記録されるか確認が必要です。
scutil --proxy
scutil --dns
以下のmacOSコマンドでは、現在のシステムプロキシとDNS設定を確認できます。接続を確立するものではありません。出力には内部ドメイン名やネットワークアドレスが含まれる場合があるため、共有前に情報を伏せてください。システムプロキシが有効と表示されても、すべてのアプリが利用しているとは限りません。
よくあるトラブル:症状から原因を絞り込む
接続後、どのWebページも開けない
まずクライアントを停止し、通常のネットワークでアクセスできるか確認します。ローカルネットワークでも接続できない場合は、ネットワークへのログインや接続の問題を先に解決してください。停止後に正常になる場合は、設定が更新されているか、ポリシーグループで有効な回線が選ばれているかを確認し、接続ログを調べます。別のクライアントを同時に起動して「重ねて直す」のは避けてください。プロキシのループが発生することがあります。
一部のWebサイトは使えるが、目的のサービスでエラーが出る
対象ドメインに適用されているルール、サービスアカウントの状態、接続先プラットフォームのアクセス制限を確認します。回線に接続できることと、プラットフォームがアクセスを許可することは別の問題です。ノードに接続できても、すべてのサービスが使えるとは限りません。回線を切り替える場合はほかの設定を変えずに、実際のアプリでの動作を比較してください。頻繁に設定を変えると、問題を再現できなくなることがあります。
クライアントを終了してもMacがインターネットに接続できない
異常終了によってシステムプロキシの設定が残ることがあります。まずクライアントを再度開き、システムプロキシをオフにしてから正常に終了してください。それでも解決しない場合は、現在のネットワーク接続の詳細設定でプロキシ項目を確認します。そのクライアントが追加したと確認できる項目だけを削除してください。管理対象デバイスの組織設定は、自分で削除しないでください。
スリープから復帰した後やネットワーク切り替え後に切断される
ネットワークを切り替えると、既存の接続が無効になることがあります。まず新しいネットワーク自体が使えることを確認し、クライアントに再接続してください。仮想ネットワークインターフェースや拡張機能の状態に問題がある場合は、クライアントの案内に従って無効にしてから再度有効にします。問い合わせ時には、OSのバージョン、クライアントのバージョン、接続モード、個人情報を伏せたエラーメッセージを記録しておくと、何度も再インストールするより原因を特定しやすくなります。続けて確認する場合は使い方ガイドもご覧ください。
対応クライアントをインストールし、必要な権限を許可して、正しいサブスクリプションを追加します。実際のアプリでルールとDNSの動作を確認してください。ブラウザーで使う場合は、まずシステムプロキシから始めましょう。ほかのアプリが制御されない場合に、アプリごとのプロキシ設定や仮想ネットワークインターフェースモードを検討します。設定は一度にひとつずつ変更し、元に戻せる状態を保ってください。