Hinweis:

Netzwerkanleihen mit Network Manager-CLI erstellen

Einführung

Eine Netzwerk-Bonding gruppiert mehrere physische Netzwerkschnittstellen in einem System in einer einzelnen logischen Gruppenschnittstelle und ist mit einem Netzwerk-Switch verbunden. Das Bonding kann eine höhere Verbindungsverfügbarkeit durch Redundanz ermöglichen, indem die Verbindung beibehalten wird, wenn ein Link in der Bond-Gruppe ausfällt. Außerdem bietet die Aggregation der physischen Netzwerkschnittstelle einen höheren Durchsatz, indem der Datenverkehr über die Schnittstellen in der Bindung verteilt wird. In dieser Übung erstellen Sie mit dem NMCLI-Utility eine Netzwerk-Bonding-Schnittstelle mit mehreren physikalischen Schnittstellen, ändern den Bond-Modus und löschen die Bond-Schnittstelle.

Ziele

In dieser Übung lernen Sie Folgendes:

Hinweis: Die Verfahren in diesem Tutorial folgen den Empfehlungen von Oracle Engineering.

Voraussetzungen

Bond-Schnittstelle erstellen

In dieser Übungsumgebung wird eine Oracle Linux 8-Cloud-Instanz verwendet, wobei vier Netzwerkschnittstellen verfügbar sind. Sie erstellen eine Bond-Schnittstelle mit drei dieser Netzwerkschnittstellen. Alle Schnittstellen befinden sich im gleichen privaten Subnetz des virtuellen Cloud-Netzwerks.

Hinweis: Sie können sich ein kostenloses Video ansehen, das zeigt, wie die Bond-Schnittstelle erstellt wird, indem Sie auf den Link im Abschnitt Weitere Informationen am Ende des Tutorials klicken.

  1. Befolgen Sie die Anweisungen unter Oracle Linux Lab - Grundlagen, um eine SSH-Verbindung herzustellen und sich bei Ihrer Übungssysteminstanz anzumelden.

    In den folgenden Abschnitten wird dargestellt, wie Sie die SSH-Verbindung zur Instanz herstellen.

    • Öffentliche IP-Adresse kopieren
    • Verbindung mit Oracle Linux-Instanz herstellen
    ssh oracle@<ip address of instance>
    
  2. Erstellen Sie eine Bond-Schnittstelle. Setzen Sie den Verbindungsnamen der Bindung auf Bondconn1 und den Schnittstellennamen auf bond0.

    sudo nmcli connection add type bond con-name "Bondconn1" ifname bond0
    
  3. Zeigen Sie die neu erstellte Anleihe an.

    sudo nmcli connection
    

    Beispielausgabe:

    NAME       UUID                                  TYPE      DEVICE 
    Bondconn1    6a5605dc-49ad-4f8d-8e10-7c130b95aba7  bond      bond0  
    System ens3  21d47e65-8523-1a06-af22-6f121086f085  ethernet  ens3 
    
  4. Zeigen Sie die Bond-Konfigurationsdatei an, um detaillierte Informationen für die neue Bond-Schnittstelle anzuzeigen.

    sudo nmcli connection show "Bondconn1"
    

    Hinweis: Mit der Leertaste fahren Sie mit der nächsten Informationsseite in der Ausgabe fort. Verwenden Sie die Taste 'q', um die Ausgabe zu beenden und zur Befehlszeile zurückzukehren.

    Partielle Beispielausgabe:

    connection.id:                          Bondconn1
    connection.uuid:                        e8092374-4397-4452-bc55-2f64c506b518
    connection.stable-id:                   --
    connection.type:                        bond
    connection.interface-name:              bond0
    connection.autoconnect:                 yes
    connection.autoconnect-priority:        0
    connection.autoconnect-retries:         -1 (default)
    connection.multi-connect:               0 (default)
    ...
    ...
    bond.options:                           mode=balance-rr
    proxy.method:                           none
    proxy.browser-only:                     no
    proxy.pac-url:                          --
    proxy.pac-script:                       --
    GENERAL.NAME:                           Bondconn1
    GENERAL.UUID:                           37845378-f29a-4b10-8107-49b9f5a0f564
    GENERAL.DEVICES:                        bond0
    GENERAL.IP-IFACE:                       --
    GENERAL.STATE:                          activating
    ...
    ...
    connection.master:                      --
    connection.slave-type:                  --
    connection.autoconnect-slaves:          -1 (default)
    connection.secondaries:                 --
    connection.gateway-ping-timeout:        0
    connection.metered:                     unknown
    connection.lldp:                        default
    connection.mdns:                        -1 (default)
    connection.llmnr:                       -1 (default)
    connection.wait-device-timeout:         -1
    ipv4.method:                            auto
    lines 1-25
    

    Machen Sie sich mit der Suche nach Informationen in der Ausgabe vertraut, wie z.B. Bond-ID, UUID, Schnittstellenname, IP-Einstellungen und den verwendeten Bond-Modus.

Bond-Modus ändern

Der Bond-Modus gibt an, wie die Bond-Schnittstelle den Traffic über ihre Links verteilt und wie sie den Ausfall einer oder mehrerer Links in der Bond-Gruppe durch Änderung des Verhaltens von Load Balancing und Geräte-Failover behandelt.

  1. Ändern Sie den von der Bond-Schnittstelle verwendeten Bond-Modus mit der Befehlsoption bond.options "mode=active-backup" von Round Robin in Active Backup.

    sudo nmcli connection modify Bondconn1 bond.options "mode=active-backup"
    

    Hinweis: Die unterstützten Modi sind Round-Robin (balance-rr), Active Backup (active-backup), XOR (balance-xor), Broadcast (broadcast), 802.3ad (802.3ad), Adaptive Transmission Load Balancing (balance-tlb) und Adaptive Load Balancing (balance-alb).

    Weitere Informationen zur Funktionsweise der verschiedenen Bond-Modi finden Sie unter diesem Dokumentationslink:

    Dokument:Oracle Linux 8 - Mit Netzwerk-Bonding arbeiten

  2. Zeigen Sie die Detailinformationen für die neue Bond-Schnittstelle an, um den geänderten Bond-Modus anzuzeigen.

    sudo nmcli connection show "Bondconn1"
    

    Partielle Beispielausgabe:

    ...
    ...
    ...
    cipv6.dhcp-timeout:                      0 (default)
    ipv6.dhcp-send-hostname:                yes
    ipv6.dhcp-hostname:                     --
    ipv6.dhcp-hostname-flags:               0x0 (none)
    ipv6.token:                             --
    bond.options:                           mode=active-backup
    proxy.method:                           none
    proxy.browser-only:                     no
    proxy.pac-url:                          --
    lines 56-80
    
  1. Zeigen Sie die Netzwerkgeräte-Schnittstelleninformationen im System an.

    sudo nmcli device
    

    Beispielausgabe:

    DEVICE   TYPE      STATE                                  CONNECTION  
    ens3     ethernet  connected                              System ens3 
    bond0    bond      connecting (getting IP configuration)  Bondconn1   
    ens5     ethernet  disconnected                           --          
    ens6     ethernet  disconnected                           --          
    ens7     ethernet  disconnected                           --
    lo       loopback  unmanaged                              --
    

    Die Bond-Schnittstelle und vier Netzwerkgeräte sind aufgelistet. Die Geräte ens5, ens6, ens7 werden als "nicht verbunden" aufgelistet. Diese Geräte können als Schnittstellenverbindungen für die Bond-Schnittstelle verwendet werden.

  2. Fügen Sie die Schnittstelle ens5 als Link für die Bondschnittstellengruppe hinzu.

    sudo nmcli connection add type ethernet slave-type bond con-name bond0-if1 ifname ens5 master bond0
    

    Beispielausgabe:

    Connection 'bond0-if1' (56e98603-099c-46d1-acd5-1268e4ef9005) successfully added.
    
  3. Fügen Sie die Schnittstelle ens6 als zweiten Link für die Bond-Schnittstellengruppe hinzu.

    sudo nmcli connection add type ethernet slave-type bond con-name bond0-if2 ifname ens6 master bond0
    

    Beispielausgabe:

    Connection 'bond0-if2' (577a9de4-43f4-46c7-9b29-dc51ef0f7c65) successfully added.
    
  4. Zeigen Sie die Netzwerkgeräte-Schnittstelleninformationen im System an.

    sudo nmcli device
    

    Beispielausgabe:

    DEVICE  TYPE      STATE                                  CONNECTION  
    ens3    ethernet  connected                              System ens3 
    ens5    ethernet  connected                              bond0-if1   
    ens6    ethernet  connected                              bond0-if2   
    bond0   bond      connecting (getting IP configuration)  Bondconn1   
    ens7    ethernet  disconnected                           --          
    lo      loopback  unmanaged                              --
    

    Die beiden Links sind nun der Bond-Schnittstelle zugeordnet.

IP-Adresse für die Bond-Schnittstelle konfigurieren

Standardmäßig ist die Anleihe für die Verwendung von DHCP konfiguriert. IP-Adresszuweisung, Gateway- und Netzwerkauflösungsinformationen können für die logische Bond-Schnittstelle konfiguriert werden.

  1. Mit dem Befehl ip addr können Sie prüfen, ob bond0 seinen Status als UP meldet.

    ip addr
    

    Beispielausgabe:

    17: bond0: <BROADCAST,MULTICAST,MASTER,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
    link/ether 02:00:17:09:f8:b0 brd ff:ff:ff:ff:ff:ff
    inet6 fe80::cd09:f18d:f202:3ae4/64 scope link noprefixroute 
       valid_lft forever preferred_lft forever
    
    • Wenn in der Ausgabe bond0 als DOWN angezeigt wird, führen Sie den Befehl sudo nmcli connection up "Bondconn1" aus, um den Status in UP zu ändern.

      sudo nmcli connection up "Bondconn1"
      

      Beispielausgabe:

      Connection successfully activated (master waiting for slaves) (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/61)
      
  2. Weisen Sie die IP-Adresse und die Subnetzmaske '192.168.1.10/24' der Schnittstelle bond0 mit der Befehlsoption ipv4.addresses zu.

    sudo nmcli connection modify "Bondconn1" ipv4.addresses '192.168.1.10/24'
    
  3. Legen Sie die IP-Adresszuweisungsmethode auf "Manuell" fest. Dadurch werden die IP-Adresse und die Maske für die Bond-Schnittstelle konfiguriert.

    sudo nmcli connection modify "Bondconn1" ipv4.method manual
    
  4. Zeigen Sie die drei Netzwerkinformationen der Schicht für das System an.

    Der Schnittstelle bond0 ist jetzt eine IP-Adresse zugewiesen.

    ip addr
    

    Partielle Beispielausgabe:

    33: bond0: <BROADCAST,MULTICAST,MASTER,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
        link/ether 00:00:17:01:2f:ef brd ff:ff:ff:ff:ff:ff
        inet 192.168.1.10/24 brd 192.168.1.255 scope global noprefixroute bond0
           valid_lft forever preferred_lft forever
        inet6 fe80::5149:fd05:55e5:9eff/64 scope link noprefixroute 
           valid_lft forever preferred_lft forever
    
  1. Weisen Sie das letzte nicht zugewiesene Netzwerkgerät ens7 der Schnittstelle bond0 zu.

    sudo nmcli conn add type ethernet slave-type bond con-name bond0-if3 ifname ens7 master bond0
    

    Die Befehlsausgabe zeigt, dass die Bond-Schnittstellen erfolgreich hinzugefügt wurden.

  2. Zeigen Sie die Netzwerkgeräte-Schnittstelleninformationen im System an.

    sudo nmcli device
    

    Beispielausgabe:

    DEVICE  TYPE      STATE      CONNECTION  
    ens3    ethernet  connected  System ens3 
    bond0   bond      connected  Bondconn1   
    ens5    ethernet  connected  bond0-if1   
    ens6    ethernet  connected  bond0-if2   
    ens7    ethernet  connected  bond0-if3   
    lo      loopback  unmanaged  --
    

    Die Ausgabe zeigt das dritte an die Bond-Schnittstelle angeschlossene Netzwerkgerät.

  3. Zeigen Sie die Bond-Konfigurationsinformationen an.

    Dies zeigt Informationen über die Anleihe, ihren Status sowie die Verknüpfungsschnittstellen in der Bond-Gruppe und ihren Status.

    cat /proc/net/bonding/bond0
    

    Beispielausgabe:

    Ethernet Channel Bonding Driver: v3.7.1 (April 27, 2011)
    
    Bonding Mode: load balancing (round-robin)
    MII Status: up
    MII Polling Interval (ms): 100
    Up Delay (ms): 0
    Down Delay (ms): 0
    Peer Notification Delay (ms): 0
    
    Slave Interface: ens5
    MII Status: up
    Speed: Unknown
    Duplex: Unknown
    Link Failure Count: 0
    Permanent HW addr: 02:00:17:09:f8:b0
    Slave queue ID: 0
    
    Slave Interface: ens6
    MII Status: up
    Speed: Unknown
    Duplex: Unknown
    Link Failure Count: 0
    Permanent HW addr: 00:00:17:02:a1:10
    Slave queue ID: 0
    
     Slave Interface: ens7
    MII Status: up
    Speed: Unknown
    Duplex: Unknown
    Link Failure Count: 0
    Permanent HW addr: 02:00:17:03:f1:3a
    Slave queue ID: 0
    

    Die Ausgabe zeigt die Bond-Konfiguration und den Status, einschließlich der aktiven Bond-Links, ihrer Informationen und ihres Status.

Um die Bond-Schnittstelle zu entfernen, entfernen wir zuerst die Bond-Links.

Achtung: Löschen Sie keine Bond-Schnittstelle mit aktiven Schnittstellenlinks, die damit verbunden sind.

  1. Verwenden Sie den Befehl sudo nmcli connection delete, und fügen Sie den Namen der Bond Link-Schnittstelle hinzu. Entfernen Sie zunächst die bond0-if3-Verbindung, und wiederholen Sie dann die Aktion für die restlichen Bond-Schnittstellen.

    Hinweis: Die Reihenfolge, in der Sie die Anleiheverknüpfungen löschen, ist nicht wichtig.

    sudo nmcli connection delete bond0-if3
    

    Beispielausgabe:

    Connection 'bond0-if3' (5751ef04-43f4-46c7-9b29-dc51ef0f7c65) successfully deleted.
    
    sudo nmcli connection delete bond0-if2
    

    Beispielausgabe:

    Connection 'bond0-if2' (577a9de4-43f4-46c7-9b29-dc51ef0f7c65) successfully deleted.
    
    sudo nmcli connection delete bond0-if1
    

    Beispielausgabe:

    Connection 'bond0-if1' (56e98603-099c-46d1-acd5-1268e4ef9005) successfully deleted.
    
  2. Verwenden Sie den Befehl sudo nmcli device, um zu prüfen, ob die Geräte getrennt wurden.

    sudo nmcli device
    

    Beispielausgabe:

    DEVICE  TYPE      STATE         CONNECTION  
    ens3    ethernet  connected     System ens3 
    bond0   bond      connected     Bondconn1   
    ens5    ethernet  disconnected  --          
    ens6    ethernet  disconnected  --          
    ens7    ethernet  disconnected  --          
    lo      loopback  unmanaged     -- 
    

Bond-Schnittstelle löschen

Bevor Sie die Bond-Schnittstelle löschen, setzen Sie die Verbindung mit dem Befehl sudo nmcli connection down in den Status down.

  1. Übergang der Bond-Schnittstelle.

    sudo nmcli connection down "Bondconn1"
    

    Beispielausgabe:

    Connection 'Bondconn1' successfully deactivated (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/86)
    
  2. Verwenden Sie den Befehl ip addr, um zu prüfen, ob die Bond-Schnittstelle entfernt wurde.

    ip addr
    

    Die Ausgabe zeigt, dass die Bond-Schnittstelle nicht mehr aufgelistet ist.

  3. Verwenden Sie den Befehl sudo nmcli connection delete zusammen mit dem Bond-Schnittstellennamen, um die Bond-Schnittstelle zu löschen.

    sudo nmcli connection delete "Bondconn1"
    

    Beispielausgabe:

    Connection 'Bondconn1' (a3d42efc-52ba-474a-9eea-67a4342420df) successfully deleted.
    
  4. Verwenden Sie zum Prüfen den Befehl sudo nmcli connection.

    sudo nmcli connection
    

    Beispielausgabe:

    NAME         UUID                                  TYPE      DEVICE 
    System ens3  21d47e65-8523-1a06-af22-6f121086f085  ethernet  ens3
    

    Die Ausgabe zeigt, dass die einzige Verbindung ens3 ist.

  5. Zeigen Sie die Bond-Konfigurationsdatei an.

    cat /proc/net/bonding/bond0
    
    cat: /proc/net/bonding/bond0: No such file or directory
    

    Hinweis: Wenn Sie die Bond-Schnittstelle löschen, wird auch die Konfigurationsdatei entfernt.

Weitere Informationen finden Sie unter

Weitere zugehörige Ressourcen anzeigen:

Weitere Lernressourcen

Sehen Sie sich andere Übungen auf der Website docs.oracle.com/learn an, oder greifen Sie auf Inhalte zu, die Sie über den Oracle Learning-Kanal YouTube benötigen. Besuchen Sie außerdem education.oracle.com/learning-explorer, um Oracle Learning Explorer zu werden.

Produktdokumentation finden Sie unter Oracle Help Center.