Ubuntu: ethX-Schnittstelle nicht verbunden, nachdem das Kabel abgezogen und wieder eingesteckt wurde

Ubuntu: ethX-Schnittstelle nicht verbunden, nachdem das Kabel abgezogen und wieder eingesteckt wurde

Ich versuche, eine Failback-Konfiguration in Bonding einzurichten, komme aber nicht um die Schnittstellenkonfiguration herum. Meine Schnittstelle sieht folgendermaßen aus:

auto bond0
iface bond0 inet static
       address 192.168.1.39
       netmask 255.255.255.0
       up /sbin/ifenslave bond0 eth1 eth3
       down /sbin/ifenslave -d bond0 eth1 eth3

Meine Datei /etc/modprobe.d/bonding.conf ist:

alias bond0 bonding
options bonding mode=3

Ich teste es, indem ich von einem anderen System aus einen Ping ausführe. Mein Bond-Status ist wie folgt:

Ethernet Channel Bonding Driver: v3.7.1 (April 27, 2011)
Bonding Mode: fault-tolerance (broadcast)
MII Status: up
MII Polling Interval (ms): 0
Up Delay (ms): 0
Down Delay (ms): 0

Slave Interface: eth1
MII Status: up
Speed: 1000 Mbps
Duplex: full
Link Failure Count: 0
Permanent HW addr: 44:a8:42:03:68:2c
Slave queue ID: 0

Slave Interface: eth3
MII Status: up
Speed: 1000 Mbps
Duplex: full
Link Failure Count: 0
Permanent HW addr: 44:a8:42:03:68:2c
Slave queue ID: 0

Wenn ich das eth1-Kabel entferne, funktioniert das Failover und eth3 führt die Daten aus (der Ping wird weiterhin ausgeführt).

Wenn ich eth1 wieder verbinde und eth3 entferne, stoppt der Ping und der Bonding-Status enthält keine Angaben zur Schnittstelle. Der Bond-Status lautet:

Ethernet Channel Bonding Driver: v3.7.1 (April 27, 2011)
Bonding Mode: fault-tolerance (broadcast)
MII Status: up
MII Polling Interval (ms): 0
Up Delay (ms): 0
Down Delay (ms): 0

Ich habe es mit allen Modi in der Verbindung (0 bis 6) versucht. Aber keine der Konfigurationen bietet Failback-Unterstützung. Was mache ich falsch?

Antwort1

BEARBEITEN 10.01.2019:Diese Anweisungen gelten für Ubuntu 16.04 und älter. Ich werde versuchen, sie mit Anweisungen für 18.04 zu aktualisieren.

In dieser Antwort verwenden wir active-backupBonding mit einem bond-primarySchnittstellensatz, der ein Failover ermöglicht, um zur primären Schnittstelle zurückzukehren, wenn diese verfügbar ist. Weitere Informationen finden Sie unter:https://wiki.linuxfoundation.org/networking/bonding


Bonding in Ubuntu ist ein anderes Setup als in anderen Linux-Distributionen wie RedHat. Ich habe einige Bonding-Konfigurationen in Ubuntu durchgeführt und werde sie unten so gut wie möglich darlegen.

Wie es aussieht, haben Sie es bereits ifenslaveinstalliert. Falls nicht, installieren Sie bitte Folgendes ifenslave:

sudo apt-get install ifenslave

Sehen Sie sich als Nächstes an /etc/modulesund stellen Sie sicher, dass es die folgenden Zeilen enthält:

loop
lp
rtc
bonding

Legen Sie in der /etc/network/interfacesDatei Ihre loopback, eth1, und eth3-Schnittstellen fest:

auto lo
    iface lo inet loopback

auto eth1
    iface eth1 inet manual
    bond-master bond0
    bond-primary eth1

auto eth3
    iface eth3 inet manual
    bond-master bond0

Richten Sie Ihre bond0Schnittstelle nun active-backupfür den Fall eines Failovers ein, wenn eine der NIC-Verbindungen fehlschlägt:

auto bond0
    iface bond0 inet static
    address 192.168.1.39
    netmask 255.255.255.0
    network 192.168.1.0
    broadcast 192.168.1.255
    gateway 192.168.1.1
    bond-mode active-backup
    bond-miimon 100
    bond-slaves none

Speichern Sie die Änderungen in /etc/network/interfacesder Datei und starten Sie Ihren Netzwerkdienst neu:

sudo /etc/init.d/networking restart

Jetzt können Sie Ihr Bonding-Setup überprüfen. Stellen Sie sicher, dass Ihre bond0, eth1und eth3korrekt sind:

sudo ethtool bond0
sudo ethtool eth1
sudo ethtool eth3

Überprüfen Sie, ob das Failover jetzt funktioniert, indem Sie eth1Folgendes entfernen bond0:

sudo ifenslave -d bond0 eth1

Überprüfen Sie, ob Sie das Gateway immer noch anpingen können:

ping -c2 192.168.1.1

Zurück hinzufügen eth1zu bond0:

sudo ifenslave bond0 eth1

Hoffe das hilft!

verwandte Informationen