macOS で VPN を設定していてつまずくのは、プロトコルではなくシステム権限のことがほとんどです。クライアントを入れて設定も済ませ、メニューバーのアイコンが点灯しているのに、ブラウザでは海外サイトが開かない。この macOS VPN 初心者ガイドでは、実際の操作順に沿って、システムバージョンの確認、クライアントのインストール、システムネットワーク権限の許可、サブスクリプションリンクの読み込み、出口アドレスと DNS の確認、そして繰り返し出てくるダイアログへの対処までをたどります。各手順には確認できる結果を添えてあるので、終わった時点でどこに止まっているのかが分かります。

本記事はターミナル操作の知識を前提にしていません。コマンドラインが出てくる箇所は完全なコマンドを記載しているので、コピーして実行するだけで構いません。まず本サービスの基本情報を先に挙げておきます。続きに時間をかける価値があるかどうかの判断に使ってください:

120+ 対応国・地域
180+ 選択可能な回線
7 日間 理由不要の返金
無制限 同時接続台数

準備:システムバージョンとアカウント権限

アップルメニューの「この Mac について」を開き、まずシステムバージョンを確認します。macOS 13 以降、「システム環境設定」は「システム設定」に名前が変わりました。ネット上の古い解説の多くは改名前の手順のままなので、その通りに進むと入口が見つかりません。どちらも同じ場所を指しているだけで、呼び方が違うだけです。バージョンが古いと、システム拡張の許可画面の位置も変わります。先に確認してから作業を始めてください。

VPN 構成の許可には管理者アカウントが必要です。標準アカウントでは、ダイアログでパスワードを入力しても拒否されるか、「許可」ボタン自体が表示されません。この Mac が会社から支給されたものなら、ネットワーク設定を管理する構成プロファイルがないか先に確認してください。あると以降の手順がすべて止まります。

アカウント側に余計な条件はありません。登録に必要なのはユーザー名とパスワードだけで、メールアドレスの入力も確認メールの待ち時間もありません。ここで節約できる時間は、クライアント内で試行錯誤する時間よりはるかに大きいものです。

インストールの前に、他の VPN やプロキシのクライアントを終了してください。macOS でネットワークを掌握するアプリを同時に 2 つ動かすと、ルーティングテーブルと DNS が互いに上書きし合い、「つながっているのに開けない」という症状になります。切り分けが非常に難しくなります。社内ネットワークやキャンパスネットワークではポートと UDP の制限にも注意が必要で、これは後に選べるプロトコルの種類に直結します。

インストール:配布形式と初回起動

macOS クライアントはディスクイメージ(.dmg)で配布されています。開いたらアプリのアイコンを「アプリケーション」フォルダにドラッグし、その後ディスクイメージを排出します。イメージ内から直接ダブルクリックで起動すると、終了時に設定が消えやすく、以後のアップデートでも問題が起きます。ダウンロード時は macOS 版であることを確認し、他プラットフォームのインストーラを取り違えないようにしてください。

初回起動時は Gatekeeper に止められ、「Apple は悪意のあるソフトウェアが含まれていないことを確認できません」と表示されることがよくあります。ファイルが壊れているわけではありません。「システム設定 > プライバシーとセキュリティ」を開き、ページ下部にブロックされた項目があるので「このまま開く」を押し、もう一度確認すれば起動できます。ブロックの表示すら出ない場合は、「ダウンロード」フォルダから直接実行していないか確認し、別の場所に移して再試行してください。

初回起動時に、システムから「VPN 構成を追加しますか」という要求が表示されます。これは macOS のネットワーク拡張の標準的な流れで、システム層で通信を扱うアプリは必ずこの許可を得る必要があり、クライアント側に回避する方法はありません。ダイアログが出ても拒否せずに進めてください。拒否すると自動では再表示されません。

権限許可:システムダイアログとプライバシー設定

許可の段階ではダイアログが 2〜3 個続けて出ます。順序は環境によって変わりますが、対処は同じです:

  • VPN 構成の追加:「許可」を押し、Touch ID かアカウントのパスワードで確認します。同意すると「システム設定 > ネットワーク」に該当の VPN 項目が現れます。これがトンネル本体です。
  • システム拡張がブロックされました:「システム設定 > プライバシーとセキュリティ > セキュリティ」で「許可」を押します。バージョンによっては再起動が必要で、再起動して初めて拡張が読み込まれます。再起動しないまま接続すると失敗し続けます。
  • 通知とローカルネットワーク:通知の許可は状態のお知らせにしか影響しないので拒否しても構いません。macOS 15 以降ではローカルネットワークへのアクセスを尋ねられます。拒否しても海外回線には影響しませんが、同じ LAN 内のデバイス検出や印刷には影響します。

起動時に自動接続したい場合は、「システム設定 > 一般 > ログイン項目と拡張機能」でクライアントのバックグラウンド実行が許可されているか確認してください。ここは見落とされがちで、その結果、再起動のたびに手動で接続し、クライアントが不安定だと誤解してしまいます。

「許可」ボタンがグレーのときは、まず「システム設定 > 一般 > VPN とデバイス管理」に企業の構成プロファイルがないか確認してください。構成プロファイルは個人の許可より優先されるため、管理を解除しない限りダイアログは永遠に表示されません。

サブスクリプションの読み込み:リンク・設定ファイル・手動追加

サブスクリプションリンクはノード一覧を返す URL で、クライアントが定期的に取得するため、回線が変わっても再設定は不要です。リンクの末尾には通常認証用のパラメータが付いており、リンクを入手することはアカウントの利用権を得ることと同じです。グループチャットや公開リポジトリに貼らないでください。返ってくる内容は Base64 でエンコードされたノード一覧か設定ファイルが一般的で、デコードはクライアントが行います。リンクが欠けていないことだけ確認してください。

読み込みの手順は 3 ステップだけです。リンク全体をコピーし、クライアントの「サブスクリプション」または「設定」に貼り付け、「更新」を押します。更新に成功して初めてノード一覧が表示されるので、接続前に必ず具体的な回線を選択してください。よく使われる 3 つの方法の違いは次のとおりです:

3 つの読み込み方法の比較
方法 向いている場面 更新方法 注意点
サブスクリプションリンク 日常利用。回線が調整される場合 クライアント内でワンクリック更新 リンクに認証情報が含まれる。外部に渡さない
設定ファイルの読み込み 複数ノードをまとめて読み込む ファイルの再読み込みが必要 ファイルの入手元が信頼できるか確認
手動追加 単一ノード、問題の切り分け 項目ごとにパラメータを修正 プロトコルとトランスポート層はノードと一致させる

手動追加では、パラメータが 1 つ欠けても接続できません。プロトコル(Shadowsocks、VMess、Trojan、VLESS、Hysteria2、TUIC)、サーバーアドレス、ポート、UUID またはパスワード、そしてトランスポート層(ws、grpc、tcp)と TLS、SNI、パスです。Hysteria2 と TUIC は QUIC を使うため UDP の要件があります。UDP が制限されたネットワークでは、TCP 系のプロトコルに切り替えるほうが安定します。

サブスクリプションの更新に失敗したら、まず 3 つの原因を疑ってください。チャットアプリでリンクが途中で切れ、空白や改行が混ざっている。システム時刻のずれが大きすぎて TLS ハンドシェイクに失敗する。現在のネットワークからサブスクリプションの URL に到達できない。最後の「鶏が先か卵が先か」の状況では、正常に通信できる別のネットワークで一度更新すれば解決します。更新後の一覧が空の場合は、返ってきた内容がネットワーク途中でエラーページに差し替えられていないか確認してください。

読み込み後に飛ばされがちなのが分流ルールです。グローバルモードはすべての通信をトンネルに送るため、国内サイトへのアクセスが遠回りになります。ルールモードはドメインと IP で判断し、国内は直接、海外は回線経由にするので日常の使い勝手が良くなります。macOS ではアプリ単位の分流はドメイン単位より不安定なので、そこに時間をかけすぎないほうがよいでしょう。

結論:サブスクリプションの読み込みに失敗する原因は、クライアントの不具合よりも、リンクの欠損、システム時刻のずれ、現在のネットワークから URL に到達できないことの 3 つがほとんどです。この 3 点を確認するほうが、何度もアンインストールと再インストールを繰り返すよりはるかに効果的です。

確認:出口アドレス・DNS・アプリ別のテスト

メニューバーに「接続済み」と出ていても、それはトンネルが張られたというだけで、通信が本当に回線を通っている証明にはなりません。もっとも直接的な確認は出口アドレスの比較です。接続の前後で同じコマンドを 1 回ずつ実行します。

# 接続前に 1 回実行
curl -s https://ifconfig.me

# 接続後にもう 1 回実行し、2 回の結果を比較
curl -s https://ifconfig.me

# システムが現在使っている DNS リゾルバを確認
scutil --dns | grep nameserver | head -n 5

2 回の結果が違い、新しいアドレスが選択した回線の国に属していれば、通信は確かに外に出ています。DNS の項目も同じくらい重要です。リゾルバが依然として国内プロバイダのアドレスなら、名前解決がトンネルを通っておらず、リークが起きています。症状としては一部のサイトが開かない、あるいは国内版にリダイレクトされる形で現れます。ブラウザ内蔵の暗号化 DNS はシステムのリゾルバを迂回するため、確認時は先に無効にしてください。そうしないと見える解決結果がシステムの挙動を表しません。

システムプロキシと TUN という 2 つのモードの違いも区別してください。システムプロキシはシステムのプロキシ設定を読むアプリにだけ効き、Safari や Chrome は追随しますが、ターミナルの curl、git、npm は既定では読みません。手動で環境変数を設定するか、ネットワーク層を扱う TUN(拡張)モードに切り替える必要があります。つまり「ブラウザでは開けるのにコマンドラインではだめ」というのは回線の問題ではなく、モードの選択ミスであることがほとんどです。

次のチェックリストを順に照らせば、どの段階で止まっているかはほぼ特定できます:

  • ✅ メニューバーの状態が接続済みで、回線名が手動で選んだものと一致している
  • ✅ ブラウザとターミナルで確認した出口アドレスが同じ国に属している
  • ✅ scutil --dns のリゾルバがトンネル側で、国内プロバイダではない
  • ✅ 回線を切り替えて再確認すると、出口アドレスもそれに合わせて変わる
  • ❌ 「接続済み」だけを見て有効だと判断し、出口アドレスを照合していない
  • ❌ プロキシクライアントを 2 つ同時に起動していて、どちらが効いているか分からない

「Web ページが開けるか」だけのテストでは不十分です。キャッシュ、CDN、サイトごとの地域判定が誤った結果を返すことがあります。出口アドレスと DNS の 2 項目を照合して初めて、本当に通っていると判断できます。

よくある不具合:つながるのに開けない・頻繁に切断

以下は macOS で発生頻度の高い問題で、ほぼ原因別に対処できます:

  • 時刻のずれによるハンドシェイク失敗:システム時刻が標準時刻と数分ずれていると TLS がエラーになります。sudo sntp -sS time.apple.com で時刻を合わせてから接続してください。
  • MTU が合っていない:ページは開けるのに動画がずっと読み込み中のままなら、大きなパケットが破棄されている可能性が高いです。クライアントで MTU を少し下げて試してください。
  • スリープ復帰後に戻らない:蓋を閉じて開き直すと、トンネルは残っているのに通信が通らない状態です。クライアントを終了して起動し直すか、「システム設定 > ネットワーク」で切断してから再接続してください。
  • ネットワークが UDP を制限している:Hysteria2 と TUIC は QUIC を使うため UDP の影響を受けます。そうしたネットワークでは Trojan や VLESS over TCP のほうが確実です。
  • IPv6 の抜け道:一部のネットワークは IPv6 も配布しており、トンネルが IPv4 しか扱っていないと IPv6 で直接通信してしまうことがあります。確認時は出口アドレスが IPv6 形式でないか注意してください。
  • 残留設定の競合:アンインストール後も「システム設定 > ネットワーク」に古い VPN 項目が残ることがあります。削除してから再インストールするとクリーンになります。

切り分けの順序は固定しておくのがおすすめです。まず許可が揃っているか、次に DNS が追随しているか、回線を疑うのは最後にしてください。順序を逆にすると、問題のない回線を何度も切り替えて、見当違いの方向に時間を使うことになります。

結論:起動のたびに手動で再接続が必要、DNS の調子が安定しない、といった場合、原因は回線の品質よりも権限と分流ルールにあることが多いです。許可と DNS の 2 つの節に戻って項目ごとに照合するほうが、クライアントの再インストールよりたいてい速く解決します。

設定は一度きりで、あとは運用の習慣です。クライアントは最新に保ち、サブスクリプションは定期的に更新し、ネットワークを変えたら出口アドレスを一度確認する。macOS の権限モデルは多くの人の想定より厳格です。最初に 10 分かけて許可を済ませておけば、あとで「なぜまたつながらないのか」に費やす時間を大きく減らせます。