GNU/Linux >> Linux Esercitazione >  >> Cent OS

Come configurare il collegamento dell'interfaccia di rete su RHEL 8 / CentOS 8 Linux

Il bonding dell'interfaccia di rete consiste nell'aggregazione di due o più interfacce di rete fisiche, denominate slaves , sotto un'interfaccia logica chiamata master o bond interfaccia. A seconda della modalità di incollaggio, tale configurazione può essere utile per ottenere la tolleranza ai guasti e/o il bilanciamento del carico. In questo tutorial impareremo quali sono le modalità di collegamento disponibili e come creare un collegamento di rete su RHEL 8 / CentOS 8.

In questo tutorial imparerai:

  • Che cos'è il collegamento dell'interfaccia di rete
  • Come configurare il collegamento dell'interfaccia di rete su RHEL 8 / CentOS 8
  • Quali sono le diverse modalità di incollaggio


Lo stato di Bond visto dal kernel Linux

Requisiti e convenzioni software utilizzati

Requisiti software e convenzioni della riga di comando Linux
Categoria Requisiti, convenzioni o versione del software utilizzata
Sistema RHEL 8 / CentOS 8
Software L'utilità nmtui per controllare il demone NetworkManager. L'applicazione è inclusa in un'installazione minima di sistema.
Altro Privilegi di root per modificare le impostazioni di sistema
Convenzioni # – richiede che i comandi linux dati vengano eseguiti con i privilegi di root direttamente come utente root o usando sudo comando
$ – richiede che i comandi linux dati vengano eseguiti come un normale utente non privilegiato

Quale modalità di legame?

Ci sono fondamentalmente 7 modalità di legame che possiamo usare:

Round Robin

I pacchetti sono distribuiti equamente, in ordine sequenziale, a tutte le interfacce slave (dalla prima all'ultima). Questa modalità fornisce sia il bilanciamento del carico che la tolleranza agli errori, ma necessita di supporto sugli switch.

Backup attivo

Viene utilizzata solo l'interfaccia slave primaria. Se fallisce, al suo posto viene utilizzato un altro slave. Fornisce solo tolleranza agli errori; non ci sono requisiti speciali.

XOR (OR esclusivo)

I pacchetti vengono trasmessi e assegnati a una delle interfacce slave in base all'hash degli indirizzi MAC di origine e destinazione, calcolati con la seguente formula:

[(source MAC address XOR’d with destination MAC address) modulo slave count]

Questa modalità fornisce sia la tolleranza agli errori che il bilanciamento del carico.

Trasmissione

Quando viene utilizzata questa modalità, tutti i pacchetti vengono trasmessi su tutte le interfacce slave, fornendo tolleranza agli errori ma non bilanciamento del carico.

802.3ad

Questa modalità utilizza l'aggregazione di collegamenti IEEE 802.3ad che deve essere supportata sugli switch. Crea gruppi di aggregazione che condividono la stessa velocità e le stesse impostazioni duplex. Trasmette e riceve su tutti gli slave nel gruppo attivo. Fornisce sia il bilanciamento del carico che la tolleranza agli errori.

Bilanciamento del carico di trasmissione adattivo

I pacchetti in uscita vengono trasmessi attraverso le interfacce slave a seconda del loro carico e il traffico in entrata viene ricevuto dallo slave corrente. Se quest'ultimo fallisce, un altro slave assume il suo indirizzo MAC. Questa modalità fornisce tolleranza agli errori e bilanciamento del carico.

Bilanciamento del carico adattivo

Funziona come il Adaptive Transmit Load Balancing , ma fornisce anche inbound bilanciamento tramite ARP (Address Resolution Protocol).

L'ambiente

Per il bene di questo tutorial lavoreremo su un sistema Red Hat Enterprise Linux 8 virtualizzato. Per creare il nostro legame di rete lavoreremo con nmtui , un'utilità di interfaccia utente di testo utilizzata per controllare NetworkManager demone. Le stesse operazioni, tuttavia, possono essere eseguite con il nmcli utilità della riga di comando o tramite GUI con Network Manager Connection Editor .

Il sistema ha attualmente due ethernet link, enp1s0
e enp7s0 :

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: enp1s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP mode DEFAULT group default qlen 1000
    link/ether 52:54:00:cb:25:82 brd ff:ff:ff:ff:ff:ff
3: enp7s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP mode DEFAULT group default qlen 1000
    link/ether 52:54:00:32:37:9b brd ff:ff:ff:ff:ff:ff

Creazione del collegamento di rete

Come prima cosa, cancelleremo le attuali configurazioni esistenti per le interfacce slave. Questo non è strettamente necessario, poiché potremmo modificare tali configurazioni sul posto, ma per iniziare da zero procederemo in questo modo. Invochiamo nmtui :

$ sudo nmtui

Dal menu principale selezioniamo “Modifica una connessione” e confermiamo.



Menu principale di Nmtui.

Selezioniamo prima nell'elenco la connessione da eliminare, quindi ci spostiamo su <Delete> . Infine confermiamo:



Elenco connessioni Nmtui.

Infine, confermiamo di voler eliminare la connessione:



Richiesta di conferma di Nmtui per eliminare una connessione esistente.

Ripetiamo l'operazione per l'altra interfaccia. Una volta rimosse tutte le configurazioni esistenti, possiamo creare il bond interfaccia. Selezioniamo <Add> nel menu, e dall'elenco dei tipi di connessione, scegliamo Bond :



Menu di selezione del tipo di connessione Nmtui.

Si aprirà una nuova finestra in cui potremo configurare la nostra interfaccia. In questo caso, anche se totalmente facoltativo, utilizzerò bond0 sia come profilo che come nome del dispositivo. La parte più importante, tuttavia, è la selezione delle interfacce slave da aggiungere al legame. Nel BOND Slaves menu, fare clic su <Add> e seleziona il tipo di connessione slave da aggiungere, in questo caso ethernet .



Menu Nmtui per selezionare il tipo di connessione slave.

Immettere il nome del dispositivo, selezionare <OK> e conferma. L'operazione deve essere ripetuta per ciascuna delle interfacce slave.



Interfaccia Nmtui per modificare la connessione slave.

Il passaggio successivo è selezionare la bonding mode :per il bene di questo tutorial useremo il Active Backup uno. Selezioniamo la relativa opzione nel menu e nel campo “Primary” specifichiamo il nome dell'interfaccia slave primaria. Infine, selezioniamo semplicemente <OK> per confermare la creazione dell'interfaccia di legame.



La configurazione del legame di rete.

Ora possiamo uscire da nmtui applicazione. Per verificare che la creazione del legame sia andata a buon fine, possiamo lanciare il seguente comando:

$ ip addr show bond0

Il risultato è il seguente:

4: bond0: <BROADCAST,MULTICAST,MASTER,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
    link/ether 52:54:00:cb:25:82 brd ff:ff:ff:ff:ff:ff
    inet 192.168.122.164/24 brd 192.168.122.255 scope global dynamic noprefixroute bond0
       valid_lft 3304sec preferred_lft 3304sec
    inet6 fe80::48:d311:96c1:89dc/64 scope link noprefixroute
       valid_lft forever preferred_lft forever

Il ifcfg i file di configurazione relativi alla nostra configurazione sono stati generati all'interno di /etc/sysconfig/network-scripts directory:

$ ls /etc/sysconfig/network-scripts
ifcfg-bond0  ifcfg-enp1s0  ifcfg-enp7s0

Per visualizzare lo stato corrente del bond0 interfaccia vista dal kernel, possiamo eseguire:

$ cat /proc/net/bonding/bond0

L'output del comando è riportato di seguito:

Ethernet Channel Bonding Driver: v3.7.1 (April
27, 2011)

Bonding Mode: fault-tolerance (active-backup)
Primary Slave: enp1s0 (primary_reselect always)
Currently Active Slave: enp1s0
MII Status: up
MII Polling Interval (ms): 100
Up Delay (ms): 0
Down Delay (ms): 0

Slave Interface: enp1s0
MII Status: up
Speed: Unknown
Duplex: Unknown
Link Failure Count: 0
Permanent HW addr: 52:54:00:cb:25:82
Slave queue ID: 0

Slave Interface: enp7s0
MII Status: up
Speed: Unknown
Duplex: Unknown
Link Failure Count: 0
Permanent HW addr: 52:54:00:32:37:9b
Slave queue ID: 0

Possiamo vedere come sono attive entrambe le interfacce slave, ma solo enp1s0 è attivo, poiché è quello utilizzato come slave principale.

Test del backup attivo

Come possiamo verificare che la nostra configurazione funzioni? Possiamo disattivare l'interfaccia slave primaria e vedere se la macchina risponde ancora ai ping. Per mettere giù l'interfaccia eseguiamo:

$ sudo ip link set enp1s0 down

La macchina risponde ancora? Verifichiamolo:

$ ping -c3 192.168.122.164
PING 192.168.122.164 (192.168.122.164) 56(84) bytes of data.
64 bytes from 192.168.122.164: icmp_seq=1 ttl=64 time=0.385 ms
64 bytes from 192.168.122.164: icmp_seq=2 ttl=64 time=0.353 ms
64 bytes from 192.168.122.164: icmp_seq=3 ttl=64 time=0.406 ms

--- 192.168.122.164 ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 88ms
rtt min/avg/max/mdev = 0.353/0.381/0.406/0.027 ms

Lo fa! Vediamo come è cambiato lo stato del legame:

Ethernet Channel Bonding Driver: v3.7.1 (April
27, 2011)

Bonding Mode: fault-tolerance (active-backup)
Primary Slave: enp1s0 (primary_reselect always)
Currently Active Slave: enp7s0
MII Status: up
MII Polling Interval (ms): 100
Up Delay (ms): 0
Down Delay (ms): 0

Slave Interface: enp1s0
MII Status: down
Speed: Unknown
Duplex: Unknown
Link Failure Count: 1
Permanent HW addr: 52:54:00:cb:25:82
Slave queue ID: 0

Slave Interface: enp7s0
MII Status: up
Speed: Unknown
Duplex: Unknown
Link Failure Count: 0
Permanent HW addr: 52:54:00:32:37:9b
Slave queue ID: 0

Come puoi vedere, dal momento che abbiamo disattivato l'interfaccia slave primaria (enp1s0 ), l'altro slave, enp7s0 è stato utilizzato come backup ed è ora quello attualmente attivo. Inoltre, il Link Failure Count per lo slave primario è aumentato e ora è 1 .

Conclusioni

In questo tutorial abbiamo imparato cos'è un legame di rete e quali sono i modi possibili per configurare un legame di rete. Abbiamo anche creato un collegamento di rete tra due interfacce Ethernet utilizzando il Active Backup modalità. Con Red Hat Enterprise Linux 7 è stato introdotto un nuovo concetto, network teaming . Per alcuni aspetti il ​​teaming è simile al bonding, ma è implementato in modo diverso e ha più funzionalità. Ne parleremo in articoli futuri.


Cent OS
  1. CentOS / RHEL 7:come configurare Network Bonding o NIC teaming

  2. Come configurare il team di rete in CentOS/RHEL 7

  3. Come configurare le interfacce in modalità promiscua su CentOS/RHEL 7 (in modo persistente)

  4. Come configurare il teaming dell'interfaccia di rete in CentOS/RHEL 7 e 8

  5. Come modificare la modalità di collegamento di rete in CentOS/RHEL 6

Come configurare un indirizzo IP statico su RHEL 8 / CentOS 8 Linux

Come configurare un'interfaccia di rete virtuale su RHEL 8 / CentOS 8

Come configurare il server NTP su RHEL 8 / CentOS 8 Linux

Configura il collegamento NIC (scheda di interfaccia di rete) in CentOS 7 / RHEL 7

Come configurare l'indirizzo IP in CentOS 7/RHEL 7 e CentOS 6/RHEL 6

Come modificare il nome dell'interfaccia di rete in eth0 su CentOS 8 / RHEL 8