Benötigt eine Brücke zwischen 2 TAP-Schnittstellen eine IP-Adresse?

Benötigt eine Brücke zwischen 2 TAP-Schnittstellen eine IP-Adresse?

Ich versuche, OpenVPN auf einem Computer so einzurichten, dass ich zwei verschiedene Tap-Schnittstellen (Tap0 und Tap1) und dann eine Brücke habe, die diese Schnittstellen verbindet. Das OpenVPN wird mit einer Server-Bridge-Konfiguration für jede TAP-Schnittstelle eingerichtet. Die Idee ist, dass ein Client auf Tap0 mit einem Client auf Tap1 kommunizieren kann und umgekehrt.

An der Bridge ist keine physische Netzwerkkarte beteiligt und die Bridge-Schnittstelle ist ohne IP/Netzmaske/Broadcast eingerichtet. Wird einfach mit einem einzigen „ifconfig brX up“ aufgerufen.

Ich kann zwischen den beiden Clients einen Ping-Befehl ausführen, wenn sie beide mit dem OpenVPN-Server verbunden sind, jeder mit seiner eigenen, oben erwähnten TAP-Schnittstelle. Beim Versuch, einen TCPdump für die Bridge-Schnittstelle auszuführen, sehe ich jedoch keinen Datenverkehr.

Einige Dinge verwirren mich ein wenig:

  1. Muss ich überhaupt eine IP auf der Bridge-Schnittstelle konfigurieren? Ich sehe den Grund dafür nicht ganz, da es nur dazu dient, dass die virtuellen Schnittstellen miteinander kommunizieren

  2. Ist die Tatsache, dass der Bridge-Schnittstelle keine IP/Netzmaske/Broadcast zugewiesen ist, der Grund dafür, dass ich den Ping-Verkehr auf der Bridge-Schnittstelle nicht sehen kann, wenn ich ein TCP-Dumping für diese Schnittstelle durchführe?

  3. Wenn die Antwort auf Nummer 2 Ja lautet, gehe ich davon aus, dass es auch nicht möglich ist, iptables zu verwenden, um Datenverkehr auf dieser Schnittstelle zu blockieren/zuzulassen, richtig? Wenn ja, gibt es eine andere Möglichkeit, das zu erreichen, was man mit iptables auf einer solchen Schnittstelle tun würde?

Antwort1

Muss ich überhaupt eine IP auf der Bridge-Schnittstelle konfigurieren? Ich sehe den Grund dafür nicht ganz, da es nur dazu dient, dass die virtuellen Schnittstellen miteinander kommunizieren

Nein, eine reine Bridge funktioniert nur auf Ethernet-Ebene – sie sieht sich nicht einmal den IP-Header an. Wenn Sie br0 eine IP-Adresse zuweisen, weisen Sie sie tatsächlich dem Host-Betriebssystem zu, das mit dieser Bridge verbunden ist.

Sie haben jedoch nichts über das tatsächliche Hinzufügen der tapSchnittstellen gesagt,BrückenhäfenSie müssen der Bridge explizit mitteilen, welche Ports sie verwaltet:

  • brctl addif br0 tap0

  • ip link set tap0 master br0

Ist die Tatsache, dass der Bridge-Schnittstelle keine IP/Netzmaske/Broadcast zugewiesen ist, der Grund dafür, dass ich den Ping-Verkehr auf der Bridge-Schnittstelle nicht sehen kann, wenn ich ein TCP-Dumping für diese Schnittstelle durchführe?

NEIN.

Es ist jedoch möglich, dass sich die Bridge noch im „Lernmodus“ befindet; die Standardeinstellung beträgt immer noch 30 Sekunden – überprüfen Sie dies mit brctl showstp br0. Es ist möglich, dass die Ports nicht zur Bridge hinzugefügt wurden (siehe oben). Es ist möglich, dass die Portschnittstellen selbst noch nicht aktiv sind.

(Und, liebe Götterwarum glauben die Leute, dass sie die Broadcast-Adressen festlegen müssen?Tatsächlich kann das Betriebssystem die Adresse bereits aus IP | ~netmask berechnen. Es ist fast nie sinnvoll, die Broadcast-Adresse manuell zu konfigurieren, da es sonst leichter ist, sie versehentlich zu erhalten.falsch.)

Wenn die Antwort auf Nummer 2 Ja lautet, gehe ich davon aus, dass es auch nicht möglich ist, iptables zu verwenden, um Datenverkehr auf dieser Schnittstelle zu blockieren/zuzulassen, richtig? Wenn ja, gibt es eine andere Möglichkeit, das zu erreichen, was man mit iptables auf einer solchen Schnittstelle tun würde?

Ja, Sie müssen ebtablesden Datenverkehr filtern. Er geht nicht durch die IP-Firewall.

(Ich vermute allerdings, dass das nicht immer zutrifft. Die Untangle-Firewall scheint beispielsweise in einem übergreifenden Router-/Bridge-Modus zu funktionieren, was etwas verwirrend ist.)

verwandte Informationen