Der Grund, warum Ihre Bridge und Ihre TAP-Schnittstelle dieselbe MAC-Adresse haben, ist, dass die Bridge keinen MAC hat, bis sie an eine Schnittstelle gebunden ist. Wenn Sie eine Bridge mit BRCTL erstellen und eine "brctl show" durchführen, werden Sie feststellen, dass die Bridge leere Ports hat (keine Schnittstelle daran gebunden). Wenn Sie TAP0 an br0 binden, wird dies natürlich als der gleiche MAC angezeigt. Ich habe eine Testbrücke erstellt, um dies zu veranschaulichen.
# brctl addbr testbr0
[root @ stooge etc] # brctl show testbr0
Brückenname Brücken-ID STP-fähige Schnittstellen
testbr0 8000.000000000000 nr
Ich habe drei Test-TAPS erstellt. Die Ausgabe von "brctl showmacs testbr0".
[root @ stooge etc] # brctl showmacs testbr0
port no mac addr ist lokal? Alterungs-Timer
1 86: 51: b6: 95: 0e: b6 yes 0.00
2 86: 58: 63: c6: d4: e7 ja 0,00
3 8a: a7: fa: 17: c5: 12 ja 0,00
Wie Sie sehen, hat jeder Bridge-Port eine eindeutige MAC-Adresse, und die Bridge sollte ihren MAC als erste gebundene Schnittstelle anzeigen. Wenn Sie eine physische Netzwerkschnittstelle überbrücken, übernimmt die Ethernet-Brücke ihre MAC-Adresse und verschiebt alle virtuellen Schnittstellen nach unten. Beispiel für die Bindung von eth0 an die Testbrücke.
[root @ stooge etc] # brctl showmacs testbr0
port no mac addr ist lokal? Alterungs-Timer
4 AA: BB: CC: DD: EE: FF ja 0,00
1 86: 51: b6: 95: 0e: b6 yes 0.00
2 86: 58: 63: c6: d4: e7 ja 0,00
3 8a: a7: fa: 17: c5: 12 ja 0,00
Verwenden Sie wieder "brctl show".
[root @ stooge etc] # brctl show
Brückenname Brücken-ID STP-fähige Schnittstellen
testbr0 8000.00aabbccddee no eth0
tap00
tap01
tap02
Die TAP-Schnittstellen sind um eins nach unten gerückt, obwohl sich eth0 immer noch auf PORT 4 befindet. Sie haben immer noch eindeutige MAC-Adressen. Wenn die Ethernet-Bridge an eine Source-Route-Schnittstelle gebunden ist, haben Sie keine andere Wahl, als eine IP-Adresse oder DHCP zu verwenden. Wenn Sie eine Source-Route-Schnittstelle überbrücken, wird eine "nicht lokale" MAC-Adresse angezeigt. Dies ist die MAC-Adresse des Routers für den nächsten Hop. Ich weiß, dass es in RedHat eine Option gibt, eine Quell-IP mit IFCONFIG anzugeben. Meine erste Option wäre, die IP-Befehlsreferenz zu konsultieren, da ich denke, dass Sie eine Quell-IP angeben können. Ich habe es nie ausprobiert.