受信側のIPsecピアがどのプロファイルにも一致しない?四つの項目を確認
ファイル上の接続名は、稼働中のレスポンダがそれを選ぶまで何の証明にもなりません。読み込まれた定義、エンドポイント、ID、セレクタを比較してください。
ピアはトンネルが上がっていると報告し、こちら側にはセキュリティアソシエーションが表示されず、設定ファイルには一致する接続名が明記されている。この三つは同時に成り立ちます。受信したネゴシエーションは、ピアのアドレス、提示されるID、提案されるトラフィックによって、稼働中の設定と照合されます。読み込まれていないディスク上のファイル、期待値と一致しないID、一つのプレフィックス分だけずれたセレクタの組——いずれも無言のまま終わります。レスポンダと同じ順序で四つの項目群をたどってください。
ファイルではなくパケットから始める
レスポンダはIKEリクエストを受け取り、このピアを受け入れられる定義を探し、その後で認証とトラフィックの選択に進みます。最初の段階で読み込み済みの定義が一つも一致しなければ、有用なエラーが利用者に届く前にネゴシエーションは終わります。
だから「設定は正しく見える」は証拠になりません。問うべきは、稼働中のサービスが何を読み込み、この試行にどのエントリを選んだかです。状態一覧なら一つのコマンドでそれに答え、エディタのバッファは別の問いに答えます。ファイルを再び書き換える前に一覧を確認してください。
一つ目の項目群:実際に読み込まれている定義
稼働状態はデーモンを所有するツール、すなわち読み込み済みの接続を一覧する状態コマンドで確認し、エディタのバッファは見ません。期待するエントリが存在し、意図した起動時の動作に対して有効で、最後の編集後に読み込まれたことを確かめます。保存しただけで再読み込みしていないファイルが、「直したのに何も変わらない」の最も一般的な原因です。
サービスがどのファイルを読むかも確認します。ディストリビューションによって異なり、誤ったインクルードに書かれた接続は拒否されず黙って無視されます。状態一覧にエントリがまったく出ないなら、構文より先にインクルードのパスを疑ってください。
二つ目の項目群:エンドポイントはIDではない
ピアが接続してくるアドレスと、認証に使うIDは別の項目です。ホスト名、識別名、キーID、アドレスはいずれも設定次第でIKEのIDになれますし、公開アドレスに似ている必要もまったくありません。
エンドポイントの照合にはNATの見え方も関係し、ネットワーク上で見えるアドレスはピアが自分にあると信じているアドレスと異なることがあります。libreswanの接続モデルでは、leftとrightは二人の参加者へのラベルであってローカルとリモートの固定順ではないため、他の拠点で動いている設定をコピーしてアドレスを入れ替えるのは信頼できる翻訳ではありません。
両側の期待するIDと、それを検証する資格情報を書き留めてください。この二行が食い違っていれば、アドレスをどれだけ調整しても一致は得られません。
三つ目の項目群:保護されるトラフィック
セレクタは内側の送信元と宛先の範囲、そのアドレスファミリ、プロトコルやポートの制限を記述します。一台のホストアドレスに対する提案は、サブネット全体に対する要求と同じではなく、サブネット向けに設定されたレスポンダはそれを断るか狭めることがあります。
両端が食い違うときは、何かをつなぐためにすべてのセレクタを広げるのではなく、両方の視点から意図したフローを比較してください。それぞれの管理者に、守っているつもりのフローを尋ね、二つの答えを突き合わせます。食い違いはたいてい片側がホストのプレフィックス、もう片側がサブネットです。今はすべてを守るから一致するというトンネルは別のセキュリティ判断であり、誰も承認していない判断です。
四つ目の項目群:読んでいるのは一つの実装
Libreswan、旧来のOpenswan、strongSwanでは、管理ツールも設定構文も照合順序も異なります。一方で動いた例は、もう一方のプロファイル選択の優先順位やエラー文言について正確なことは何も語らないため、このホストのデーモンのドキュメントで確認してください。
一回の試行を端から端まで関連付けるには、開始側の送信元アドレス、提示したID、提案したセレクタを、レスポンダの選択メッセージとそこに名指しされた読み込み済みエントリと突き合わせます。カプセル化とデカプセル化のカウンタがゼロというのは、観測されたアソシエーションがそのパケットを運んでいないというだけで、提案を拒否したエンドポイントを名指しするものでも、その時点で一致するエントリがあった証拠でもありません。
調整のうえで修正したら、選択されたプロファイルとアソシエーションを確認し、実際に許可されたサービスとその応答経路を試します。プロファイルの一致はネゴシエーションを可能にしますが、ネゴシエーションは最後のアクセス確認ではありません。