MacでVPNを使うには、まずチップの種類に合ったクライアントをインストールし、必要な権限を許可してサブスクリプションを読み込み、最後に目的のアプリの通信経路を確認します。macOSで「接続済み」と表示されても、それだけでは十分ではありません。システムプロキシ、トンネルモード、アプリごとの設定によって、実際に回線を経由する通信が異なります。
この記事では、初めて使うときの手順に沿って説明します。最初からすべてのプロトコルを理解する必要はありません。不具合が起きたら、その段階で原因を切り分けましょう。クライアント、回線、DNSを一度に変更すると、どの設定が影響したのか判断しにくくなります。
始める前に:クライアント、サブスクリプション、システム接続の違い
クライアントは設定を読み込み、接続を確立して通信を振り分けます。サブスクリプションリンクは、サービスが提供するノード設定を取得するためのもので、接続先アドレスやポート、認証情報などが含まれる場合があります。アカウントのパスワードは管理画面へのログインに使うもので、サブスクリプションリンクとは異なります。また、任意のクライアントのサーバーアドレス欄にそのまま入力できるものではありません。
macOSの「システム設定」にあるVPN設定画面は、汎用のサブスクリプション読み込み機能ではありません。システムが対応する接続方式を対象としており、すべてのプロキシサブスクリプションを直接読み込めるわけではありません。Shadowsocks、VMess、Trojan、VLESS、Hysteria2、TUICなどのプロトコルを使うには、対応するクライアントまたはコアが必要です。利用できるかどうかは、クライアントのバージョンとサービスが提供する設定形式を確認してください。アプリ名に「VPN」とあるかどうかだけでは判断できません。
VPNBoatをご利用の場合は、管理画面にログインしてクライアントとサブスクリプションを取得できます。アカウント作成にメールアドレスは不要で、ユーザー名とパスワードを使用します。始める前に使い方ガイドを確認し、現在推奨されている入手方法を確認してください。検索結果に表示された見知らぬミラーサイトからインストーラーをダウンロードしないでください。
- ✅ 「このMacについて」でチップの種類とmacOSのバージョンを確認し、ダウンロードページの対応情報に合ったインストーラーを選びます。
- ✅ 管理画面のログイン情報を用意し、サブスクリプションリンクは信頼できる場所に保管します。
- ✅ ネットワーク経路を変更するほかのクライアントはいったん停止し、元のプロキシ設定を記録しておきます。
- ❌ サブスクリプションリンク全体、接続用QRコード、設定ファイルを公開の掲示板などに投稿しないでください。
クライアントのインストール:入手元を確認してからブロックに対処
AppleシリコンとIntelプロセッサでは、必要なビルドが異なる場合があります。ダウンロードページによって、共通版を提供する場合と、個別のインストーラーを用意する場合があります。アーキテクチャが合わないと起動できなかったり、互換性維持のための変換が必要になったりすることがあります。まずはチップに合ったネイティブ版を選び、クライアントが対応するmacOSの範囲も確認してください。
- 管理画面の案内からクライアントのダウンロードページに進み、開発元、対応プラットフォーム、インストール手順を確認します。
- ディスクイメージをダウンロードした場合は、開いて案内に従い、アプリを「アプリケーション」フォルダに移動します。インストーラーの場合は、表示されるインストール内容を一つずつ確認してください。
- クライアントは「アプリケーション」フォルダから起動してください。更新や権限設定が不安定になることがあるため、ダウンロードフォルダやディスクイメージから長期間実行するのは避けましょう。
- 正常に起動できることを確認してから、サブスクリプションを読み込み、接続に必要な権限を許可します。
「開発元を確認できない」と「コンピュータに損害を与える可能性がある」は、同じ種類の警告ではありません。前者は署名、公証、入手元の信頼性に関する確認です。後者はシステムがリスクを検知した可能性があります。まずダウンロード元と開発元の案内を確認してください。入手元の信頼性を確認でき、システム上で手動承認が許可されている場合に限り、「プライバシーとセキュリティ」で開くための選択肢があるか確認します。
「アプリが破損している」と表示されても、ネット上で見つけたターミナルコマンドをそのまま実行しないでください。ファイルのダウンロード不備、署名の異常、ソフトウェアの改変などが原因の可能性があります。まず信頼できる入手元からインストーラーを再取得してください。クライアントを起動するために、システム整合性保護を無効にしたり、Gatekeeperを全面的に停止したりしないでください。
システムの権限設定:必要な機能に限って許可
ネットワークの実装方法はクライアントによって異なります。システムプロキシを使う場合、アプリからプロキシ設定の変更を求められることがあります。トンネルを有効にすると、VPN構成の追加、ネットワーク拡張機能の有効化、ネットワーク設定を管理する補助ツールのインストールを求められる場合があります。すべての確認画面が必ず表示されるわけではなく、メニューの場所もシステムのバージョンによって異なります。
| 確認画面・設定項目 | 主な用途 | 操作前の確認ポイント |
|---|---|---|
| VPN構成を追加 | クライアントがシステム管理のトンネル接続を確立する | 操作を開始したアプリが、インストールしたばかりで使用予定のクライアントか確認する |
| ネットワーク拡張機能またはコンテンツフィルタの承認 | クライアントに応じて、通信の制御、ルーティング、フィルタリングを行う | 拡張機能の開発元が、信頼できる入手元の情報と一致しているか確認する |
| 補助ツールをインストール | より高い権限が必要なネットワーク設定を実行する | 該当する機能を有効にしたときに要求されたものか確認する |
| 通知の許可 | 接続状況の変化、更新、エラーを通知する | 通常、回線の接続可否には影響しないため、必要に応じて選択する |
すべての権限要求が接続に必須とは限りません。通常のネットワーク接続に、アクセシビリティやフルディスクアクセスの権限が必要になることは一般的ではありません。クライアントがそのような権限を求めた場合は、具体的な用途を確認してください。組織で管理されているMacでは、構成プロファイルや管理ポリシーによって拡張機能のインストールが制限されることがあります。管理上の要件を独自に回避しないでください。
誤って拒否した場合は、「システム設定」で「VPN」「ネットワーク拡張機能」または該当するアプリ名を検索し、クライアントの案内に従って再度許可します。許可しても反応がない場合は、まずアプリを終了して再起動してください。システムやインストール手順で明確に求められた場合に限り、Macの再起動を検討します。
サブスクリプションの読み込み:形式と更新結果を確認
管理画面のサブスクリプションまたはクライアント設定ページを開き、現在使用しているクライアントに対応する読み込み方法を選びます。「ワンクリックで読み込み」は通常、アプリ用リンクを使ってMac上のクライアントを起動します。ブラウザに確認画面が表示されることがあります。起動するアプリを確認してください。反応がない場合は、クライアントにある「リンクから読み込む」機能を使います。
- 管理画面に表示されたサブスクリプションリンクを省略せずにコピーします。前後の説明文や空白、改行が入らないようにしてください。
- クライアントのサブスクリプション、設定、またはプロファイルの画面でリモートリンクを追加し、見分けやすいローカル名を設定します。
- 更新を実行し、「保存済み」と表示されるだけでなく、選択可能なノードやポリシーグループが表示されることを確認します。
- 回線を選び、適切なプロキシモードまたはトンネルモードを有効にしてから、接続を確認します。
読み込みエラーが出た場合は、まず「ダウンロードできない」のか「解析できない」のかを切り分けます。ダウンロードできない場合は、ローカルネットワーク、無効になったサブスクリプションURL、認証の問題などが考えられます。ダウンロードできても解析できない場合は、サブスクリプションの形式、プロトコルの対応状況、コアのバージョンが合っていない可能性があります。互換性のない設定を複数の入力欄に繰り返し貼り付けたり、見知らぬオンライン変換サイトにリンクを渡したりしないでください。
回線名とプロトコル名は別のものです。IEPL専用線は伝送経路の一種であり、ShadowsocksやTrojanなどの接続プロトコルとは異なる階層の仕組みです。中継接続は通常、入口を経由して転送します。直結接続は通常、ローカル環境からリモート側の入口に直接接続します。実際の使用感はローカルネットワーク、経路、出口環境にも左右されます。名称だけで速度やアクセス結果を判断しないでください。
モードの選び方:システムプロキシ、トンネル、通信の振り分け
システムプロキシは、macOSのプロキシ設定に従うアプリにプロキシ接続を提供しますが、すべての通信がクライアントを経由するよう強制するものではありません。一部のターミナルツール、独自のプロキシ設定を持つアプリ、バックグラウンドプロセスは、システムプロキシを使わないことがあります。そのため、ブラウザから目的のサイトにアクセスできても、ターミナルでは接続に失敗する場合があります。必ずしもノードの障害とは限りません。
トンネルモードは通常、仮想ネットワークインターフェースとルーティングによって、より広い範囲の通信を取り込みます。ただし、除外ルール、ルートの優先順位、DNS設定、クライアントの実装による制約があります。有効にすればすべてのアプリが対象になるわけではありません。会社のVPN、ほかのトンネルツール、ネットワークフィルタリングソフトを同時に使うと、互いにルートへ影響することもあります。
ルールモードでは、ドメイン名、アドレス、その他の条件に基づいて、プロキシ経由、直接接続、または接続拒否を振り分けます。グローバルモードでは通常、クライアントが取り込んだ通信を選択した出口にまとめて送ります。後者は、通信振り分けルールが原因かどうかを一時的に確認するのに役立ちます。ただし、もともとシステムプロキシを経由しないアプリまで自動的に制御できるわけではありません。
初めて使うときは、公式のデフォルトルールを維持し、まずブラウザ、次に実際に使うソフトの順で確認することをおすすめします。特定のアプリだけ失敗する場合は、アプリ独自のプロキシ設定、プロセスルール、DNSの動作を確認してください。ターミナルに個別設定が必要な場合は、クライアントが明示しているローカルアドレス、ポート、コマンド例を使用し、他の人のポート設定をそのまま流用しないでください。
選び方:ブラウザだけで使う場合は、まずシステムプロキシで確認できます。複数のアプリで回線を使いたい場合は、クライアントの案内に従ってトンネルを有効にしてください。判断基準はモード名の印象ではなく、目的のアプリの通信が実際に出口を経由しているかどうかです。
接続の確認:出口IP、DNS、アプリの動作
接続前の出口情報を記録してから目的の回線に接続し、同じブラウザと同じ確認方法で結果を比較します。信頼できる出口確認ツールを使えば十分で、確認ページにアカウント情報を入力する必要はありません。地域データベースの更新状況には差があるため、地域表示はあくまで参考とし、アプリから実際にアクセスできるかどうかも確認してください。
- ✅ クライアントで現在選択している設定、ポリシーグループ、ノードを確認し、自動選択によって別の出口に切り替わっていないか確認します。
- ✅ 接続前後のグローバルIPを比較し、IPv4とIPv6の両方が想定した経路になっているか確認します。
- ✅ 目的のアプリを個別に開き、トップページだけでなく、ログイン、ページの読み込み、実際の通信を確認します。
- ✅ DNSクエリの経路を確認し、名前解決の方法が想定どおりかクライアントのドキュメントと照らし合わせます。
- ❌ ブラウザでの確認に成功しただけで、すべてのターミナルツールやバックグラウンドサービスの通信も取り込まれていると判断しないでください。
DNSリークとは、名前解決のリクエストが想定した保護経路を通らずに送信される状態です。設定上、直接接続するドメインにはローカルのリゾルバーを使う場合、ローカルの名前解決結果が検出されても必ずしも障害とは限りません。一方、対象のクエリをトンネル経由にする設定なのに、ローカルネットワークから送信されている場合は原因を調べる必要があります。ブラウザの暗号化DNS、クライアントのリモートDNS、システムDNSはそれぞれ別に動作することがあるため、ルールと照らし合わせて確認してください。
Macの設定を確認するには、「ターミナル」で次の読み取り専用コマンドを実行できます。原因を調べる手がかりにはなりますが、設定は変更されません。また、通信がプロキシを経由していることを単独で証明するものではありません。
sw_vers
uname -m
scutil --proxy
scutil --dns
scutil --proxyではシステムプロキシの設定を、scutil --dnsではシステムのリゾルバー設定を確認できます。ブラウザ内蔵の暗号化DNSは、これらの出力にすべて反映されるとは限りません。ターミナルの通信もシステムプロキシを使わない場合があります。診断情報を共有する前に、社内ドメインやネットワーク情報が含まれていないか確認してください。
よくある問題:失敗した段階から対処
接続済みなのにWebページが開かない
まず、ほかのネットワークプロキシツールを終了し、ノードの接続テストだけでなく、現在のクライアントでシステムプロキシまたはトンネルが有効になっているか確認してください。次に、ルールによって目的のドメインが直接接続になっていないか、ローカルネットワーク自体が正常に使えるかを確認します。特定の回線だけで問題が起きる場合は、DNSや振り分け設定を同時に変更せず、別の回線に切り替えて比較してください。
ブラウザでは使えるのに、ほかのアプリで機能しない
まず、対象アプリがシステムプロキシに従うか、独自のプロキシ設定があるか、迂回ルールに該当していないか確認してください。必要であれば、クライアントの案内に従ってトンネルモードに切り替えて再確認します。管理対象デバイスや会社のネットワークポリシーによる制限がある場合は、管理者に対応を依頼してください。
スリープ復帰後やネットワーク切り替え後に切断される
ネットワークインターフェースが変わると、既存の接続が無効になる場合があります。まずローカルネットワークの復旧を待ってから、クライアントで再接続してください。問題が続く場合は、無効なシステムプロキシ設定や重複したVPN構成が残っていないか確認します。構成を削除する前に、どのアプリのものか確認し、仕事で必要な接続を誤って削除しないようにしてください。
クライアント終了後、通常のネットワークにも接続できない
まずクライアントを再度起動し、通常の切断・終了機能を使ってプロキシ設定を解除してください。アプリを起動できない場合は、システムのネットワーク設定で現在のインターフェースに設定されているプロキシ項目を確認し、事前に記録した内容に戻します。ネットワーク設定をすべて消去しないでください。問題が解決した後、クライアントの案内に従って、使わなくなった補助ツールや拡張機能をアンインストールします。
完了の目安:クライアントがサブスクリプションを読み込み、システムの権限設定と動作モードが合っており、目的のアプリが想定した出口を使っていること。再現できるこの設定を保管してから、通信振り分けを一つずつ調整してください。サポートに問い合わせる際は、システムとクライアントのバージョン、エラーの全文、試した手順を伝え、サブスクリプションの認証情報は共有しないでください。