Zum Inhalt

802.1Q VLAN-Trunks & 802.3ad LACP-Bonding: Hochverfügbarkeit & Netzwerksegmentierung

Erstellt: 08.11.2026  ·  Zuletzt aktualisiert: 08.11.2026  ·  Nejat Hakan

Management Summary: Auf Virtualisierungs-Hosts, Datenbank-Clustern und Storage-Knoten ist eine einzelne Netzwerkkarte oder ein einzelner Switchport ein inakzeptabler Single Point of Failure (SPOF). Professionelle Linux-Architekturen kombinieren zwei zentrale Layer-2-Technologien: IEEE 802.3ad Dynamic Link Aggregation (LACP), um mehrere physische Netzwerkkarten zu einem ausfallsicheren, lastverteilten Trunk (bond0) zu bündeln, und IEEE 802.1Q VLAN-Tagging, um mehrere getrennte Sicherheitszonen (Management, DMZ, Storage) isoliert über diesen Bündel-Trunk zu übertragen.

  • IEEE 802.3ad LACP


    Netzwerkkarten im Aktiv-Aktiv-Verbund bündeln: Millisekunden-Failover und automatisierte Partner-Aushandlung mit dem Switch.

  • Transmit-Hash-Policies


    Bandbreite intelligent verteilen: Mit layer3+4-Hashing parallele TCP/UDP-Sitzungen optimal über alle physischen Leitungen streuen.

  • 802.1Q VLAN-Tagging


    4-Byte 802.1Q-Header einfügen, um eine physische Leitung in bis zu 4094 getrennte Layer-2-Broadcast-Domänen aufzuteilen.

  • systemd-networkd Praxis


    Deklarative, wartbare Konfigurationsvorlagen für NetDev- und Network-Dateien unter Debian ohne Altlasten umsetzen.


Linux unterstützt verschiedene Bündelungsmodi, doch im professionellen Rechenzentrumsbereich ist Modus 4: IEEE 802.3ad (Dynamic Link Aggregation Control Protocol – LACP) der weltweite Standard:

%%{init: {'flowchart': {'wrappingWidth': 350}}}%%
flowchart TB
    subgraph PhysicalLayer ["Host Redundanz"]
        direction TB
        NIC1["eno1: 10GbE Leitung 1"]
        NIC2["eno2: 10GbE Leitung 2"]
        BOND["bond0: 802.3ad LACP<br/>20 Gbit/s Bandbreite"]
        NIC1 --> BOND
        NIC2 --> BOND
    end

    subgraph SwitchSide ["Switch-Infrastruktur"]
        SW["Enterprise Switch<br/>LACP Port-Channel"]
    end

    PhysicalLayer <-->|"LACPDU Frames"| SwitchSide

Warum Modus 4 (802.3ad) Modus 0 und 1 überlegen ist

  • Modus 1 (active-backup): Reine Ausfallsicherheit, doch 50 % der teuren 10GbE-Bandbreite liegen permanent ungenutzt brach.
  • Modus 0 (balance-rr): Verteilt Pakete abwechselnd. Führt zu Out-of-Order-Paketlieferungen, die TCP-Verbindungen massiv ausbremsen.
  • Modus 4 (802.3ad LACP): Beide Leitungen transportieren gleichzeitig Daten (Aktiv-Aktiv). Schnittstellen tauschen periodisch LACPDU-Frames mit dem Switch aus. Fällt ein Kabel oder ein Switchport aus, entfernt der Kernel die fehlerhafte Schnittstelle in unter 100 Millisekunden – ohne dass bestehende TCP-Verbindungen abbrechen.

2. Lastverteilung über Transmit-Hash-Policies (xmit_hash_policy)

Ein weitverbreiteter Irrtum ist, dass das Bündeln zweier 10GbE-Karten eine 20Gbps-Einzelverbindung erzeugt. Das ist technisch unmöglich. Ethernet-Switches verlangen, dass alle Pakete eines TCP-Streams über dieselbe physische Leitung laufen, um Paket-Fehlsortierungen zu verhindern.

Der Kernel wählt die physische Leitung anhand einer Hash-Funktion aus (xmit_hash_policy):

Hash-Policy Mathematische Eingangsdaten Bewertung in der Praxis
layer2 (Standard) Quell-MAC ⊕ Ziel-MAC Schlecht für Router: Datenverkehr zum selben Standard-Gateway hat dieselbe Ziel-MAC und landet komplett auf einer Leitung.
layer2+3 (Quell-MAC ⊕ Ziel-MAC) ⊕ (Quell-IP ⊕ Ziel-IP) Gute Balance: Verteilt den Datenverkehr anhand unterschiedlicher Ziel-IPs.
layer3+4 (Quell-IP ⊕ Ziel-IP) ⊕ (Quell-Port ⊕ Ziel-Port) Optimaler Enterprise-Standard: Bezieht TCP/UDP-Ports ein. Mehrere Verbindungen zum selben Server werden gleichmäßig über beide Leitungen verteilt.

3. Sicherheitszonen isolieren: 802.1Q Tagged VLANs

Sobald bond0 unsere Netzwerkkarten aggregiert hat, unterteilen wir die Verbindung logisch über IEEE 802.1Q VLAN-Tagging. Der Kernel fügt einen 4-Byte-VLAN-Header (inklusive einer 12-Bit VLAN-ID von 1 bis 4094) in den Ethernet-Frame ein:

Standard-Ethernet-Frame:  [ Ziel-MAC | Quell-MAC | EtherType | Payload | FCS ]
802.1Q-Tagged-Frame:      [ Ziel-MAC | Quell-MAC | 0x8100 | VLAN-ID | EtherType | Payload | FCS ]
%%{init: {'flowchart': {'wrappingWidth': 350}}}%%
flowchart TB
    BOND["bond0 (LACP Trunk)"]
    V10["bond0.10 (VLAN 10)<br/>Management: 10.10.10.50/24"]
    V20["bond0.20 (VLAN 20)<br/>DMZ: 10.10.20.1/24"]
    V30["bond0.30 (VLAN 30)<br/>Storage: 10.10.30.50/24"]

    BOND --> V10 --> V20 --> V30

4. Deklarative Konfiguration mit systemd-networkd

Auf Debian-Servern erfolgt die Konfiguration strukturiert in /etc/systemd/network/:

Schritt 1: Virtuelles Bond-Device definieren (10-bond0.netdev)

# Datei: /etc/systemd/network/10-bond0.netdev
[NetDev]
Name=bond0
Kind=bond

[Bond]
Mode=802.3ad
TransmitHashPolicy=layer3+4
MIIMonitorSec=100ms
LACPTransmitRate=fast
UpDelaySec=200ms
DownDelaySec=200ms

Schritt 2: VLAN-NetDevs definieren

# Datei: /etc/systemd/network/20-vlan10.netdev
[NetDev]
Name=bond0.10
Kind=vlan

[VLAN]
Id=10
# Datei: /etc/systemd/network/20-vlan30.netdev
[NetDev]
Name=bond0.30
Kind=vlan

[VLAN]
Id=30

Schritt 3: Physische Karten an das Bond binden

# Datei: /etc/systemd/network/30-eno1.network
[Match]
Name=eno1

[Network]
Bond=bond0
# Datei: /etc/systemd/network/30-eno2.network
[Match]
Name=eno2

[Network]
Bond=bond0

Schritt 4: Den bond0-Trunk konfigurieren

# Datei: /etc/systemd/network/40-bond0.network
[Match]
Name=bond0

[Network]
# VLANs an den Trunk anheften
VLAN=bond0.10
VLAN=bond0.30
BindCarrier=eno1 eno2
LinkLocalAddressing=no

Schritt 5: IPs und Jumbo Frames zuweisen

# Datei: /etc/systemd/network/50-bond0.10-mgmt.network
[Match]
Name=bond0.10

[Network]
Address=10.10.10.50/24
Gateway=10.10.10.1
DNS=10.10.10.1
# Datei: /etc/systemd/network/50-bond0.30-storage.network
[Match]
Name=bond0.30

[Network]
Address=10.10.30.50/24

[Link]
# Jumbo Frames für schnelle Ceph/NFS-Datenübertragung
MTUBytes=9000

Konfiguration aktivieren:

sudo networkctl reload
networkctl status bond0

5. Live-Status im laufenden Betrieb prüfen

Den genauen LACP-Status und die Aushandlung mit dem Switch im Dateisystem abfragen:

cat /proc/net/bonding/bond0

Wichtige Felder: * Bonding Mode: IEEE 802.3ad Dynamic link aggregation * Transmit Hash Policy: layer3+4 (1) * MII Status: up * Partner Mac Address: Muss die echte MAC des Switches anzeigen (steht hier 00:00:00:00:00:00, fehlt LACP auf dem Switchport!). * Aggregator ID: Muss für beide Schnittstellen identisch sein.

# VLAN-Subinterfaces kompakt anzeigen
ip -br link show type vlan

6. Nächste Schritte

Mit redundanten Netzwerkkarten und isolierten VLANs ist das Host-Fundament gelegt. Im nächsten Schritt geht es um die Netzwerk-Virtualisierung innerhalb des Kernels:

  • Netzwerk-Namespaces (ip netns), veth & Bridges


    Virtuelle Patchkabel (veth), isolierte Netzwerk-Stacks (ip netns) und Layer-2-Software-Switches verstehen.

    Zum Namespaces & Bridges Leitfaden