strongSwan でデュアルスタック IKEv2 プライベートアクセスを計画する
外部トランスポート、クライアントプール、保護プレフィックスは三つの別個の決定です。それぞれに答え、プライベートアドレッシングをイグレスから切り離してください。
デュアルスタックのトンネルは一つの決定ではなく三つであり、それぞれ別に答えられます。外部トンネルがどのファミリー上を流れるか、クライアントが内部でどのファミリーを受け取るか、保護されたサービスが実際にどのファミリーで応答するか。これらを一つの選択として扱う設計は、決して必要としなかった IPv6 を運ぶか、何も戻せないアドレスを配ることになります。三つを分ければ、残りの設定はほぼ機械的になります。
三種類のアドレスを別々に決める
外部アドレスは二つのゲートウェイが互いに到達する方法であり、内部トラフィックが両方のファミリーを運んでいても IPv4 であり得ます。内部仮想アドレスはトンネル内でのクライアントの身元であり、各ファミリーには独自のプールが必要です。保護プレフィックスはクライアントが到達できる範囲であり、トンネルではなくサービスに属します。どちらもプライベート範囲に見えるため、三番目を二番目と混同することが計画上の誤りの大半を生みます。
IPv4 のみの外部トランスポートとデュアルスタックの内部トラフィックは、通常どおりで十分にサポートされた構成です。
それぞれを明示的に決め、決定を書き留めてください。外部経路が IPv4 のみなら、そう述べて IPv6 エンドポイントの到達性を心配するのをやめます。ファミリーを内部に割り当てたのに何も応答しないなら、計画から外すか、そのサービスを本当にデュアルスタックにしてください。
各ファミリーで仮想アドレスを割り当てる
swanctl の設定では、クライアントが仮想アドレスを要求し、各ファミリーのワイルドカードが応答側に一つずつ割り当てるよう求めます。応答側はそれらをプールから取り、プールはゲートウェイ背後のネットワークとは別のオブジェクトです。プールがサービスのプレフィックスと重なると、トラフィックが意図しない場所に着地する瞬間まで正しく見えるルーティングが生まれるため、計画上も別に保ってください。
使われないアドレスは利益のないポリシー面なので、両方必要なときは両方のファミリーを、不要なときは一つを要求してください。具体的な要求は予約ではなく要求であり、応答側は独自のポリシーに従って別の値を返せます。この点は、アドレスがファイアウォール規則や監視チェックに固定されているあらゆる場所で重要です。接続ではプールを名前で参照し、サービスネットワークはプールの外に保ってください。
vips = 0.0.0.0, ::短いサンプル値を受け入れるのではなく、IPv6 プール用に独自の 一意ローカルプレフィックスを生成してください。例は設定の形を示すもので、継承する既定値ではありません。
宛先はプールとは別に記述する
トラフィックセレクタは各側が交換を期待するものを記述するため、ゲートウェイのローカルセレクタはクライアントプールではなく保護されたサービスのプレフィックスを指定すべきです。クライアントのリモートセレクタはその意図を反映します。二つのリストが異なるオブジェクトを記述していると、トンネルは上がっても有用なものを何も運びません。
同じプレフィックスには、有効にする各ファミリーについて、ゲートウェイのネットワーク内での戻り経路と許可された転送が必要です。
ここでプライベートな IPv6 計画は十分でなくなります。一意ローカルアドレッシングはプライベートな到達性を買っても公的な IPv6 イグレスは作らないため、番号のないファミリーが単に IPv4 のマスカレード規則に従うと仮定する設計は、利用者を失望させます。公的な IPv6 アクセスが要件の一部なら、ルーティングされた計画とそれに同意する上流が必要です。そうでなければ、IPv6 側はプライベート専用だと、隠すべき制限ではなく正直な境界として明確に述べてください。
DNS と戻り経路を意図的にする
名前解決はトランスポートに従いません。リゾルバは IPv4 のみのトンネル越しに A と AAAA レコードを返すことがあり、クライアントは計画していなかったファミリーを試します。どのサービス名が使えるデュアルスタックの応答を持つべきかを決め、両方の経路を意図的にしてください。動作する経路のないファミリーに解決する名前は、きれいなエラーではなく停止を生み、停止はずっと診断が難しいものです。
外部エンドポイントの到達性は別に文書化し、NAT トラバーサルが関与するかどうか、どのファミリーを使うかも含めてください。
次に、外部エンドポイント、IPv4 プール、IPv6 プール、IPv4 サービスのプレフィックス、IPv6 サービスのプレフィックス、そしてそれぞれの応答を持つルーターという六行で計画を書きます。この形の計画は、運用者が実際に午前三時に尋ねる問いに答えます。これより短いと、デュアルスタックは IPv4 のみのポリシーにボルト留めされた二番目のアドレスとして残り、たいてい半分しか動かないまま終わります。