VPN事業者が指定するクライアントを設定し、そのうえで本当に必要な非公開リソースでトンネルを証明します。Macはシステム設定にネイティブのVPN構成を保持できますが、OpenVPNやWireGuardのファイルにはその形式を理解するソフトウェアが必要で、これらは別の設定経路です。資格情報の種類がサインインの失敗の仕方を決めるので、何かを入力する前に読んでください。結果はメニューバーのアイコンではなく、非公開リソースが返す内容で判断します。

渡されたプロファイルにクライアントを合わせる

事業者から届いたファイルか手順から始め、ダウンロードサイトのプロトコル一覧から始めないでください。システム設定のネイティブVPNフォームは特定の種類を扱いますが、OpenVPNプロファイルやWireGuard構成にはそれを解析するアプリが必要です。管理対象のMacはデバイス管理から接続を受け取っている場合があり、その上に二つ目のプロファイルを足すと設定ではなく競合が生じます。何かをインストールする前に、すでに何があるかを確認してください。

サインイン方式はプロファイルから決まり、ふつうは三つのうちの一つで、アカウントのパスワード、クライアント証明書、秘密鍵を解錠するパスフレーズがあります。誤ったパスワードと拒否された証明書はどちらも接続を止めますが、読み方は同じではなく、アカウントのパスワードを再設定して直るのは片方だけです。何かを変える前に拒否の内容を読んでください。期限切れや信頼されていない証明書はパスワード再設定後も失敗し、誤ったパスワードは最初の試行で即座に失敗します。

非公開の素材を共有ログに残さないでください。鍵のパスフレーズ、クライアント証明書とその鍵は同僚とのチャットに置くものではなく、プロファイルエディタのスクリーンショットは送信者が思うより多くをさらします。事業者がインポート可能なファイルを用意しているなら、値を手で打ち直さずにそれをインポートしてください。

アイコンではなくリソースで動作を証明する

仕事用プロファイルは社内の宛先だけを経路に入れることが多く、ブラウザで見える公開アドレスは非公開アプリが動いていても変わらない場合があります。個人の出口プロファイルでは外から見えるアドレスが変わる必要があり、仕事用ではふつう変わりません。トンネルが壊れていると結論する前に、その違いを測ってください。

次に、本当に必要なリソースを開きます。ファイル共有、管理画面、データベースのホストです。トンネル経由でホームページが読み込めることは、トンネルが何らかの通信を運ぶ証拠であって、意図した通信を運ぶ証拠ではありません。プロファイルが変えるはずのアドレスをブラウザがまだ元のまま表示するなら、三つを比べてください。使っているアプリ、アドレスの種類、プロキシのポリシーです。ブラウザのプロキシやIPv6の経路は、トンネル自体が健全なまま通信をVPNの外へ回すことがあります。

クライアントが経路表を表示するなら、デフォルトルートとトンネルのルートを読みます。この二つが、実際に導入した設計を記録します。

動かなくなったら、壊れた層を特定する

以前動いていた設定が壊れるのは、たいてい経路に何かが加わったからです。二つ目のVPNクライアント、セキュリティエージェント、コンテンツフィルタ、新しいネットワーク拡張です。環境設定を消したりネットワークスタックを初期化したりするのは診断ではなく願望なので、製品自身の診断機能を使ってください。障害を出来事に結びつけます。スリープ、Wi-Fiの切り替え、ポータルへのログイン、クライアントの更新などであり、それが繰り返すかどうかを記録します。再現する引き金は発生日時とともにチケットに残します。

名前は経路とは違う形で失敗します。非公開ホストには文書化された完全名で到達すべきで、短い社内名は内部リゾルバと、社内経路にしか存在しない検索ドメインに依存します。そのリゾルバを公開DNSサービスに置き換えると、短い名前はまったく解決できなくなり、壊れたトンネルのように見えますがそうではありません。

scutil --dns
dscacheutil -q host -a name intranet.example.com

scutil --dnsの出力で、検索ドメインが社内ドメインと一致するリゾルバを見つけ、それが指すネームサーバーを読みます。DNS構成の下に並ぶ項目は、各インターフェースがどのリゾルバを提供しているかを示します。社内リゾルバが別のインターフェースにしか現れない場合や、ブラウザが独自の暗号化DNSを動かしている場合、一つのアプリだけが名前を解決し、ほかはすべて失敗します。

不要になったプロファイルは、それをインストールした仕組みを通して削除してください。ローカルの項目を消すだけではサーバー側のアカウントが生き残り、古いクライアントが同じ経路を主張できます。管理対象のMacでは管理者の削除手順が有効です。何かを削除する前にプロファイル名、サーバーアドレス、動作しているリソースを書き留めておき、復旧がゼロから始まらないようにします。

関連記事