Nota:

Crea obbligazioni di rete utilizzando Network Manager CLI

Introduzione

Un collegamento di rete raggruppa più interfacce di rete fisiche su un sistema in una singola interfaccia di gruppo logico e è connesso a uno switch di rete. L'obbligazione può facilitare una maggiore disponibilità della connessione attraverso la ridondanza mantenendo la connessione se un collegamento nel gruppo di obbligazioni non riesce. Inoltre, l'aggregazione dell'interfaccia di rete fisica garantisce un maggiore throughput mediante il bilanciamento del carico del traffico tra le interfacce nel collegamento. Questo laboratorio consente di utilizzare la utility NMCLI per creare un'interfaccia di collegamento di rete con più interfacce fisiche, modificarne la modalità di collegamento ed eliminare l'interfaccia di collegamento.

Obiettivi

In questo laboratorio imparerai a:

Nota: le procedure di questa esercitazione seguono i suggerimenti di Oracle Engineering.

Prerequisiti

Crea interfaccia obbligazioni

L'istanza utilizzata in questo ambiente di laboratorio è un'istanza cloud Oracle Linux 8, con quattro interfacce di rete disponibili. È possibile creare un'interfaccia di collegamento utilizzando tre di queste interfacce di rete. Tutte le interfacce si trovano sulla stessa subnet privata della rete cloud virtuale.

Nota: è possibile guardare un video gratuito che mostra come viene creata l'interfaccia di collegamento seguendo il collegamento nella sezione Per ulteriori informazioni al termine dell'esercitazione.

  1. Seguire le istruzioni riportate in Oracle Linux Lab Basics per stabilire una connessione SSH ed eseguire il login all'istanza di sistema laboratorio.

    Le sezioni seguenti mostrano come stabilire la connessione SSH all'istanza.

    • Copia indirizzo IP pubblico
    • Esegue la connessione all'istanza Oracle Linux
    ssh oracle@<ip address of instance>
    
  2. Creare un'interfaccia di legame. Impostare il nome della connessione del collegamento su Bondconn1 e il nome dell'interfaccia su bond0.

    sudo nmcli connection add type bond con-name "Bondconn1" ifname bond0
    
  3. Visualizzare il nuovo vincolo creato.

    sudo nmcli connection
    

    Output di esempio:

    NAME       UUID                                  TYPE      DEVICE 
    Bondconn1    6a5605dc-49ad-4f8d-8e10-7c130b95aba7  bond      bond0  
    System ens3  21d47e65-8523-1a06-af22-6f121086f085  ethernet  ens3 
    
  4. Visualizzare il file di configurazione dei vincoli per visualizzare informazioni dettagliate sulla nuova interfaccia dei vincoli.

    sudo nmcli connection show "Bondconn1"
    

    Nota: utilizzare il tasto 'space' per passare alla pagina successiva di informazioni nell'output. Utilizzare il tasto 'q' per uscire dall'output e tornare alla riga di comando.

    Output di esempio parziale:

    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
    

    Acquisire familiarità con l'individuazione delle informazioni nell'output, ad esempio l'ID del vincolo, l'UUID, il nome dell'interfaccia, le impostazioni IP e la modalità del legame utilizzata.

Modificare la modalità Obbligazione

La modalità di legame indica come l'interfaccia di legame distribuisce il traffico sui suoi collegamenti e come gestisce il fallimento di uno o più collegamenti nel gruppo di obbligazioni modificando il comportamento del bilanciamento del carico e del failover del dispositivo.

  1. Modificare la modalità del collegamento utilizzata dall'interfaccia del collegamento da Round Robin a Active Backup utilizzando l'opzione del comando bond.options "mode=active-backup".

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

    Nota: le modalità supportate sono Round Robin (balance-rr), Active Backup (backup attivo), XOR (balance-xor), Broadcast (broadcast), 802.3ad (802.3ad), Adaptive Broadcast Load Balancing (balance-tlb) e Adaptive Load Balancing (balance-alb).

    Puoi trovare ulteriori dettagli sul funzionamento delle varie modalità di legame in questo link di documentazione:

    Documento:Oracle Linux 8 - Utilizzo del collegamento di rete

  2. Visualizzare le informazioni dettagliate per la nuova interfaccia dei vincoli per visualizzare la modalità dei vincoli modificata.

    sudo nmcli connection show "Bondconn1"
    

    Output di esempio parziale:

    ...
    ...
    ...
    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. Visualizzare le informazioni sull'interfaccia del dispositivo di rete sul sistema.

    sudo nmcli device
    

    Output di esempio:

    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                              --
    

    Sono elencati l'interfaccia di collegamento e quattro dispositivi di rete. I dispositivi ens5, ens6, ens7 sono elencati come 'disconnesso'. Questi dispositivi possono essere utilizzati come collegamenti di interfaccia per l'interfaccia di legame.

  2. Aggiungere l'interfaccia ens5 come collegamento per il gruppo di interfaccia dei vincoli.

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

    Output di esempio:

    Connection 'bond0-if1' (56e98603-099c-46d1-acd5-1268e4ef9005) successfully added.
    
  3. Aggiungere l'interfaccia ens6 come secondo collegamento per il gruppo di interfaccia dei vincoli.

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

    Output di esempio:

    Connection 'bond0-if2' (577a9de4-43f4-46c7-9b29-dc51ef0f7c65) successfully added.
    
  4. Visualizzare le informazioni sull'interfaccia del dispositivo di rete sul sistema.

    sudo nmcli device
    

    Output di esempio:

    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                              --
    

    I due collegamenti sono ora associati all'interfaccia dei vincoli.

Configurare l'indirizzo IP sull'interfaccia Bond

Per impostazione predefinita, il collegamento è configurato per utilizzare DHCP. Le informazioni sull'assegnazione degli indirizzi IP, sul gateway e sulla risoluzione della rete possono essere configurate sull'interfaccia logica del collegamento.

  1. Use the command ip addrto verify that bond0 reports its status as UP.

    ip addr
    

    Output di esempio:

    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
    
    • Se l'output mostra bond0 come DOWN, eseguire il comando sudo nmcli connection up "Bondconn1" per modificarne lo stato in UP.

      sudo nmcli connection up "Bondconn1"
      

      Output di esempio:

      Connection successfully activated (master waiting for slaves) (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/61)
      
  2. Assegnare l'indirizzo IP e la maschera di sottorete di '192.168.1.10/24' all'interfaccia bond0 con l'opzione del comando ipv4.addresses.

    sudo nmcli connection modify "Bondconn1" ipv4.addresses '192.168.1.10/24'
    
  3. Impostare il metodo di assegnazione dell'indirizzo IP su Manuale. In questo modo viene configurato l'indirizzo IP e la maschera per l'interfaccia dei vincoli.

    sudo nmcli connection modify "Bondconn1" ipv4.method manual
    
  4. Visualizzare le informazioni di rete di livello tre per il sistema.

    All'interfaccia bond0 è ora assegnato un indirizzo IP.

    ip addr
    

    Output di esempio parziale:

    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. Assegnare l'ultimo dispositivo di rete ens7 non assegnato all'interfaccia bond0.

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

    L'output del comando mostra che le interfacce di collegamento sono state aggiunte correttamente.

  2. Visualizzare le informazioni sull'interfaccia del dispositivo di rete sul sistema.

    sudo nmcli device
    

    Output di esempio:

    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  --
    

    L'output mostra il terzo dispositivo di rete collegato all'interfaccia del collegamento.

  3. Visualizzare le informazioni sulla configurazione dei vincoli.

    Vengono visualizzate informazioni sul vincolo, sul relativo stato e sulle interfacce di collegamento nel gruppo di obbligazioni e sul relativo stato.

    cat /proc/net/bonding/bond0
    

    Output di esempio:

    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
    

    L'output mostra la configurazione e lo stato dei vincoli, inclusi i collegamenti dei vincoli attivi, le relative informazioni e il loro stato.

Per rimuovere l'interfaccia di legame, prima rimuovere i collegamenti di legame.

Attenzione: non eliminare un'interfaccia di collegamento con collegamenti di interfaccia attivi collegati.

  1. Utilizzare il comando sudo nmcli connection delete e aggiungere il nome dell'interfaccia del collegamento. Iniziare rimuovendo la connessione bond0-if3 e quindi ripetere l'azione per le interfacce di collegamento rimanenti.

    Nota: l'ordine di eliminazione dei collegamenti alle obbligazioni non è importante.

    sudo nmcli connection delete bond0-if3
    

    Output di esempio:

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

    Output di esempio:

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

    Output di esempio:

    Connection 'bond0-if1' (56e98603-099c-46d1-acd5-1268e4ef9005) successfully deleted.
    
  2. Utilizzare il comando sudo nmcli device per verificare che i dispositivi siano stati disconnessi.

    sudo nmcli device
    

    Output di esempio:

    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     -- 
    

Elimina interfaccia obbligazioni

Prima di eliminare l'interfaccia del collegamento, impostare la connessione allo stato down con il comando sudo nmcli connection down.

  1. Esegue la transizione dell'interfaccia di legame.

    sudo nmcli connection down "Bondconn1"
    

    Output di esempio:

    Connection 'Bondconn1' successfully deactivated (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/86)
    
  2. Utilizzare il comando ip addr per verificare che l'interfaccia del collegamento sia stata rimossa.

    ip addr
    

    L'output mostra che l'interfaccia di legame non è più elencata.

  3. Utilizzare il comando sudo nmcli connection delete insieme al nome dell'interfaccia del collegamento per eliminare l'interfaccia del collegamento.

    sudo nmcli connection delete "Bondconn1"
    

    Output di esempio:

    Connection 'Bondconn1' (a3d42efc-52ba-474a-9eea-67a4342420df) successfully deleted.
    
  4. Utilizzare il comando sudo nmcli connection per verificare.

    sudo nmcli connection
    

    Output di esempio:

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

    L'output mostra che l'unica connessione è ens3.

  5. Visualizzare il file di configurazione dei vincoli.

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

    Nota: l'eliminazione dell'interfaccia del collegamento comporta anche la rimozione del file di configurazione.

Per informazioni aggiuntive

Vedere altre risorse correlate:

Altre risorse di apprendimento

Esplora altri laboratori su docs.oracle.com/learn o accedi ad altri contenuti per la formazione gratuita sul canale YouTube di Oracle Learning. Inoltre, visitare education.oracle.com/learning-explorer per diventare Oracle Learning Explorer.

Per la documentazione sul prodotto, visitare Oracle Help Center.