Configurazione di LACP su Ubuntu 18.04 e Ubuntu 20.04

Configurazione di LACP su Ubuntu 18.04 e Ubuntu 20.04

Dopo aver installato Ubuntu 18.04/20.04 è possibile utilizzare la seguente guida per configurare LACP sul server.

 

Prima di iniziare:
È molto comodo essere root durante la configurazione della rete su un server, per diventare root su Ubuntu ti consigliamo di eseguire sudo -i (per le attività locali, sudo -e se ti stai connettendo a un altro server).

Affinché LACP funzioni, è necessario configurare anche LACP sullo switch, in tal caso ti informeremo.

Passaggio 1: trovare le interfacce
Esegui il seguente comando: ip link

Vedrai un elenco di interfacce, puoi ignorare l'interfaccia lo, se rimane solo due interfacce, quelle interfacce devono essere configurate. Se rimangono più di due interfacce, LACP dovrebbe generalmente essere configurato sulle prime due interfacce.

root@elias-demo:~# ip link
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: eno1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP mode DEFAULT group default qlen 1000
link/ether 3c:a8:2a:24:f0:90 brd ff:ff:ff:ff:ff:ff
3: eno2: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN mode DEFAULT group default qlen 1000
link/ether 3c:a8:2a:24:f0:94 brd ff:ff:ff:ff:ff:ff


Passaggio 2: creazione della configurazione


Su Ubuntu 18.04 dopo l'installazione il file di configurazione di rete si troverà in: /etc/netplan/01-netcfg.yaml

Usa il tuo editor preferito per modificare questo file (esempio: nano /etc/netplan/01-netcfg.yaml).

Crea la configurazione, esempio:

# /etc/netplan/01-netcfg.yaml
network:
  version: 2
  renderer: networkd
  ethernets:
    eno1:
      dhcp4: no
    eno2:
      dhcp4: no
  bonds:
    bond0:
      interfaces: [eno1, eno2]
      addresses: [192.168.2.2/24]
      gateway4: 192.186.2.1
      parameters:
        mode: 802.3ad
        transmit-hash-policy: layer3+4
        mii-monitor-interval: 1
      nameservers:
        addresses:
          - "8.8.8.8"
          - "9.9.9.9"


Informazioni sulla configurazione:

  • Dovresti sostituire eno1 ed eno2 con le interfacce che vuoi rendere membri, puoi anche definire più interfacce e avere più di due interfacce nel legame, devi disattivare dhcp4 su tutte.
  • Dovresti sostituire l'indirizzo IP e il gateway con le tue informazioni, puoi trovare queste informazioni nel nostro portale clienti se questo è gestito da noi.
  • YAML è molto sensibile all'indentazione errata. Per questo motivo, consigliamo di utilizzare 2 spazi per livello di rientro (non utilizzare tabulazioni /!\), questo rende facile trovare il corretto rientro per una riga.
  • Puoi sostituire gli indirizzi dei nameserver (8.8.8.8, 9.9.9.9) con i tuoi resolver DNS preferiti.
  • Per prestazioni ottimali, è molto importante includere transmit-hash-policy: layer3+4 nel file di configurazione. Questa impostazione influisce sul bilanciamento del carico, per impostazione predefinita è impostato su layer2, ciò significa che tutto il traffico verso lo stesso indirizzo mac (che il nostro router avrà sempre) uscirà sulla stessa interfaccia, limitando le prestazioni. Impostandolo su layer3+4 suddividerà il traffico in base all'IP src/dst e alla porta src/dst, il che si traduce in un bilanciamento del carico molto migliore.


Passaggio 3 - Applicazione della configurazione


Per applicare la configurazione appena creata dobbiamo eseguire: netplan apply. Per le configurazioni senza vincoli, puoi anche utilizzare netplan try, avvierà un timer e se l'utente non fornisce alcun input nel terminale (connessione persa) la configurazione verrà ripristinata.

Passaggio 4: verifica della configurazione


Per assicurarsi che i passaggi precedenti abbiano ottenuto il risultato desiderato, ci sono alcune cose che puoi fare per verificare la configurazione:

  • Esegui il comando ip link (di nuovo). L'output dovrebbe mostrare una nuova interfaccia: ora dovrebbe essere presente anche bond0. Se sostituisci il link con l'indirizzo per ottenere l'indirizzo IP dovresti anche vedere l'indirizzo IP che hai inserito apparire nell'output di questo comando. Esempio:
    root@elias-demo:~# ip address
    1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
        link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
        inet 127.0.0.1/8 scope host lo
           valid_lft forever preferred_lft forever
        inet6 ::1/128 scope host 
           valid_lft forever preferred_lft forever
    2: eno1: <BROADCAST,MULTICAST,SLAVE,UP,LOWER_UP> mtu 1500 qdisc mq master bond0 state UP group default qlen 1000
        link/ether 72:d6:bf:b4:18:8c brd ff:ff:ff:ff:ff:ff
    3: eno2: <BROADCAST,MULTICAST,SLAVE,UP,LOWER_UP> mtu 1500 qdisc mq master bond0 state UP group default qlen 1000
        link/ether 72:d6:bf:b4:18:8c brd ff:ff:ff:ff:ff:ff
    4: bond0: <BROADCAST,MULTICAST,MASTER,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
        link/ether 72:d6:bf:b4:18:8c brd ff:ff:ff:ff:ff:ff
        inet 192.168.2.2/24 brd 192.168.2.255 scope global bond0
           valid_lft forever preferred_lft forever
        inet6 fe80::70d6:bfff:feb4:188c/64 scope link 
           valid_lft forever preferred_lft forever​

     

  • Esegui cat /proc/net/bonding/bond0, questo mostrerà molte informazioni sull'interfaccia bond0. Ecco alcune delle linee chiave e cosa significano:

    • Bonding Mode: IEEE 802.3ad Dynamic link aggregation
      Mostra che il legame è configurato con 802.3ad (LACP), in questo modo negozia con il nostro switch.

    • Transmit Hash Policy: layer3+4 (1)
      Mostra che la modalità di hashing del legame è impostata su layer3+4, questo significa che è configurata correttamente nel nostro caso.

    • Dovresti anche vedere un indirizzo mac (indirizzo mac di sistema) nelle sezioni dell'interfaccia slave nei dettagli partner lacp pdu.

  • Esegui ping 8.8.8.8 o un altro IP che ha una bassa probabilità di essere offline. Ciò confermerà la connettività Internet, per impostazione predefinita il firewall consentirà questo tipo di traffico in uscita. Se noti numeri icmp_seq mancanti, potrebbe esserci una perdita di pacchetti, contatta il nostro supporto a riguardo.

     

  • Puoi anche controllare l'interfaccia usando ethtool bond0, vedrai la velocità dell'interfaccia lì dentro, questo dovrebbe corrispondere alla somma delle due interfacce configurate, esempio: Speed: 20000Mb/s

Suggerimento professionale:

La nostra rete è stata configurata per accettare connessioni indipendentemente dal fatto che LACP sia stato impostato sul server, ciò significa che puoi impostare temporaneamente un indirizzo IP sul tuo server in modo da poter copiare le informazioni da questo tutorial, modificarle nel tuo editor di testo e quindi incollalo sul server, questo diminuisce la possibilità di errori di battitura :)

Puoi configurare rapidamente la rete per SSH eseguendo i seguenti comandi (sostituisci le informazioni IP con le informazioni per il tuo server)

ip addr add 192.168.2.2/24 dev eno1
ip route add default via 192.168.2.1
echo 'nameserver' > /etc/resolv.conf

Nel caso in cui dovessi riscontrare ancora problemi, non esitare a contattare il nostro supporto in merito!

  • networking, bonding, linux, lacp, ubuntu 12
  • 50 Utenti hanno trovato utile questa risposta
Hai trovato utile questa risposta?