macOS で VPN を使いこなすうえで難しいのは「接続」を押すことではなく、次の 3 点です。システム拡張が承認されているか、サブスクリプションが本当に読み込まれているか、通信が本当にその回線を通っているか。このガイドはインストールの順番に沿って進み、各手順に自分で再現できる確認方法を添えます。感覚に頼らず判断できるようにします。
以下の数値は本記事が参照する事実の基準です。以降に登場する容量・料金・返金期間はすべてこれに準拠します。
システム VPN とクライアント:まず接続方式を見分ける
macOS にはまったく異なる 2 つの接続経路があります。まず自分がどちらを使うのかを把握しておかないと、以降の手順が噛み合いません。
1 つ目は macOS 標準の VPN 構成で、「システム設定 → ネットワーク → VPN」から追加します。IKEv2 や L2TP over IPSec といった標準プロトコルに対応します。構成が完了するとシステムが utun インターフェースを作成し、通信をすべて引き受けます。追加のクライアントは不要ですが、分割はできず、接続後はすべての通信が同じトンネルを通ります。
2 つ目はサブスクリプションサービス付属のクライアントです。Network Extension でトンネルを確立し、ローカルにプロキシポートを開いて、ドメインや地域ごとにどちらを通すかを決めます。海外アクセスが必要な場面では、ほとんどの人がこちらを使っています。
| 接続方式 | 通信の対象範囲 | 必要な許可 | 向いている用途 |
|---|---|---|---|
| macOS 標準の VPN 構成 | 全体、すべてのアプリ | 構成の追加時に 1 回確認 | 固定の 1 回線で、分割が不要 |
| クライアントの TUN モード | 全体、ルールによる分割が可能 | ネットワーク拡張 + システム拡張 | ブラウザ・ターミナル・デスクトップアプリをまとめて回線経由に |
| クライアントのシステムプロキシモード | システムプロキシ設定を読むアプリのみ | 通常はキーチェーンの承認のみ | 一時利用で、ブラウザだけ回線経由にしたい |
3 つの方式に優劣はなく、用途に合うかどうかだけです。固定の 1 回線で分割が不要なら標準構成で十分、ブラウザ・ターミナル・デスクトップアプリをまとめて回線経由にするなら TUN モード、一時的に使うだけならシステムプロキシモードが最も軽量です。
ダウンロードとインストール:まず署名と公証を通す
インストーラはサービス提供元の公式サイトからのみ入手してください。macOS はアプリを開くときに開発者の署名と Apple の公証という 2 点を検証します。署名が一致しない、あるいは公証がないインストーラはブロックされ、「Apple がマルウェアを含んでいないことを確認できないため開けません」と表示されます。
正しい順序は次のとおりです。
- ディスクイメージまたはインストーラをダウンロードし、ダブルクリックでマウントする。
- アプリを「アプリケーション」フォルダにドラッグする。マウントしたイメージの中から直接起動しない。
- 初回起動がブロックされたら「システム設定 → プライバシーとセキュリティ」を開き、ページ下部の「このまま開く」をクリックして、もう一度確認する。
- Gatekeeper を無効にして警告を回避するのはやめてください。それは署名のないすべてのプログラムを素通しさせるのと同じです。
Apple Silicon 搭載機では、ネイティブのクライアントはユニバーサルバイナリです。インストーラが Intel 版しかない場合は Rosetta による変換で動作します。使えますが余分な負荷がかかるため、長く使うならネイティブ版に切り替えることをおすすめします。
許可:3 か所のダイアログと 1 つのスイッチ
ネットワーク系のアプリは権限がなければ動作しません。しかも権限の確認は一度しか表示されず、閉じてしまうと戻ってきません。インストール後に次の 3 か所を確認してください。
ネットワーク拡張
初めて「接続」を押すと、あるアプリが VPN 構成を追加しようとしているというダイアログが出て、Touch ID かログインパスワードでの確認を求められます。ここで許可するのは「トンネルの確立を認める」ことです。
システム拡張
macOS 11 以降、クライアントは従来のカーネル拡張に代えて System Extension を使うのが一般的になりました。インストール後にシステム設定へ「読み込みをブロックしました」と表示されるので、手動で「許可」をクリックします。バージョンによっては再起動しないと反映されません。
ログイン項目と拡張
macOS 13 以降では「システム設定 → 一般 → ログイン項目と拡張機能」でネットワーク拡張のスイッチを確認できます。オンになっていることを確かめてください。
権限が足りないときの典型的な症状は 3 つです。接続ボタンが回り続ける。接続済みと表示されるのに出口 IP が変わらない。クライアントのログに provider の起動失敗らしき文言が出る。こうなったら再インストールを繰り返す前に、まず上記 3 か所を見直してください。
ネットワーク拡張の権限は、マシン全体の通信をそのプログラムに任せるということです。許可する前に、インストーラが公式チャネル由来かを確認し、出どころの分からないクライアントでは「許可」を押さないでください。
サブスクリプションの読み込み:リンクから回線一覧へ
サブスクリプションのリンクは通常 https アドレスで、後ろに長いトークンが付きます。これは設定であると同時に認証情報でもあります。
- サービス提供元の管理画面でサブスクリプションのリンクをコピーします。余計な空白や改行が入らないよう注意してください。
- クライアントの「サブスクリプション」または「構成」の項目を開き、URL からの読み込みを選びます。
- リンクを貼り付け、この構成だと分かる名前を付けて保存します。
- 手動で 1 回更新し、回線一覧が表示されるまで待ちます。
- 自動更新をオンにし、間隔を 24 時間に設定します。
読み込みに成功したという表示が出るのに一覧が空の場合は、多くは形式の不一致です。サブスクリプションが返すのは base64 でエンコードされたノード一覧、Clash の YAML、sing-box の JSON などさまざまで、クライアント側で種類を正しく選ばないと解析できません。もう 1 つのよくある原因は、リンクがチャットアプリで途中から切れていることです。コピーし直せば解決します。
サブスクリプションのリンクが漏れると、アカウントを他人に使われるのと同じです。リンクのスクリーンショットをグループに送ったり、オンラインの変換ツールに通したりしないでください。漏えいが疑われるときは管理画面でサブスクリプションのアドレスを再発行すれば、古いリンクは即座に無効になります。
確認:4 つのコマンドで回線稼働を確かめる
クライアント画面の「接続済み」はトンネルが確立したことしか示しておらず、通信が本当にその回線を通っているかは分かりません。「ターミナル」を開き、次の 4 行を順に貼り付けてください。
curl -s https://ipinfo.io/ip
route -n get default
scutil --dns | grep nameserver
scutil --proxy
| 確認項目 | コマンド | 正常な結果 |
|---|---|---|
| 出口 IP | curl -s https://ipinfo.io/ip |
返ってくるアドレスが自宅回線と異なり、所在地が選択した回線と一致する |
| デフォルトルート | route -n get default |
TUN モードでは interface の行が utun で始まるインターフェースを指す |
| DNS リゾルバ | scutil --dns | grep nameserver |
最優先のサーバーがルーターやプロバイダのアドレスではない |
| システムプロキシ | scutil --proxy |
システムプロキシモードでは HTTPSProxy が 127.0.0.1 とローカルポートを指す |
DNS が漏れていないかさらに確かめたいときは dig +short whoami.akamai.net を実行してください。実際に名前解決を行ったサーバーのアドレスが返ります。そのアドレスが契約中のプロバイダのものであれば、DNS 要求が回線を通っていないということなので、クライアントに戻って DNS をトンネル側で処理するよう設定してください。
確認する指標は 1 つだけ、出口 IP です。IP の所在地が合っていれば、次に DNS を見ます。両方合っていて初めて、その回線が本当に機能していると言えます。
つながらないとき:順番に切り分ける
接続の失敗は大きく 3 種類に分かれます。再インストールを繰り返すより、順に切り分けたほうが速く解決します。
「接続中」のまま止まる
まず権限の 3 か所を見直します。問題なければプロトコルを確認してください。QUIC を使う Hysteria2 と TUIC は UDP に依存するため、ホテルや社内ネットワーク、一部の公共 Wi-Fi では UDP 443 がそのまま破棄され、いつまでもつながらないという症状になります。TCP ベースの VLESS、Trojan、VMess、Shadowsocks に切り替えれば、多くの場合つながります。
つながるのにページが開かない
よくある原因は 3 つです。1 つ目は DNS を引き受けていないケースで、ドメインが依然としてローカルで解決され、解決に失敗するか、現在の回線に適さないアドレスが返ります。2 つ目はシステム時刻のずれが大きく TLS ハンドシェイクが失敗するケースで、「システム設定 → 一般 → 日付と時刻」で自動設定をオンにしてください。3 つ目は分割ルールが対象ドメインを直接接続と判定しているケースで、そのドメインを一時的に回線経由に変えて試してください。
一部のアプリだけつながらない
システムプロキシモードは、システムプロキシ設定を読むアプリにしか効きません。ターミナルの curl、多くの開発ツール、ゲームクライアントはこの設定を読みません。全体をカバーしたいときは TUN モードに切り替えるか、ターミナルにだけプロキシの環境変数を設定してください。これは方式の違いであって、回線の故障ではありません。
- ✅ 出口 IP が選択した回線の所在地と一致している
- ✅
scutil --dnsの最優先リゾルバが契約プロバイダのものではない - ✅ 切断するとすぐに直接接続へ戻り、ルートが残らない
- ✅ サブスクリプションの自動更新がオンで、間隔が 24 時間
- ❌ 「開けません」を Gatekeeper の無効化で解決しない
- ❌ サブスクリプションのリンクを公開チャットやサポートのスクリーンショットに載せない
長く使うために:プロトコルの選択と分割ルール
日常使いで一度設定しておく価値があるのは 3 つです。
オンデマンド接続
ノート PC のふたを閉じて開き直したり、Wi-Fi を切り替えたりすると、クライアントはトンネルを張り直す必要があります。オンデマンド接続を有効にすると、ネットワークの変化に応じて自動で再接続されるので、手動で押す手間が省けます。
プロトコルの選択
TCP 系(VLESS、Trojan、VMess、Shadowsocks)はパケットロスが激しいネットワークで安定します。QUIC 系の Hysteria2、TUIC は遅延の大きい回線でスループットが伸びますが、UDP がブロックされていないことが前提です。同じサブスクリプションに両方が入っていることが多いので、そのときのネットワークに合わせて試すほうが、1 つに固執するより現実的です。
分割と DNS
分割ルールは「ドメイン優先、地域で補完」の順に書きます。よく使うサイトは直接接続にして回り道を減らします。DNS はクライアント側で処理し、システムのリゾルバとクライアントで別々の経路を通らないようにします。
回線種別の見方
IEPL 専用線はポイントツーポイントの専用線で、公共インターネットの混雑したノードを通りません。中継は入口ノードから出口へ転送する方式、直接接続はクライアントが出口サーバーにそのままつなぐ方式です。3 つの違いは安定性と回り道の程度にあり、どれが速いかは自分がよく使うネットワークで試すしかありません。他人の速度測定の数字は参考程度にしかなりません。
VPNVL はこれらの設定に追加の構成が要りません。120+ の国と地域、180+ の回線、台数無制限で複数端末を同時にオンラインにできます。登録はユーザー名とパスワードだけで、メールアドレスは不要です。月額サブスクリプションは ¥9.9 からで 60GB、¥18 で 250GB、¥28 で 500GB、通信量は開通日ごとに毎月リセットされます。トラフィックパックは使い切るまで有効で、期限はありません。初回のお支払いから 60 日以内なら理由を問わず返金を申請できます。支払いは Alipay、WeChat、USDT に対応しています。サービス側のプライバシーポリシーはログを記録しない方針です。
macOS ユーザーの多くは、クライアントの TUN モード、サブスクリプションの自動更新、出口 IP の自己確認。この 3 つを押さえておけば、日常の海外アクセスには十分です。