Weiterleiten des Datenverkehrs von einer Brücke zu einer bestimmten Schnittstelle

Weiterleiten des Datenverkehrs von einer Brücke zu einer bestimmten Schnittstelle

Grundlegende Frage zum Routing in Ubuntu 20.04.

Ich habe in Hetzner ein Baremetal-Setup, dem eine IPV4-Adresse 11.22.33.44/32 und das zugewiesene Subnetz 2a01:db8:30/64 zugeordnet sind.

enp7s0 ist die physische Schnittstelle mit der Adresse 11.22.33.44/32.

Ich habe den Baremetal-Server auch mit einem vSwitch verbunden, dem ein öffentliches Subnetz 2a01:1111:2222:3333::/64 zugewiesen ist. Das Gateway für dieses Subnetz ist 2a01:1111:2222:3333::1 und es ist über die Schnittstelle vlan.4001 zugänglich (eine Subschnittstelle von enp7s0 mit der VLAN-Tag-ID 4001).

In meinem Setup wird auf dem Host namens br1 eine Brücke mit der IP-Adresse 2a01:1111:2222:3333::10/64 erstellt. Auf dieser Brücke werden mehrere VMs erstellt und jeder der VMs wird eine IPV6-Adresse aus dem IPV6-Subnetz 2a01:1111:2222:3333::/64 zugewiesen. Ich muss eine Brücke verwenden und aufgrund verschiedener Anforderungen steht keine andere Option zur Verfügung.

Die VMs auf br1 können miteinander und mit br1 kommunizieren. Ich möchte den gesamten Datenverkehr von br1 zur Außenwelt über vlan.4001 leiten. Ich möchte br1 keine vlan.4001-Schnittstelle hinzufügen (ich möchte nicht, dass die MAC-Adressen der VMs dem vSWitch zugänglich gemacht werden). Ich habe vlan.4001 die Adresse 2a01:1111:2222:3333::2/64 zugewiesen, habe aber Schwierigkeiten herauszufinden, wie ich den Datenverkehr von br1 zur vlan.4001-Schnittstelle leiten kann.

Wie ich bereits erwähnt habe, muss ich eine Brücke verwenden, um alle VMs auf einem Host mit 2a01:1111:2222:3333::/64 zu verbinden (kein NAT für die VMs zulässig) und trotzdem über VLAN.4001 auf das externe Internet zugreifen können.

Ist dieses Setup mit Ubuntu 20.04 überhaupt möglich?

Ich werde auchnichtVRFs oder NetNs nutzen können, beides scheidet aufgrund anderer Voraussetzungen aus.

Die einzige Option, die mir bleibt, ist die Verwendung des richtlinienbasierten Routings, aber ich kann den PBR für 2a01:1111:2222:3333::/64 nicht erstellen, um die Schnittstelle vlan.4001 für externen Datenverkehr zu verwenden.

Antwort1

Eine Bridge führt kein Routing durch. Das Bridging erfolgt auf Schicht 2, das Routing auf Schicht 3. Sie müssen sich entscheiden, ob Sie zwischen Ihrem internen Netzwerk, das die VMs verbindet (implementiert durch br1), und Ihrer Internetverbindung (vlan.4001) routen oder eine Bridge verwenden möchten. Jede Wahl hat bestimmte Konsequenzen.

Wenn Sie sich für Bridging entscheiden, kommunizieren Ihre VMs direkt mit dem Gateway 2a01:1111:2222:3333::1 und geben ihre MAC-Adresse an dieses Gateway und das dazwischenliegende Layer-2-Netzwerk weiter. Andererseits ist diese Lösung sehr einfach und daher sicherer und zuverlässiger.

Wenn Sie Routing wählen, benötigen Sie eine Routing-Instanz zwischen Ihren VMs und der externen Schnittstelle sowie ein separates Netzwerksegment mit eigenem IPv6-Adressbereich, um diese Routing-Instanz mit dem Gateway-Router des Hosters zu verbinden. Sie müssen Hetzner also um einen weiteren /64 bitten, den sie an Ihren internen Router weiterleiten, oder alternativ um einen /56, den Sie dann selbst subnetzen. Die Routing-Instanz kann als dedizierte VM mit Firewall oder durch das Betriebssystem Ihres Baremetal-Servers implementiert werden.

Ob Sie Ubuntu 20.04 oder ein anderes Betriebssystem verwenden, spielt auf dieser Ebene keine Rolle. Welche Lösung Sie auch wählen, sie kann sowohl mit Ubuntu als auch mit jedem anderen Betriebssystem implementiert werden.

verwandte Informationen