GNU/Linux >> Tutoriels Linux >  >> Cent OS

Comment configurer la liaison d'interface réseau sur RHEL 8 / CentOS 8 Linux

La liaison d'interface réseau consiste en l'agrégation de deux ou plusieurs interfaces réseau physiques, appelées slaves , sous une interface logique appelée master ou bond interface. Selon le mode de liaison, une telle configuration peut être utile pour obtenir une tolérance aux pannes et/ou un équilibrage de charge. Dans ce didacticiel, nous apprendrons quels sont les modes de liaison disponibles et comment créer une liaison réseau sur RHEL 8 / CentOS 8.

Dans ce didacticiel, vous apprendrez :

  • Qu'est-ce que la liaison d'interface réseau ?
  • Comment configurer la liaison d'interface réseau sur RHEL 8/CentOS 8
  • Quels sont les différents modes de liaison


Le statut Bond vu par le noyau Linux

Configuration logicielle requise et conventions utilisées

Configuration logicielle requise et conventions de ligne de commande Linux
Catégorie Exigences, conventions ou version du logiciel utilisée
Système RHEL 8/CentOS 8
Logiciel L'utilitaire nmtui pour contrôler le démon NetworkManager. L'application est incluse dans une installation minimale du système.
Autre Privilèges root pour modifier les paramètres système
Conventions # - nécessite que les commandes linux données soient exécutées avec les privilèges root soit directement en tant qu'utilisateur root, soit en utilisant sudo commande
$ – nécessite que les commandes linux données soient exécutées en tant qu'utilisateur normal non privilégié

Quel mode de liaison ?

Il existe essentiellement 7 modes de liaison que nous pouvons utiliser :

Tournoi à la ronde

Les paquets sont distribués de manière égale, dans un ordre séquentiel, à toutes les interfaces esclaves (de la première à la dernière). Ce mode fournit à la fois l'équilibrage de charge et la tolérance aux pannes, mais nécessite une prise en charge sur les commutateurs.

Sauvegarde active

Seule l'interface esclave principale est utilisée. En cas d'échec, un autre esclave est utilisé à sa place. Il ne fournit que la tolérance aux pannes ; il n'y a pas d'exigences particulières.

XOR (OU exclusif)

Les paquets sont transmis et affectés à l'une des interfaces esclaves en fonction du hachage des adresses MAC source et destination, calculé avec la formule suivante :

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

Ce mode fournit à la fois la tolérance aux pannes et l'équilibrage de charge.

Diffusion

Lorsque ce mode est utilisé, tous les paquets sont transmis sur toutes les interfaces esclaves, offrant une tolérance aux pannes mais pas d'équilibrage de charge.

802.3ad

Ce mode utilise l'agrégation de liens IEEE 802.3ad qui doit être prise en charge sur les commutateurs. Crée des groupes d'agrégation qui partagent les mêmes paramètres de vitesse et de duplex. Émet et reçoit sur tous les esclaves du groupe actif. Fournit à la fois l'équilibrage de charge et la tolérance aux pannes.

Équilibrage de charge de transmission adaptatif

Les paquets sortants sont transmis à travers les interfaces esclaves en fonction de leur charge, et le trafic entrant est reçu par l'esclave actuel. Si ce dernier tombe en panne, un autre esclave reprend son adresse MAC. Ce mode offre une tolérance aux pannes et un équilibrage de charge.

Équilibrage de charge adaptatif

Fonctionne comme l'Adaptive Transmit Load Balancing , mais fournit également inbound équilibrage via ARP (protocole de résolution d'adresse).

L'environnement

Pour les besoins de ce didacticiel, nous allons travailler sur un système Red Hat Enterprise Linux 8 virtualisé. Pour créer notre liaison réseau, nous allons travailler avec nmtui , un utilitaire d'interface utilisateur texte utilisé pour contrôler le NetworkManager démon. Les mêmes opérations, cependant, peuvent être effectuées avec le nmcli utilitaire de ligne de commande ou via l'interface graphique avec l'Network Manager Connection Editor .

Le système dispose actuellement de deux ports ethernet liens, enp1s0
et 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

Création de la liaison réseau

Dans un premier temps, nous supprimerons les configurations existantes actuelles pour les interfaces esclaves. Ce n'est pas strictement nécessaire, car nous pourrions éditer de telles configurations sur place, mais pour repartir de zéro, nous procéderons de cette manière. Invoquons nmtui :

$ sudo nmtui

Dans le menu principal, nous sélectionnons "Modifier une connexion" et confirmons.



Menu principal Nmtui.

On sélectionne d'abord la connexion à supprimer dans la liste, puis on passe sur <Delete> . Enfin, nous confirmons :



Liste de connexion Nmtui.

Enfin, nous confirmons que nous voulons supprimer la connexion :



Invite de confirmation Nmtui pour supprimer une connexion existante.

Nous répétons l'opération pour l'autre interface. Une fois que nous avons supprimé toutes les configurations existantes, nous pouvons créer le bond interface. Nous sélectionnons <Add> dans le menu, et dans la liste des types de connexion, nous choisissons Bond :



Menu de sélection du type de connexion Nmtui.

Une nouvelle fenêtre s'ouvrira où nous pourrons configurer notre interface. Dans ce cas, même si c'est totalement facultatif, j'utiliserai bond0 à la fois en tant que profil et nom d'appareil. La partie la plus importante, cependant, est la sélection des interfaces esclaves à ajouter à la liaison. Dans les BOND Slaves menu, cliquez sur <Add> , et sélectionnez le type de connexion esclave à ajouter, dans ce cas ethernet .



Menu Nmtui pour sélectionner le type de connexion esclave.

Entrez le nom de l'appareil, sélectionnez <OK> et confirmez. L'opération doit être répétée pour chacune des interfaces esclaves.



Interface Nmtui pour modifier la connexion esclave.

L'étape suivante consiste à sélectionner le bonding mode  :pour les besoins de ce tutoriel, nous utiliserons la Active Backup une. Nous sélectionnons l'option correspondante dans le menu et dans le champ «Primaire», nous spécifions le nom de l'interface esclave principale. Enfin, nous sélectionnons simplement <OK> pour confirmer la création de l'interface de liaison.



La configuration de la liaison réseau.

Nous pouvons maintenant quitter le nmtui application. Pour vérifier que la création de la liaison a réussi, nous pouvons lancer la commande suivante :

$ ip addr show bond0

Le résultat est le suivant :

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

Le ifcfg les fichiers de configuration liés à notre configuration ont été générés dans /etc/sysconfig/network-scripts répertoire :

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

Pour afficher l'état actuel du bond0 interface telle que vue par le noyau, nous pouvons exécuter :

$ cat /proc/net/bonding/bond0

Le résultat de la commande est indiqué ci-dessous :

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

Nous pouvons voir comment les deux interfaces esclaves sont actives, mais seulement enp1s0 est actif, car c'est celui qui est utilisé comme esclave principal.

Tester la sauvegarde active

Comment pouvons-nous vérifier que notre configuration fonctionne ? Nous pouvons arrêter l'interface esclave principale et voir si la machine répond toujours aux pings. Pour déposer l'interface que nous exécutons :

$ sudo ip link set enp1s0 down

La machine répond-elle toujours ? Vérifions-le :

$ 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

Cela fait! Voyons comment le statut du lien a changé :

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

Comme vous pouvez le voir, puisque nous avons mis l'interface esclave primaire (enp1s0 ), l'autre esclave, enp7s0 a été utilisé comme sauvegarde et est maintenant celui qui est actuellement actif. De plus, le Link Failure Count pour l'esclave principal a augmenté et est maintenant 1 .

Conclusion

Dans ce didacticiel, nous avons appris ce qu'est une liaison réseau et quelles sont les manières possibles de configurer une liaison réseau. Nous avons également créé une liaison réseau entre deux interfaces Ethernet à l'aide de la Active Backup mode. Avec Red Hat Enterprise Linux 7, un nouveau concept a été introduit, le network teaming . Sous certains aspects, l'association est similaire à la liaison, mais elle est mise en œuvre différemment et a plus de fonctionnalités. Nous en parlerons dans de futurs articles.


Cent OS
  1. CentOS / RHEL 7 :Comment modifier les noms d'interface réseau

  2. CentOS / RHEL 7 :Comment créer un Network Bonding (NIC teaming) en utilisant nmcli

  3. CentOS / RHEL 7 :Comment configurer la liaison réseau ou l'association de cartes réseau

  4. CentOS / RHEL 5 :Comment configurer la liaison d'interface (association de cartes réseau)

  5. CentOS / RHEL 4 :Comment configurer la liaison d'interface (NIC teaming)

Comment configurer une adresse IP statique sur RHEL 8 / CentOS 8 Linux

Comment configurer une interface réseau virtuelle sur RHEL 8 / CentOS 8

Comment configurer le serveur NTP sur RHEL 8 / CentOS 8 Linux

Configurer la liaison NIC (carte d'interface réseau) dans CentOS 7/RHEL 7

Comment configurer l'adresse IP dans CentOS 7 / RHEL 7 et CentOS 6 / RHEL 6

Comment changer le nom de l'interface réseau en eth0 sur CentOS 8 / RHEL 8