Safariがページを読み込めるのにMessagesの同期が止まる場合、VPNは有力な原因ですが、証明された原因ではありません。iMessageはApple Push Notification serviceとAppleのIDサービスに依存しており、トンネルはWebトラフィックに触れずに、経路、リゾルバ、あるいはそれらの接続に適用される検査を変えることがあります。遮断されたポート一つで説明がつくことはまれなので、以下の確認はMacから外側へ進めます。失敗した最初の手順で止まり、他の何かを変える前にその一点を直してください。

まず症状を特定してください。サインインの失敗、送信されないメッセージ、届かないメッセージ、ダウンロードできない添付ファイルは、同じアプリを共有するだけの四つの異なる問題です。どれに当てはまるか、どのVPNプロファイルが有効だったか、クライアントのバージョンを書き留めておくと、後でネットワーク管理者が必要とするメモにもなります。

確認1:トンネルが何をルーティングし、何を範囲に含むか

アプリより先にプロファイルを見ます。フルトンネルはすべてのトラフィックをVPN経由で送り、スプリットトンネルは一覧にあるサブネットだけを送り、アプリ単位のトンネルは選択したアプリだけを含みます。Messagesが対象の集合の外にあるなら、物理インターフェースを使っているのであり、VPNが原因にはなりません。scutil --nc listは構成管理されたサービスを表示し、netstat -rn -f inetはデフォルトルートがどこを指すかを示し、クライアントのプロファイル画面は範囲がアプリ単位かどうかを示します。

合格条件:デフォルトルートまたはアプリ単位の包含が実際にMessagesを対象にしており、テストしているプロファイルが現在適用されているものであること。そうでなければ、ネットワークではなくクライアントかOSを調べて止めてください。

確認2:リゾルバのポリシーと検査

プッシュとアカウントのサービスは、ブラウザが使う名前とはしばしば異なる名前を解決し、スプリットDNSはそれらのクエリを予想外の場所へ送ることがあります。scutil --dnsはドメインごとのリゾルバを一覧表示するので、Appleのドメインに使われるリゾルバを期待するものと比較してください。内部アドレスで応答するリゾルバや、クエリを完全に拒否するリゾルバは、パケットがAppleに届く前にサービスを壊します。

次に、トンネルがTLSを検査しているかを確認します。Appleのネットワーク要件は、一覧のサービスがHTTPS傍受を想定していないと述べており、それらの接続を終端する機器は、Web閲覧を保ったままメッセージングを静かに失敗させることがあります。検査がすべてを対象にしているなら、検査を全体で無効にするのではなく、該当するAppleのサービス区分を除外して再テストしてください。

確認3:APNsのトランスポート(443を含む)

デバイスのAPNsへの接続はTCP 5223を使い、TCP 443は対応状況でのアクティベーションとフォールバックに使われます。どちらもデバイスが開始する外向きの接続です。ルーターに内向きのポートは必要なく、Macで一つ公開しても、そもそもAppleに到達できないクライアントの助けにはならずサービスを露出させるだけです。

合格条件:Macからの新しいメッセージが別ネットワークの受信者に届き、その返信が、同じプロファイルが有効なまま届くこと。バッチではなく、機密でないメッセージを一通送って返信を一つ待つと、部分的な成功でもどちらの方向が失敗したかが分かります。送信はできて添付が止まるなら、トランスポートはおそらく正常で、より狭い経路を調べるべきです。

確認4:リセットする前のアカウント状態

アクティベーションやサインインのエラーは、トンネルではなくアカウント層の問題です。Macの日付と時刻が正しいこと、Apple IDにサインインしていること、別のデバイスで確認プロンプトが待っていないことを確認してください。保留中の二要素承認は、Messagesウィンドウの中から見ると接続障害とまったく同じに見えます。

リセットしたい衝動を抑えてください。サインアウトして再びサインインすること、あるいはアカウントをリセットすることは、障害がどこにあったかを示してくれた状態を捨ててしまい、管理されたMacでは自分だけでは元に戻せない登録手順を開始することがあります。再認証は一度だけ、トランスポートの確認が通り、アカウントが残った容疑者になってから行ってください。

ネットワーク管理者に渡すもの

確認がトンネルを指すなら、役に立つ報告は短く、MacのモデルとmacOSのバージョン、クライアント名とバージョン、プロファイル名、時間帯、失敗した方向、そして異なっていた経路やリゾルバの観測で足ります。メッセージの内容や会話のスクリーンショットは含めないでください。

ポリシーを実際のフィルタリング境界で適用するよう依頼してください。Appleの現行の企業ネットワーク要件にはサービスごとのホストとトランスポート条件が一覧されており、管理者はポートを開けて願う代わりに、それらをルールセットと突き合わせられます。変更のたびにメッセージ一通で再テストし、二つの変数を同時に変えると読めない結果になります。

関連記事