VPN における IPv6 ULA:プライベートなのはアドレスであって、プライバシーではない
ユニークローカルアドレスは VPN に安定した内部設計を与えるだけで、それ以上のものではない。プレフィックスは正しく生成し、ファイアウォールポリシーは別の判断として扱うこと。
プライベートに見えるアドレスは、多くの人が意味する「プライベート」ではない。IPv6 のユニークローカルアドレス指定はその最も明快な例だ。ULA プレフィックスは、その背後にあるリソースのために VPN へ安定した内部設計を与える。暗号化も、ピアの認証も、クライアントが到達できるサービスの決定も行わない。プレフィックスをセキュリティ制御として扱うことが、この記事が取り除こうとする誤りである。
プレフィックスが実際に提供するもの
RFC 4193 は fc00::/7 をローカル用途に確保し、L ビットでローカルに割り当てた空間を予約形式と区別する。実際に生成するのは fd00::/8 である。仕様は、独立したサイトが誤って同じプレフィックスを選ばないよう、40 ビットのグローバル ID の導出方法も定めている。この空間はパブリックインターネットに出ないように設計されており、それはルーティングの性質であって保護ではない。
サイト内の通常の構成は、/48 のグローバル ID をサブネットに分割したものである。トンネルクライアント用に一つ、サーバー側に一つ、遠隔の LAN ごとに一つ。この構造こそが利点のすべてであり、それはアドレス指定上の利点である。各パケットはいまも経路を必要とし、それを許可するポリシーを必要とする。
プレフィックスとトンネルを混同すると、設計は fd00 アドレスを文書化し、その間の通信が保護されていると仮定してしまう。何か別のものが保護していない限り、保護はされていない。
例のプレフィックスをコピーすると痛い目に遭う理由
どのチュートリアルも覚えやすいプレフィックスを使い、それをコピーする読者は同じ衝突リスクを受け継ぐ。後になって同一範囲のサイト間トンネルで接続する二つのサイトは、重複するプライベート IPv4 空間で知られるのとまったく同じ曖昧さを生む。どちらの側も単独では誤っておらず、統合されたネットワークにはどちらの宛先を指すのかを知る手段がない。
文書化された手順でグローバル ID を生成するのは一分の作業で、その疑問は消える。プレフィックス、生成の入力、日付を記録するとよい。
買収後にネットワークを統合する人や、VPN で二つの研究室をつなぐ人にとって、このリスクは理論上のものではない。単一のサイトでは急を要しないため、統合が予定されてからようやく先送りが解かれる。
範囲とアクセスは別の問いである
ULA は通常のグローバルにルーティングされるインターネットアドレス指定のためのものではない。だからといって、これを使うすべてのホストが信頼できるわけでも、他の接続されたプライベートネットワークから到達できなくなるわけでもない。ファイアウォールとアプリケーションの権限がいまもピアに何を許すかを決め、トンネルはいまも設定された認証を提供する。
インターネットへの出口には、独自の IPv6 出口設計が必要である。クライアントに ULA アドレスを割り当てても、任意のグローバルな宛先へのアクセスは生まれず、それを受け取ったクライアントがそれを介してパブリックインターネットを閲覧することを期待すべきではない。
異なるプレフィックスを持つ二つのサイトは、互いの範囲への戻りの経路をいまも必要とし、両方のファイアウォールに一致する規則が必要である。そのどれもがアドレスファミリーから導かれるものではない。導かれるのは文書化作業である。プレフィックスの表と、それぞれで応答を許されるシステムの一覧だ。
両端で設計を確認する
プレフィックスが想定した場所に現れていることを確認し、次に、ある宛先が実際にそれを経由して到達できることを確認する。
ip -6 address show
ip -6 route show
ping -6 -c 3 fd12:3456:789a:1::1
アドレスの一覧はどのインターフェースがどのサブネットを持つかを示し、誤ったものを受け取ったクライアントは通常ここに現れる。経路の一覧は、遠隔のプレフィックスが破棄されるのではなくトンネル経由の道を持つかを示す。試験が答えるのは重要な唯一の問い、つまりパケットが往復するかどうかである。
再接続のあとに確認を繰り返すこと。アドレスを保ったまま経路を失ったクライアントは、上がっているように見えて何も転送しない接続を生む。アドレスは簡単な部分であり、消えるのは経路のほうだ。次の比較が証拠から始まるよう、両方の出力を接続プロファイル名のそばに保存しておく。