Ubuntu 20.04 でのルーティングに関する基本的な質問。
Hetzner にベアメタル セットアップがあり、これには 11.22.33.44/32 IPV4 アドレスと 2a01:db8:30/64 サブネットが割り当てられています。
enp7s0 は、11.22.33.44/32 アドレスを持つ物理インターフェースです。
また、パブリック サブネット 2a01:1111:2222:3333::/64 が割り当てられている vSwitch に接続されたベアメタル サーバーもあります。このサブネットのゲートウェイは 2a01:1111:2222:3333::1 であり、vlan.4001 インターフェイス (VLAN タグ ID が 4001 の enp7s0 のサブ インターフェイス) 経由でアクセスできます。
私の設定では、IP アドレス 2a01:1111:2222:3333::10/64 を持つ br1 というホストにブリッジが作成されます。このブリッジに複数の VM が作成され、各 VM には 2a01:1111:2222:3333::/64 IPV6 サブネットから割り当てられた IPV6 アドレスがあります。ブリッジを使用する必要があり、さまざまな要件により他のオプションは使用できません。
br1 上の VM は、互いに、また br1 と通信できます。br1 から外部へのすべてのトラフィックを vlan.4001 経由でルーティングしたいと考えています。vlan.4001 インターフェイスを br1 に追加したくありません (VM の MAC アドレスを vSWitch に公開したくありません)。アドレス 2a01:1111:2222:3333::2/64 を vlan.4001 に割り当てましたが、br1 から vlan.4001 インターフェイスにトラフィックをルーティングする方法がわかりません。
前述したように、ホスト上のすべての VM を 2a01:1111:2222:3333::/64 (VM では NAT は許可されません) に接続するにはブリッジを使用する必要がありますが、それでも vlan.4001 経由で外部インターネットにアクセスできます。
この設定はUbuntu 20.04でも可能でしょうか?
私もそうしますないVRF または netns を使用できるかどうかはわかりませんが、他の要件によりどちらも使用できません。
唯一の選択肢はポリシー ベース ルーティングを使用することですが、外部トラフィックに vlan.4001 インターフェイスを使用するために 2a01:1111:2222:3333::/64 の PBR を作成することができません。
答え1
ブリッジはルーティングを行いません。ブリッジはレイヤー 2 で行われ、ルーティングはレイヤー 3 で行われます。VM を接続する内部ネットワーク (br1 によって実装) とインターネット接続 (vlan.4001) の間でルーティングを行うかブリッジを行うかを決める必要があります。どちらの選択でも特定の結果が生じます。
ブリッジングを選択した場合、VM はゲートウェイ 2a01:1111:2222:3333::1 と直接通信し、そのゲートウェイと介在するレイヤー 2 ネットワークに MAC アドレスを公開します。一方、このソリューションは非常にシンプルなので、より安全で信頼性が高くなります。
ルーティングを選択した場合は、VM と外部インターフェイスの間にルーティング インスタンスが必要になり、そのルーティング インスタンスをホストのゲートウェイ ルーターに接続するための独自の IPv6 アドレス範囲を持つ別のネットワーク セグメントが必要になります。そのため、Hetzner に別の /64 を依頼して内部ルーターにルーティングしてもらうか、代わりに /56 を依頼して自分でサブネット化する必要があります。ルーティング インスタンスは、ファイアウォールを実行する専用の VM として、またはベアメタル サーバーの OS によって実装できます。
このレベルでは、Ubuntu 20.04 を使用するか、他の OS を使用するかは関係ありません。どのソリューションを選択しても、Ubuntu でも他の OS でも実装できます。