Macに、削除を拒否するVPNプロファイルが残っている。あるいは削除しても再起動後に戻ってくる。これは通常、クライアントの破損ではなく管理の話だ。以下の確認は所有者からペイロード、再接続ルールへと進み、どれも間違った画面で半日を過ごす前にあなたを止めてくれる。順番どおりに進めてほしい。答えが変わる手順こそ、あなたの担当が終わる場所だ。

プロファイルが管理対象であり、単に保存されただけではないことを確認する

システム設定を開き、プロファイルまたはデバイス管理を検索する。macOSのバージョンによって、一覧はプライバシーとセキュリティ(プロファイル)または一般(デバイス管理)の下にある。組織名と短い説明が表示され、マイナスのボタンがないプロファイルは、あなたが追加したのではなく組織がインストールしたものだ。

ターミナルでの二つの確認で所有者はすぐに決まる。一つ目は登録状況を報告し、二つ目はデバイスのプロファイルを一覧する。

sudo profiles status -type enrollment
sudo profiles -P

登録が「はい」でプロファイル一覧が空でも、何もインストールされていないと結論づけてはいけない。管理対象のMacでは、MDMが配信した一部のペイロードがprofilesツールから隠れたまま有効に動いている。デバイス管理の画面こそ組織が配信した内容の正統な表示であり、登録済みのMacでコマンドラインの一覧が空というのは、推測で片づけるべき矛盾ではない。

表示名ではなくペイロードを読む

VPNプロファイルは入れ物であり、見える名前は中身についてほとんど語らない。一つのペイロードがIKEv2サーバのアドレス、リモート識別子、認証方式、そして独自のUUIDを持つ証明書を運ぶことがある。同じプロファイルの二つ目のペイロードが、トンネルに必要なID証明書を供給することもあり、Keychainで見当たらない証明書が同じプロファイル経由で届くのはそのためだ。

ペイロードを書き出し、重要なキーを読む。

sudo profiles show -type configuration | grep -A3 -E "VPNType|ServerAddress|RemoteAddress|AuthenticationMethod|PayloadUUID"

何かを変える前にペイロードのUUIDを記録する。管理者が正確なオブジェクトを特定するのに必要な識別子であり、トンネルと証明書が同じ配布元から来ているのか、二つの異なる配備から来ているのかも分かる。

何がトンネルを呼び戻すのかを見る

トンネルがひとりでに再起動するなら、プロファイルにはほぼ確実にオンデマンドのルールが含まれている。任意のインターフェースとConnectアクションに一致するルールは、Wi-Fi接続時、Macがスリープから復帰したとき、DNSプローブが失敗したときにトンネルを起動する。クライアントにはペイロードを上書きするスイッチはない。

サービス一覧とサービスごとの構成はscutilから得られる。

scutil --nc list
scutil --nc show "Corporate VPN"

showの出力でOnDemandRulesを探し、各エントリのAction値を読む。Connectはトンネルを立ち上げ、Disconnectは切り、Ignoreは現在の状態をそのままにする。すべてに一致するConnectの最初のルールが、切断後もトンネルが落ちないままになる通常の原因だ。

接続がscutil --nc listにないなら、システムVPNサービスとしてはインストールされていない。これはクライアントアプリが所有するネットワーク拡張を指し、プロファイルはアプリの構成を渡すだけで、接続するタイミングはアプリ自身が決める。

削除が自分の担当かどうかを決める

削除を妨げる仕組みは二つある。ペイロードがPayloadRemovalDisallowedを設定すると、インターフェース上でプロファイルは取り外せなくなる。またMacが監視下にあると、管理プロファイルの削除ははっきり拒否される。どちらも不具合ではなく、話を強引に進めるために無関係な証明書や管理プロファイルを削除すれば、最初よりはるかに大きな問題を抱えることになる。

What you seeLikely ownerNext action
Profile shows an organization name and no minus buttonMDM enrollmentAsk the administrator to remove it or change its scope
Profile removable, personal IKEv2 settingsYouRemove it from VPN settings and re-add it if you still need it
Profile removed, returns after a reboot or check-inMDM re-pushRequest a scope change; deleting it again will not hold
Profile removed, tunnel still startsOn Demand rule or app login itemRemove the rule or the login item, then retry

仕事用のMacなら、管理者のサポートか退職時の手続きが正しい道だ。プロファイル識別子を持参してほしい。「VPNプロファイル」とだけ書かれたチケットでは、誰もあなたの指すオブジェクトを見つけられない。

助けを求める前に証拠を集める

五つを書き留める。プロファイル識別子、ペイロードのUUID、sw_versで得たmacOSのバージョンとビルド、VPNのサブタイプ、そしてタイムスタンプ付きの正確な失敗メッセージだ。トンネルが全経路か分割か、接続時に失敗するのか内部リソースへの最初のアクセスで失敗するのかも加える。この二つの失敗では担当が違うからだ。

ネットワーク拡張の失敗なら、狭いログ照会が一つあれば通常は足りる。

log show --last 5m --predicate 'process == "nesessionmanager"'

ウィンドウ全体ではなく試行の前後の行を取得し、結果をどこかに投稿する前にサーバ名と証明書のサブジェクトを伏せる。Appleの配備ガイドは、管理対象のVPNペイロードとオンデマンドのルールが何のためにあるのかを説明しており、スクリーンショットより良い根拠になる。VPNの概要.

五つの確認がすべて終わったとき、三つのうち正確に一つが当てはまる。プロファイルがあなたの削除するものではないか、ペイロードが設計どおりにトンネルを再接続しているか、クライアントがプロファイルの関与しなかった構成を保持しているかだ。識別子と時系列を登録の所有者に持っていってほしい。それが誰かが動けるチケットだ。もう一度削除を押すことはそうではない。

関連記事