Metainformationen zur Seite
  •  

Zwei Netzwerkkarten bündeln

Wiki Netzwerkkarten bündel

HowTo NIC Bonding Debian


Unter Linux (Ubuntu, Debian) lassen sich zwei Netzwerkkarten so zusammenführen, dass diese die Netzwerklast teilen (load blancing) oder/und eine Karte als redundate Leitung (Ausfallsicherheit) genutzt werden kann.

Damit die Bündelung der Netzwerkkarten funktioniert, muss der Kernel dies unterstützen. Dies lässt sich wie folgt überprüfen.

# Befehl
find /lib/modules/`uname -r` -iname bonding*
 
#Ausgabe Beispiel. Am Ende sollte bonding.ko stehen.
/lib/modules/4.15.0-52-generic/kernel/drivers/net/bonding
/lib/modules/4.15.0-52-generic/kernel/drivers/net/bonding/bonding.ko

Auf folgendem Weg kann die installierte Netzwerkkarte(n) angezeigt werden.

# Befehl
ls -l /sys/class/net
 
# Anzeige Beispiel
insgesamt 0
lrwxrwxrwx 1 root root 0 Sep  8 00:49 enp2s0f0 -> ../../devices/pci0000:00/0000:00:02.5/0000:02:00.0/net/enp2s0f0
lrwxrwxrwx 1 root root 0 Sep  8 00:49 enp2s0f1 -> ../../devices/pci0000:00/0000:00:02.5/0000:02:00.1/net/enp2s0f1
lrwxrwxrwx 1 root root 0 Sep  7 11:47 lo -> ../../devices/virtual/net/lo
lrwxrwxrwx 1 root root 0 Sep  7 11:47 virbr0 -> ../../devices/virtual/net/virbr0
lrwxrwxrwx 1 root root 0 Sep  7 11:47 virbr0-nic -> ../../devices/virtual/net/virbr0-nic
 
# Befehl (Weitere Möglichkeit)
/sbin/ifconfig -a
 
# Anzeige Beispiel
enp2s0f0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.1.167  netmask 255.255.255.0  broadcast 192.168.1.255
        inet6 fe80::ba83:3ff:fe54:8d54  prefixlen 64  scopeid 0x20<link>
        ether b8:83:03:54:8d:54  txqueuelen 1000  (Ethernet)
        RX packets 25545822  bytes 30681634566 (30.6 GB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 41142342  bytes 47614361854 (47.6 GB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
        device interrupt 33
 
enp2s0f1: flags=4098<BROADCAST,MULTICAST>  mtu 1500
        ether b8:83:03:54:8d:55  txqueuelen 1000  (Ethernet)
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 0  bytes 0 (0.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
        device interrupt 36
 
lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0
        inet6 ::1  prefixlen 128  scopeid 0x10<host>
        loop  txqueuelen 1000  (Lokale Schleife)
        RX packets 268  bytes 22837 (22.8 KB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 268  bytes 22837 (22.8 KB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
 
virbr0: flags=4099<UP,BROADCAST,MULTICAST>  mtu 1500
        inet 192.168.123.1  netmask 255.255.255.0  broadcast 192.168.123.255
        ether 52:54:00:02:e1:f0  txqueuelen 1000  (Ethernet)
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 0  bytes 0 (0.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
 
virbr0-nic: flags=4098<BROADCAST,MULTICAST>  mtu 1500
        ether 52:54:00:02:e1:f0  txqueuelen 1000  (Ethernet)
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 0  bytes 0 (0.0 B)

Folgende Tool und Programme werden benötigt und sollten installiert werden (Falls nicht schon vorhanden).

sudo apt-get install ifenslave           # Unter Ubuntu 18.04.3 LTS bereits installiert.
sudo apt-get install net-tools ethtool   # Unter Ubuntu 18.04.3 LTS bereits installiert.
sudo apt-get install bmon                # Fehlt unter Ubuntu 18.04.3 LTS

Vor dem Versuch, zwei Netzwerkkarten zu bündeln, sollte die Integrität und Funktionalität jeder Karte geprüft werden. Das Verwenden des Mii-Tools sollte etwa Folgendes zeigen:

# Befehl
sudo mii-tool enp2s0f0                    # Netzwerkkarte, Name wie oben angezeigt.
 
# Ausgabe Beispiel
enp2s0f0: negotiated 1000baseT-HD flow-control, link ok