Clash Verge:macOS でシステム拡張がブロック?プライバシーとセキュリティから TUN を許可する手順

どんなときにこの画面が出るか

Clash Verge やその派生クライアントで TUN モード仮想ネットワークに相当する機能を初めて有効にした直後、あるいはメジャーアップデートのあとに、macOS が「システム拡張がブロックされました」という通知を出すことがあります。日本語環境では文言が少し異なる場合もありますが、意味は同じで、カーネルに近いところで動くネットワーク拡張(Network Extension)やシステム拡張(System Extension)の読み込みを、Gatekeeper 側が一時的に止めている状態です。

この段階では、ブラウザ向けのシステムプロキシだけは動いていても、全アプリのトラフィックを仮想インターフェース側へ取り込む TUNが成立していないことが多く、結果として「一部のアプリだけプロキシを無視している」ように見えます。本稿では、システム設定の「プライバシーとセキュリティ」から開発者や拡張を明示的に許可し、ネットワーク拡張として本当に有効になったかを確認するまでの手順を、画面の流れに沿って整理します。TUN の一般的な仕組みは TUN モード完全ガイド、GUI まわりの全体像は Clash Verge Rev のチュートリアルと併せると理解が早くなります。

なぜ macOS はネットワーク系の拡張を止めるのか

近年の macOS は、ユーザ空間からパケットの取り込みやルーティングの書き換えに関わるコードを、従来のカーネル拡張よりもSystem Extension と Network Extension フレームワークへ寄せています。VPN 風のクライアントや広く使われているプロキシ GUI は、この枠組みの上に仮想インターフェースを載せ、TUN としてトラフィックを Clash/Mihomo コアへ流します。

その一方で、悪意のあるソフトウェアも同じ API に手を伸ばせるため、Apple は署名されたパッケージであっても、初回ロード時にユーザの明示承認を求める設計にしています。会社支給端末では MDM ポリシーがさらに厳しく、個人利用でも「通知を閉じてしまった」「再起動を先延ばしにした」だけで、許可ボタンが消えて見つけにくいというパターンが起きがちです。ここを飛ばすと、GUI 上では TUN がオンに見えても実体の仮想 NIC が立たないままになります。

ステップ 1:通知から「プライバシーとセキュリティ」を開く

最も確実なのは、ブロック通知が出たその場で対応することです。通知パネルに表示されたメッセージをクリックすると、多くの場合システム設定(システム環境設定)内の「プライバシーとセキュリティ」の該当セクションへ誘導されます。通知を閉じてしまった場合は、画面左上の Apple メニューから「システム設定」を開き、サイドバーで「プライバシーとセキュリティ」を選択してください。

OS のバージョン(Ventura、Sonoma、Sequoia など)によってレイアウトの細部は変わりますが、探すべきは次のようなブロックです。「システムソフトウェアがブロックされました」や「開発者“○○”のシステムソフトウェアの読み込みがブロックされました」といった説明の下に、「許可」や「詳細…」に相当するボタンが付いているはずです。ここで開発者名が Clash Verge の配布元やバンドル署名と一致しているかざっと確認してから許可すると安心です。

覚えておくポイント:「許可」を押したあと、macOS によっては再起動またはログアウトが必須と案内されます。再起動を省略すると、次のステップでネットワーク拡張が灰色のまま、ということがよくあります。案内に従い、一度落としてから続行してください。

ステップ 2:開発者の許可とシステム拡張の状態

「プライバシーとセキュリティ」の同じ画面付近に、開発者モードシステム拡張の管理に関する項目が表示されることがあります。Apple Silicon 搭載 Mac では、初回のみリカバリ環境からセキュリティポリシーを緩める手順が必要になるケースもありますが、一般的な個人利用では、上記の開発者単位の「許可」+再起動で済むことがほとんどです。企業管理下の端末では、IT 部門が拡張のインストール自体を禁止している可能性もあるため、その場合はポリシー変更が先になります。

再起動後は、もう一度「プライバシーとセキュリティ」を開き、ブロック警告が消えているか、許可済みの拡張として一覧に載っているかを確認します。ここでまだ黄色や赤い警告が残っている場合は、Clash Verge を一度終了し、アプリケーションを再度起動してから TUN をオンにし、同じ通知が再発するかを見てください。アップデート直後は古い拡張の残骸と新バージョンの署名が競合し、もう一度許可フローを踏ませられることがあります。

ステップ 3:ネットワーク拡張として動いているかを見る

システム拡張の許可が通ったあとも、ユーザー向けの文言としては「ネットワーク拡張」の話として設定アプリに出てくることがあります。VPN やフィルタ、プロキシ系の拡張は、「一般」→「ログイン項目と拡張機能」→「ネットワーク拡張」(OS によっては「拡張機能」配下)から、有効になっているかを確認できます。Clash Verge 側の表示名でトグルがオンになっているかを見てください。

ここがオフのままだと、コアは動いていてもトラフィックが仮想インターフェースに乗らないため、体感では「ルールは効いているはずなのに特定アプリだけ直結」のように見えます。別の VPN クライアントやセキュリティ製品が同じネットワーク拡張スロットを占有している場合もあるので、切り分けのときは一時的に競合しそうな常駐を止め、Clash Verge だけを有効にした状態で再テストすると状況がはっきりします。

ステップ 4:Clash Verge で TUN を再度有効化する

OS 側の許可が完了したら、Clash Verge の設定画面で TUN 関連のトグルを一度オフにし、再度オンにするのがおすすめです。内部ではネットワーク拡張のロード順序がリセットされ、仮想インターフェースの作成に失敗していたセッションが張り直されることがあります。併せて、Mihomo/Meta コアのログレベルを上げ、インターフェース作成や権限エラーが出ていないかを確認してください。

管理者権限やヘルパーインストールを求められた場合は、指示どおり完了させたうえで再度 TUN を試します。公式ドキュメントで推奨されているサービスモードやヘルパーの有無はビルドごとに異なるため、利用中のバージョンの README に一度立ち返るのが安全です。設定 YAML の tun セクション自体の書き方は、前述の TUN ガイド側に譲りますが、OS が拡張を拒否している間は YAML をいじっても効果が出ない点に注意してください。

ステップ 5:TUN が本当にトラフィックを取り込んでいるか検証する

許可フローを終えたかどうかは、GUI のトグルだけではなく実トラフィックで確認するのが確実です。ターミナルを開き、ifconfig やネットワークユーティリティでutun 系やクライアントが作る仮想インターフェースが現れているかを見ます。名前は環境ごとに違いますが、TUN が有効なときだけ現れるインターフェースがあるはずです。

次に、Clash のログビューアでブラウザ以外のプロセスからの接続がコアに流れ込んでいるかを確認します。例えば curl でプロキシ環境変数を付けずに外向きの URL を叩き、ログ上で期待するノード名でマッチしているかを見ます。システムプロキシのみ有効な場合と TUN 有効時では、ログに現れるフローの作りが変わるため、比較すると切り分けが容易です。DNS 周りで挙動が分かれる場合は、TUN と fake-ip の組み合わせを TUN モード完全ガイドの DNS 節と照らしてください。

切り分けのコツ:「許可したのにダメなとき」は、再起動漏れ競合 VPNの二点をまず疑うと早いです。どちらも OS のネットワークスタックに残ったルートや拡張の優先度が絡み、Clash Verge 側の表示だけでは分かりにくいです。

許可後も TUN が立たないときの追加チェック

  • SIP とセキュリティポリシー:稀に、セキュリティ研究用の設定やサードパーティのカーネルパッチと衝突します。標準構成から大きく乖離している場合は、Apple のサポート文書に沿ってポリシーを見直してください。
  • ローカルプロファイルと署名:非公式ビルドや自己署名版を使っていると、許可ボタン自体が出ないことがあります。配布元を確認し、検証済みパッケージに切り替えてください。
  • iCloud プライベートリレーや別 VPN:同時有効化でルートが意図せず迂回することがあります。最小構成で一度通すのが近道です。
  • 古いヘルパーの残留:アンインストール不完全な場合、新バージョンの拡張と衝突します。公式手順に沿ってヘルパーを削除し、再インストールしてください。

オープンソースと入手経路について

Clash Verge 系列はオープンソースとして開発が進み、Issue やリリースノートでmacOS のネットワーク拡張まわりの変更が都度共有されます。挙動の根拠を追うときはリポジトリも有用ですが、日々のインストーラ入手と更新は、説明が揃っている配布ページを使うほうが安全です。全体的な用語整理は チュートリアル・ドキュメント も参照してください。

まとめ

Clash VergeTUN モードを使う際に macOS がシステム拡張をブロックするのは、セキュリティ上の標準的な一歩です。プライバシーとセキュリティから開発者を許可し、必要なら再起動したうえで、ネットワーク拡張として有効化されているかを確認し、クライアント側で TUN を張り直す——この順序を踏めば、多くの環境で仮想 NIC が立ち上がり、システムプロキシだけでは取りこぼしていたトラフィックもルールの下に載せられるようになります。

同種の GUI のなかでも、Clash/Mihomo 系はルール表現とログの見え方が整理されており、一度 TUN が通ればその後の運用が楽になります。ビルドの揃え方や導線の比較は、ほかの選択肢よりも更新と署名の一貫性が分かりやすい公式寄りのページが向いています。ダウンロードページから入手したクライアントで本稿の順に試すと、通知の意味と設定画面の対応関係がつかみやすくなるはずです。長く使うほど、拡張まわりの一手間がそのまま接続の安定性に返ってくる点は、簡易プロキシ切替ツールとの差として体感しやすい部分です。→ Clash クライアントを無料でダウンロードし、macOS 上でも TUN を確実に使い始める