すでにv2rayNをダウンロードしたものの、macOSのセキュリティ警告やネットワーク許可画面で止まっている方に向けた内容です。まずアプリの入手元とCPUアーキテクチャを確認し、システム設定で実行を許可します。その後、システムプロキシまたはTUNに必要な権限を与え、最後にローカルポート、接続ログ、実際のリクエストで設定を検証します。
まず、どの層でブロックされているかを確認する
「開けない」原因は一つとは限りません。macOSのGatekeeperは初回起動するアプリを確認し、システムプロキシはプロキシ設定に従うプログラムの通信をv2rayNへ転送します。TUNモードでは仮想ネットワークインターフェースの作成も必要です。3つの段階で続けて通知が表示されることがありますが、対処する場所はそれぞれ異なります。
ダブルクリック直後に「開発元を確認できません」や「身元不明の開発元からのアプリです」と表示される場合、問題はアプリの起動層にあります。この時点ではクライアントのコアはまだ動作しておらず、サブスクリプション、VMess、VLESS、ルーティングルール、DNSは関係しません。まずセキュリティ設定で実行を許可し、ノード設定を何度も変更するのは避けてください。
メイン画面は開けるのに、ノードを選択しても通信できない場合は、ステータスバー、コアログ、システムのネットワーク設定を確認します。システムプロキシはmacOSのプロキシ設定を参照するアプリだけを対象にしますが、TUNは仮想インターフェースを介してより広い範囲の通信を処理します。必要なシステム権限も両者で異なります。
システム設定から実行を許可する
おすすめGatekeeperの確認機能は維持したまま、今回ブロックされたv2rayNだけを明示的に一度許可します。
対象:初回起動時に「開発元を確認できません」と表示される場合
システムプロキシモード
HTTP、HTTPS、またはSOCKSのプロキシ設定を書き込みます。通常、仮想ネットワークインターフェースの作成は必要ありません。
対象:ブラウザーやシステムプロキシに従うデスクトップアプリ
TUNモード
仮想インターフェースを作成してより多くの通信を処理します。初回有効化時に、管理者認証やネットワーク拡張機能の許可を求められることがあります。
対象:システムプロキシ設定を参照しないアプリ
まずファイルを確認:macOSに対応したアーキテクチャ版をダウンロードしたか確認します。Appleシリコン搭載Macでは通常arm64、Intelプロセッサではx64を選択します。アーキテクチャが合わない場合は、アプリを実行できない、またはコアの起動に失敗するといった症状が起こりやすく、ネットワーク権限では解決できません。
macOSのバージョンに合わせてセキュリティ許可を設定する
まずv2rayNを「アプリケーション」フォルダに移動し、その場所から起動します。圧縮ファイルのプレビュー画面、ダウンロード用の一時フォルダ、読み取り専用のディスクイメージから直接実行すると、更新、コアの書き込み、設定の保存に失敗することがあります。移動後にもう一度起動し、システムに該当するブロック記録を作成させます。
macOS 13 Ventura、macOS 14 Sonoma、macOS 15 Sequoiaでは「システム設定」を使います。macOS 12 Montereyでは旧来の「システム環境設定」を使います。「このまま開く」または「このまま許可」の項目は、アプリを直前に開こうとした後にのみ表示されます。
-
アプリを移動する
解凍を完了し、v2rayNを「アプリケーション」フォルダへ移動します。圧縮ファイル内から直接実行しないでください。
-
ブロック記録を作成する
「Finder」→「アプリケーション」でv2rayNをダブルクリックします。「開発元を確認できません」と表示されたら、そのウィンドウを閉じます。
-
セキュリティ画面を開く
macOS 13〜15では「システム設定」→「プライバシーとセキュリティ」を開き、「セキュリティ」まで下へスクロールします。macOS 12では「システム環境設定」→「セキュリティとプライバシー」→「一般」を開きます。
-
実行を許可する
v2rayNがブロックされた旨の説明の横にある「このまま開く」をクリックし、求められたら管理者アカウント、パスワード、またはシステム認証で確認します。
-
もう一度起動する
「アプリケーション」フォルダに戻り、再度起動します。「開く」ボタンのある確認画面が表示されたら、アプリ名を確認して続行します。
別のmacOS標準の入口として、FinderでControlキーを押しながらアプリをクリックし、「開く」を選択して、確認画面でもう一度「開く」を選択できます。この操作でも、許可記録が作成されるのは対象のアプリだけです。ボタンが表示されない場合は、まず再度ダブルクリックしてブロックを発生させ、その後セキュリティ設定画面に戻って確認してください。
クライアントを起動するためだけに、アプリ全体のセキュリティチェックを無効にすることはおすすめしません。全体設定を変更すると、後からダウンロードする他のプログラムにも影響し、問題の切り分けが難しくなります。アプリ単位で許可する方が復旧や確認が容易で、システム更新後に変更された権限も特定しやすくなります。
システムプロキシ、TUN、ローカルネットワーク権限を区別する
v2rayNが正常に開いたら、まずサブスクリプションをインポートしてノードを更新します。サブスクリプションはサーバー設定の集合にすぎず、macOSが通信をどう転送するかを自動的に決めるものではありません。利用可能なノードを選択した後、システムプロキシまたはTUNを有効にする必要があります。初回の切り分けではシステムプロキシを使い、コアとノードが正常だと確認してからTUNへ切り替えるのがおすすめです。
システムプロキシモードでは通常、macOSのネットワークサービスにローカルの待受アドレスを書き込みます。一般的な例ではSOCKSが127.0.0.1:10808で待ち受け、HTTPは隣接するポートを使います。実際の値はv2rayNの現在のパラメータ画面とログを基準にしてください。設定を移行したことがある場合やポートが競合している場合、既定の例は実際の環境の値に代わるものではありません。
システムプロキシの確認項目
- 設定場所
- システムプロキシ→システムプロキシを自動設定
- 待受アドレス
- 127.0.0.1
- ポート例
- 10808
- 確認場所
- システム設定→ネットワーク→現在のネットワーク→詳細→プロキシ
まずブラウザーの通信を確認するのに適しています。無効にするときはシステムプロキシも同時に解除します。
TUN権限の確認項目
- 動作方式
- 仮想ネットワークインターフェース
- 初回操作
- 管理者認証
- 確認場所
- システム設定→ネットワーク→VPNとフィルタ
- 一般的な状態
- 接続済みまたは許可済み
より多くのアプリの通信を処理したい場合に適しています。有効にする前に、通常のノード接続が正常であることを確認してください。
TUNの有効化時に管理者認証を求められても、ノードに異常があるとは限りません。認証は、必要な補助コンポーネントのインストールや起動、ネットワークインターフェースの作成、ネットワーク設定の適用に使われます。認証後もネットワーク拡張機能の通知が表示される場合は、通知で指定されたシステム設定画面を開いて明示的に許可し、その後v2rayNを終了して再起動します。
macOS 15では、一部のネットワーク拡張機能を「システム設定」→「一般」→「ログイン項目と機能拡張」→「ネットワーク機能拡張」で確認できます。作成済みのVPNやフィルタ項目は「システム設定」→「ネットワーク」→「VPNとフィルタ」でも確認できます。表示名はv2rayNのバージョンや実装によって異なるため、ポップアップに表示されたコンポーネント名を基準にしてください。
- システムプロキシだけを使う場合は、現在のWi-Fiまたは有線ネットワークサービスのHTTP、HTTPS、SOCKSプロキシが本機のアドレスを指しているか確認します。
- TUNを使う場合は、無効な手動プロキシ設定を別に残さないでください。アプリが誰も待ち受けていないポートへ先に接続してしまう可能性があります。
- 「ローカルネットワーク」の権限が表示された場合、それが直接関係するのは、LAN内のリソース、LAN内DNS、またはローカルのサブスクリプションサービスへアクセスする必要がある場合だけです。
- 会社所有のデバイスで管理ポリシーによりネットワーク拡張機能が制御されている場合、通常の管理者アカウントでも許可できないことがあります。デバイス管理者にポリシーの変更を依頼してください。
設定のヒント:コアの切り替え項目は通常、v2rayNの「設定」→「パラメータ設定」→「Coreタイプ」にあります。プロトコルは選択したコアが対応している必要があります。Coreタイプを変更したらコアを再起動してログを確認し、旧プロセスが動作したままの状態で結果を判断しないでください。
ポート、ログ、実際のリクエストで検証する
権限画面が消えたからといって、プロキシが有効になったとは限りません。完全な検証では少なくとも3層を確認します。v2rayN本体が安定して起動すること、コアがローカルポートで待ち受けること、対象リクエストが想定したアウトバウンドに到達することです。メニューバーのアイコンやノード遅延だけでは、この3項目の代わりになりません。
まずメイン画面でノードを選択し、遅延テストを1回実行します。遅延結果が出ても、テスト方法で応答を取得できたことを示すだけで、すべてのウェブサイトやアプリがプロキシを経由したとは限りません。続いてコアログを開き、「address already in use」のようなポート競合、設定の解析失敗、証明書名の不一致、サブスクリプション項目の不足がないか確認します。
システムプロキシモードでは、「システム設定」→「ネットワーク」→現在使用中のネットワークサービス→「詳細」→「プロキシ」を開き、有効な項目のサーバーが127.0.0.1になっているか、ポートがv2rayNのパラメータと一致しているか確認します。システム側が10808で、コアログの実際の待受が10809なら、リクエストは直ちに失敗します。
TUNモードでは、まずシステムプロキシを無効にしてもう一度テストし、通信がどの入口から来たのか分からなくなるのを避けます。30秒間コアのアクセスログを観察します。新しいドメインを開くと対応する接続記録が現れ、ルーティング結果はプロキシ、直接接続、ブロックのいずれかのアウトバウンドになります。新しい記録がまったくない場合、問題は通常まだ通信の取り込み層にあります。
- v2rayNで現在のノードが選択されていること、サブスクリプションの更新時刻とノード一覧が想定どおりであることを確認します。
- 「設定」→「パラメータ設定」を開き、ローカルSOCKSおよびHTTPの待受ポートを記録します。既定値だけを覚えておかないでください。
- 通信を取り込む方式は1つだけ有効にします。まずシステムプロキシをテストし、成功してからTUNを個別にテストします。
- これまでアクセスしていないドメインを開き、コアログに新しい接続が記録されるか同時に確認します。
- ルーティングモードを1回切り替え、再接続後に対象ドメインが最終的に使用したアウトバウンドのタグを確認します。
VMessノードは起動できるのにリクエストがタイムアウトする場合、サーバーアドレス、ポート、ユーザー識別子、トランスポート方式、TLS設定を引き続き確認します。VLESSノードではFlow、Reality公開鍵、短い識別子、サーバー名も確認してください。Gatekeeperはアプリの起動だけを担当し、プロトコルパラメータを修正することはありません。同様に、ネットワーク許可が成功しても、誤ったサブスクリプション設定が自動的に使えるようになるわけではありません。
よくある権限問題と復旧の順序
許可を何度クリックしても改善しない場合、アプリの削除、ネットワークのリセット、コアの切り替え、サブスクリプションの変更を同時に行わないでください。変数を一度に1つだけ変更すると、ログからどの層で修復されたか判断できます。推奨する順序は、クライアントを終了し、無効なシステムプロキシを解除し、クライアントを再起動してノードに接続し、最後に必要な通信取り込み方式を有効にすることです。
「このまま開く」ボタンが見つからない場合は?
まず「Finder」→「アプリケーション」でv2rayNを再度ダブルクリックし、ブロック画面を閉じた直後に「システム設定」→「プライバシーとセキュリティ」を開きます。この項目は、最近のブロック記録がある場合にのみ表示されます。
許可した後も起動のたびに管理者パスワードを求められる場合は?
まずTUNを無効にし、システムプロキシだけを有効にしてテストします。通常の起動で再び尋ねられなくなった場合、ネットワークインターフェースまたは補助コンポーネントの操作が原因です。ネットワーク拡張機能が許可されているか確認し、アプリが「アプリケーション」フォルダにあることも確認してください。
クライアントを終了すると、すべてのウェブページが開けなくなる場合は?
システムにローカルポートを指すプロキシ設定が残っている可能性があります。v2rayNを再起動し、「システムプロキシ」→「システムプロキシを解除」を選択します。または、現在のネットワークサービスの「詳細」→「プロキシ」で該当項目を無効にします。
TUNは接続済みなのに、LAN内のデバイスへアクセスできない場合は?
ルーティングルールがプライベートアドレス帯をプロキシへ送っていないか確認します。一般的なLANの範囲には192.168.0.0/16、10.0.0.0/8、172.16.0.0/12があり、通常は実際の要件に応じて直接接続に設定します。
サブスクリプションの更新時に接続がタイムアウトする場合は?
まずサブスクリプションURLが完全か確認し、既知の利用可能なノードへ接続してプロキシ経由で更新を試します。ログにリクエストがまったくない場合はローカルの待受ポートを確認します。リクエストはあるのにリモート側でタイムアウトする場合は、ネットワークとサブスクリプションサービスの状態を確認します。
ポート競合が発生した場合は、「設定」→「パラメータ設定」でローカルポートを変更し、保存後にコアを再起動します。新しいポートはシステムプロキシ設定にも反映する必要があります。クライアントの待受値だけを変更してシステムプロキシを更新しないと、システムは古いポートへリクエストを送り続けます。
v2rayNのバージョン変更後に以前の権限記録が正常に機能しない場合は、まず関連するすべてのプロセスを終了し、新しいバージョンを同じ「アプリケーション」フォルダに置いて再起動します。システムが異なる署名、異なるパス、異なる補助コンポーネントを新しい許可対象として扱うことがあるため、更新後に確認画面が一度表示されても、ノード設定が失われたことを意味するわけではありません。
切り分けが終わったら、動作モードを1つに整理して運用します。普段ブラウザーやシステム設定に従うアプリだけを使うなら、システムプロキシの方が状態を確認しやすくなります。より多くのアプリの通信を処理する必要がある場合はTUNを使います。サブスクリプションはノードを提供し、コアはVMessやVLESSなどのプロトコルを実行し、ルーティング分岐はアウトバウンドを決定し、macOSの権限はプログラムの起動と通信の取り込みを許可します。この4層を分けて確認すると、問題の場所がはるかに明確になります。