どちらも192.168.1.0/24を使う二つのサイトは、それぞれインターネットには到達できても、互いに到達できないことがあります。ゲートウェイはエラーを出さず、そのプレフィックスに一本のルートを登録し、最初に要求したピアへすべてのパケットを送ります。ハンドシェイクにも暗号リストにもインターフェースメトリックにも、どちらのピアが間違っているかは書かれていません。アドレス計画は、誰かが接続する前にこれを決着させる設計の一部です。

到達可能でなければならないすべての空間を棚卸しする

設定している範囲だけでなく、ルーティングが必要な範囲を書き出します。サイトLAN、VPNクライアントプール、クラウドのサブネット、管理用および帯域外のネットワーク、ラボセグメント、そして利用者が自宅から日常的に接続するネットワークです。192.168.1.0/24として出荷される家庭用ルーターは仮定の話ではなく、同じプレフィックスはホテルや会議場にも現れます。棚卸表はプレフィックス・所有者・目的の表であり、同じ範囲を二重に配るのを止める唯一の成果物です。

PrefixPurposeOwner
10.20.0.0/16site LANsnetwork team
10.20.100.0/22VPN client poolremote access
10.20.200.0/24managementoperations

来年の間に想定するプレフィックスも加えてください。今日だけを覆う計画は最初の新しいサイトで破綻するので、各行には誰が所有するかだけでなく誰が変更できるかを記してください。

これを難しくするのは再利用です。プライベート空間は有限で、どの組織も10.0.0.0/8を自分のものと見なします。将来のゲストLANがあなたのプレフィックスに落ちないことを計画は約束できませんから、設計はそうなったときに何が起きるかを書かなければなりません。ほとんどの仕事は、クライアントプールを要約できる一つの連続ブロックに置き、別のチームがすでにルーティングしている範囲は決して割り当てないという二つの規則で足ります。残りは誰かが最新に保つ記録です。

重複がルーティングテーブルを破る理由

ルートはプレフィックスとネクストホップであり、転送は最長一致のプレフィックスを選びます。二つのピアが同じ192.168.1.0/24を要求すると、テーブルにはその一つのエントリしかないため、両サイトの通信は同じトンネルから出ます。二番目のサイトは設定ミスではなく、最初のサイトが同じアドレスに応答しているため到達不能なのです。一致はメトリックを見る前に起きるので、どのメトリックでも両者を分けられません。

障害は非対称で、読み違えやすいものです。サイトAのホストはゲートウェイと一部のサービスに届きますが、サイトBのホストは何も応答せず、ログには双方向に健全なトンネルが表示されます。このパターンは認証やファイアウォールの不具合ではなくアドレスの衝突であり、確認には棚卸表と突き合わせた一度のテーブルダンプが要ります。

クライアントプールとサイト範囲を意図的に設計する

VPNクライアントプールはゲートウェイが一つずつアドレスを配る範囲なので、その大きさが同時接続数を制限します。/24は254の使用可能アドレスを持ち、小さなチームには十分ですが、コンテナを動かす支店には厳しい大きさです。/22はプライベート空間内で追加コストがかからず、議論を消します。プールは連続させてどのサイトLANとも重ならないようにし、クライアント向けの集約ルートがサイトを飲み込まないようにするとともに、プールが空でも範囲は予約してください。

サイトには、想定ホスト数と成長に見合った範囲を、きれいに集約できる境界に揃えて割り当てます。割り当て間の意図的な隙間はコストがかからず、後で集約する余地を買います。

次に、人が忘れる方向である戻り経路を確認します。各サイトルーターにはクライアントプールへのルートが、集約装置には自分が担当する各サイトプレフィックスへのルートが必要です。プールへの戻り経路がない整ったプレフィックス表は依然として壊れた設計であり、症状は何も応答しない片方向接続です。両方向を同じ表に保ち、サイトを追加するたびに見直してください。

変換と再番号付けは別の問題を解く

重複がすでにある場合、正直な選択肢が二つと不正直なものが一つあります。再番号付けは衝突を恒久的に除きますが、保守作業の時間帯と、忘れていたハードコードされたアドレスのすべてを要します。アドレス変換は一方のプライベート範囲をトンネル境界で別の範囲にマッピングし、両サイトをそのままにしますが、状態を追加し、アドレスを埋め込むプロトコルを壊し、ログを読みにくくします。不正直な選択肢は単一サーバーへのホストルートで、一つのテストに通り、それ以外すべてに失敗します。

制御と寿命で選びます。自分が所有し予定を立てられるサイトは再番号付けの道に属し、触れられないパートナーネットワークで一つのアプリケーションに使うものは、文書化されたマッピングを伴う変換の候補です。設定ファイルの中だけに存在する変換はファイルが置き換えられた瞬間に消えるので、そのマッピングを書き留めてください。

展開する前に遠い側からテストする

ゲートウェイ自身のLANはほとんどのルーティングミスを隠すので、ゲートウェイをホストしないネットワークからテストします。普通の家庭用ルーターの背後にクライアントを接続し、各サイトのサービスとクライアントプール内のサービスに到達します。戻り経路は独立して失敗するので、逆方向もサイトのホストからクライアントへテストしてください。ゲートウェイにpingするだけのテストは、トンネルが上がっていることしか証明しません。

範囲、所有者、変換マッピングを一つの共有記録に保ち、次のサイトが何かを割り当てる前にそれを読みます。サイトを追加するときに見直し、文書化されていない範囲を驚きではなく欠陥として扱ってください。

記録こそが成果物です。三人の記憶に住む計画は、そのうち一人が休暇を取った最初の時に破綻し、本番環境で見つかった重複は表のコストより高くつきます。

関連記事