本文へ移動
QKQuickKitEN
VPN・オーバーレイLOCALブラウザ内で処理

IPsec サブネットヘルパー

ローカル / リモートのサブネット一覧から IPsec のトラフィックセレクタを組み立て、組み合わせ数を数え、範囲の重なり・片側だけのアドレスファミリ・冗長な指定を指摘します。

入力と主要な処理をブラウザ内で行い、その入力内容をQuickKitサーバーへ送信しない設計です。

サマリー

結果
トラフィックセレクタの組み合わせ数
ローカルセレクタ数
リモートセレクタ数

    strongSwan swanctl.conf

    従来の ipsec.conf

    トラフィックセレクタの組み合わせ

      仕組みと使い方

      ローカルとリモートのサブネット一覧から IPsec のトラフィックセレクタを計算し、strongSwan の swanctl.conf (local_ts / remote_ts) と従来の ipsec.conf (leftsubnet / rightsubnet) の両方で出力します。両側とも先に集約します。隣接または内包する指定はより短い 1 つのプレフィックスとまったく同じアドレス範囲を表すため、まとめても意味は変わらず、トラフィックセレクタの組み合わせ数を減らせます。IKEv1 ではこの削減がそのまま SA 本数の削減になります。1 つの SA が 1 組のサブネットしか扱えないためです。IKEv2 では CHILD_SA の本数が同じだけ減るとは限らないため、このツールは本数を断定しません。ポリシーベースでは local × remote の組み合わせを列挙します。カーネルがポリシーとして登録するのはこの直積です。この数は CHILD_SA の本数ではなく、トラフィックセレクタの組み合わせ数として表示します。この違いは重要です。IKEv1 では両者は一致します。1 つの SA が 1 組のサブネットしか扱えないため、各側が数個のサブネットでも SA が数十になります。IKEv2 では 1 つの CHILD_SA が複数のトラフィックセレクタを扱えるため、SA の本数は相手側の提案内容と、ネゴシエーション時の narrowing の挙動に依存します。1 組ずつに分割する実装もあれば、しない実装もあります。このツールからはどちらか判断できないため、組み合わせ数のみを表示し、SA 本数は相手側との確認に委ねます。ルートベースでは意図的に 0.0.0.0/0 と ::/0 を使用し、アドレスファミリごとに 1 組になります。SA はすべてを収容し、XFRM / VTI インターフェースの経路がトンネルへ流す範囲を決めます。入力したサブネットは、経路設定の参考として一覧に残します。ローカルとリモートが重なっている場合は指摘します。セレクタの書き方では解決できず、片側を NAT する必要があるためです。アドレスファミリをまたぐ組み合わせは作らず、片側にしか存在しないファミリは黙って捨てずに指摘します。このツールは IKE を話さず、ゲートウェイへ接続せず、既存設定の読み込みも行いません。出力する 2 つの strongSwan 構文以外のベンダー互換性も主張しません。