GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Warum MAC- und IP-Adressen auf der Bridge-Schnittstelle zuweisen?

Da eine Bridge ein Ethernet-Gerät ist, benötigt sie eine MAC-Adresse. Eine Linux-Bridge kann Dinge wie Spanning-Tree-Protokoll-Frames erzeugen, und Verkehr wie dieser benötigt eine Ursprungs-MAC-Adresse.

Eine Brücke ist nicht erforderlich eine IP-Adresse. Es gibt viele Situationen, in denen Sie keine haben werden. In vielen Fällen können Sie dies jedoch tun haben, wie zum Beispiel:

  • Wenn die Bridge als Standard-Gateway für eine Gruppe von Containern oder virtuellen Maschinen (oder sogar physischen Schnittstellen) fungiert. In diesem Fall benötigt es eine IP-Adresse (weil das Routing auf der IP-Schicht erfolgt).

  • Wenn Ihre „primäre“ NIC Mitglied der Bridge ist, so dass die Bridge Ihre Konnektivität zur Außenwelt darstellt. In diesem Fall, anstatt (zum Beispiel) eth0 eine IP-Adresse zuzuweisen , würden Sie es stattdessen dem Bridge-Gerät zuweisen.

Wenn die Brücke nicht ist erforderlich für IP-Routing, dann benötigt es keine IP-Adresse. Beispiele für diese Situation sind:

  • Wenn die Bridge verwendet wird, um ein privates Netzwerk von Geräten ohne externe Konnektivität oder mit externer Konnektivität zu erstellen, die über ein anderes Gerät als die Bridge bereitgestellt wird.

Ja, die Bridge-Schnittstelle fungiert als zusätzlicher Port.

Nach man 5 systemd.netdev :

Ein Bridge-Gerät ist ein Software-Switch, und jedes seiner Slave-Geräte und die Bridge selbst sind Ports des Switches.


Das mit Ihren anderen Netzwerkgeräten aufgelistete Bridge-Gerät stellt nicht die virtuelle Bridge dar, sondern eine virtuelle NIC, die mit der Bridge verbunden ist. Wenn Sie eine physische Bridge mit physischen Netzwerkgeräten verbunden hätten, würden Sie die physische Bridge auch nicht in Ihren Netzwerkgeräten sehen – aber Sie würden Ihre NIC sehen, die mit der Bridge verbunden ist, die natürlich ihre eigene MAC-Adresse hat, wie z jedes andere Netzwerkgerät.

Durch Zuweisen einer IP-Adresse zum Bridge-Gerät (das wiederum eigentlich eine virtuelle NIC ist, die mit der virtuellen Bridge verbunden ist) kann Ihr Host-Gerät Pakete an das Subnetz weiterleiten, das von der Bridge und allen daran angeschlossenen Geräten erstellt wurde. Ordentlich!

Beim Vernetzen von Gerätetools wie iproute2 (mit dem ip link und ip addr -Befehle) ermöglichen es Ihnen, die mit der Bridge verbundene virtuelle NIC zu sehen, es ist auch möglich, die virtuelle Bridge selbst mit dem brctl zu sehen Programm. Die brctl show Der Befehl listet alle Bridges und ihre angeschlossenen Schnittstellen auf. Hier ist ein Beispiel mit iproute und brctl mit Linux Bridges und Tuntaps:

# ip link add br0 type bridge
# ip tuntap add dev tap0 mode tap
# ip tuntap add dev tap1 mode tap
# ip addr add 10.0.0.1/24 broadcast 10.0.0.255 dev br0
# ip addr add 10.0.0.2/24 broadcast 10.0.0.255 dev tap0
# ip addr add 10.0.0.3/24 broadcast 10.0.0.255 dev tap1
# brctl addif br0 tap0
# brctl addif br0 tap1
# brctl show
bridge name     bridge id               STP enabled     interfaces
br0             8000.2e22e593fe8c       no              tap0
                                                        tap1
# ip addr show to 10.0.0.0/24
11: br0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN group default qlen 1000
    inet 10.0.0.1/24 brd 10.0.0.255 scope global br0
       valid_lft forever preferred_lft forever
12: tap0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc pfifo_fast master br0 state DOWN group default qlen 1000
    inet 10.0.0.2/24 brd 10.0.0.255 scope global tap0
       valid_lft forever preferred_lft forever
13: tap1: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc pfifo_fast master br0 state DOWN group default qlen 1000
    inet 10.0.0.3/24 brd 10.0.0.255 scope global tap1
       valid_lft forever preferred_lft forever

Beachten Sie, was in der Ausgabe von brctl show unter "Schnittstellen" aufgeführt ist sind die anderen Schnittstellen, die zusätzlich zu br0 an die Bridge angeschlossen sind Schnittstelle, die beim Erstellen der Bridge automatisch hinzugefügt wurde. (Ich schätze, Linux erlaubt es nicht, eine virtuelle Brücke ohne angeschlossene Geräte zu erstellen, und Brücken ohne Geräte werden automatisch zerstört.) Fürs Protokoll, ich habe dies im Kernel nicht recherchiert und bin auch kein Netzwerkexperte. Ich habe dies gepostet, weil es die ziemlich verwirrende Implementierung virtueller Brücken in Linux überzeugend zu erklären scheint. Ich glaube nicht, dass die virtuellen Bridges selbst MAC-Adressen haben.


Linux
  1. Warum Daten wichtig sind und wie man sie schützt

  2. So weisen Sie einer einzelnen Netzwerkschnittstelle unter CentOS 8 mehrere IP-Adressen zu

  3. Linux – Warum verwenden wir Su – und nicht nur Su?

  4. Warum ist es Rm -rf und nicht Rmdir -rf?

  5. Warum Deis und was ist das?

Warum ich von Mac zu Linux gewechselt bin

Linux vs. Mac:7 Gründe, warum Linux die bessere Wahl ist als Mac

Was ist eine virtuelle Maschine und warum sollte man sie verwenden?

Linux vs. Mac OS:15 Gründe, warum Sie Linux anstelle von Mac OS verwenden sollten

Ribbon-Schnittstelle für GTK und Qt

Warum ist Port 1111 offen und ist das sicher?