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

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

La liaison d'interface réseau est appelée par de nombreux noms :Port Trunking, Channel Bonding, Link Aggregation, NIC teaming, etc. Il combine ou agrège plusieurs connexions réseau dans une seule interface de liaison de canaux. Cela permet à deux ou plusieurs interfaces réseau d'agir comme une seule, d'augmenter le débit et de fournir une redondance ou un basculement.

Le noyau Linux est livré avec le pilote de liaison pour agréger plusieurs interfaces réseau physiques en une seule interface logique (par exemple, agréger eth0 et eth1 dans bond0). Pour chaque interface liée, vous pouvez définir le mode et les options de surveillance des liens. Il existe sept options de mode différentes, chacune offrant des caractéristiques spécifiques d'équilibrage de charge et de tolérance aux pannes, comme indiqué dans le tableau ci-dessous.

Modes de liaison

Selon vos besoins, vous pouvez définir le mode de liaison sur l'un des 7 modes ci-dessous.

Mode Politique Comment ça marche Tolérance aux pannes Équilibrage de charge
0 Tournoi à la ronde les paquets sont séquentiellement transmis/reçus via chaque interface une par une. Non Oui
1 Sauvegarde active une carte réseau active pendant qu'une autre carte réseau est endormie. Si la carte réseau active tombe en panne, une autre carte réseau devient active. pris en charge uniquement dans les environnements x86. Oui Non
2 XOR [OU exclusif] Dans ce mode, l'adresse MAC du NIC esclave est comparée au MAC de la demande entrante et une fois cette connexion établie, le même NIC est utilisé pour transmettre/recevoir pour le MAC de destination. Oui Oui
3 Diffusion Toutes les transmissions sont envoyées sur tous les esclaves Oui Non
4 Agrégation de liens dynamiques les cartes réseau agrégées agissent comme une seule carte réseau, ce qui se traduit par un débit plus élevé, mais fournit également un basculement en cas de défaillance d'une carte réseau. L'agrégation de liens dynamiques nécessite un commutateur prenant en charge IEEE 802.3ad. Oui Oui
5 Équilibrage de charge de transmission (TLB) Le trafic sortant est distribué en fonction de la charge actuelle sur chaque interface esclave. Le trafic entrant est reçu par l'esclave actuel. Si l'esclave récepteur tombe en panne, un autre esclave reprend l'adresse MAC de l'esclave défaillant. Oui Oui
6 Équilibrage de charge adaptatif (ALB) Contrairement à l'agrégation de liens dynamiques, l'équilibrage de charge adaptatif ne nécessite aucune configuration de commutateur particulière. L'équilibrage de charge adaptatif n'est pris en charge que dans les environnements x86. Les paquets de réception sont équilibrés en charge via la négociation ARP. Oui Oui

Surveillance des liens de liaison réseau

Le pilote de liaison prend en charge deux méthodes pour surveiller l'état de la liaison d'un esclave :

  • Moniteur MII (Media Independent Interface)
    • Il s'agit de l'option de surveillance des liens par défaut et recommandée.
    • Il surveille l'état de l'opérateur de l'interface réseau local.
    • Vous pouvez spécifier la fréquence de surveillance et le délai.
    • Les délais vous permettent de tenir compte de l'initialisation du commutateur.
  • Moniteur ARP
    • Cela envoie des requêtes ARP aux systèmes homologues sur le réseau et utilise la réponse comme une indication que la liaison est active.
    • Vous pouvez spécifier la fréquence de surveillance et les adresses cibles.

    Liaison réseau :configuration

    Création d'un fichier d'interface de liaison

    Vous pouvez créer manuellement un fichier d'interface de liaison dans /etc/sysconfig/network-scripts annuaire. Vous créez d'abord l'interface de liaison, puis vous ajoutez les interfaces réseau physiques à la liaison. Ces interfaces réseau physiques sont appelées "esclaves ".

    Pour l'exemple de cet article, les esclaves de l'interface bond0 sont ens33 et ens37. Avant de démarrer, assurez-vous que le module de liaison est correctement chargé. Pour vérifier cela, utilisez la commande ci-dessous :

    # lsmod |grep bonding
    bonding               122351  0

    Si le module n'est pas chargé, chargez-le à l'aide de la commande modprobe.

    # modprobe bonding

    1. Voici un exemple de fichier d'interface de liaison :

    # cat /etc/sysconfig/network-scripts/ifcfg-bond0
    DEVICE=bond0
    BONDING_OPTS="miimon=1 updelay=0 downdelay=0 mode=active-backup" TYPE=Bond
    BONDING_MASTER=yes
    BOOTPROTO=none
    IPADDR=192.168.2.12
    PREFIX=24
    DEFROUTE=yes
    IPV4_FAILURE_FATAL=no
    IPV6INIT=yes
    IPV6_AUTOCONF=yes
    IPV6_DEFROUTE=yes
    IPV6_FAILURE_FATAL=no
    IPV6_ADDR_GEN_MODE=stable-privacy
    NAME=bond0
    UUID=bbe539aa-5042-4d28-a0e6-2a4d4f5dd744
    ONBOOT=yes

    2. L'exemple suivant définit le ens33 interface réseau physique en tant qu'esclave pour bond0 :

    # cat /etc/sysconfig/network-scripts/ifcfg-ens33 
    TYPE=Ethernet
    NAME=ens33
    UUID=817e285b-60f0-42d8-b259-4b62e21d823d
    DEVICE=ens33
    ONBOOT=yes
    MASTER=bond0
    SLAVE=yes

    3. L'exemple suivant définit le ens37 interface réseau physique en tant qu'esclave pour bond0 :

    # cat /etc/sysconfig/network-scripts/ifcfg-ens37 
    TYPE=Ethernet
    NAME=ens37
    UUID=f0c23472-1aec-4e84-8f1b-be8a2ecbeade
    DEVICE=ens37
    ONBOOT=yes
    MASTER=bond0
    SLAVE=yes

    4. Redémarrez les services réseau
    Redémarrez les services réseau pour activer l'interface de liaison.

    # systemctl restart network

    Si vous ne souhaitez pas redémarrer le service réseau, vous pouvez connecter l'interface de liaison individuellement :

    # ifup bond0

    Vérifiez la configuration de la liaison réseau

    1. Vérifiez la nouvelle interface dans la sortie de la commande ‘ip addr show’ :

    # ip addr show
    1: lo: [LOOPBACK,UP,LOWER_UP] mtu 65536 qdisc noqueue state UNKNOWN qlen 1
        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: ens33: [BROADCAST,MULTICAST,SLAVE,UP,LOWER_UP] mtu 1500 qdisc pfifo_fast master bond0 state UP qlen 1000
        link/ether 00:0c:29:54:f7:20 brd ff:ff:ff:ff:ff:ff
    4: ens37: [BROADCAST,MULTICAST,SLAVE,UP,LOWER_UP] mtu 1500 qdisc pfifo_fast master bond0 state UP qlen 1000
        link/ether 00:0c:29:54:f7:20 brd ff:ff:ff:ff:ff:ff
    5: bond0: [BROADCAST,MULTICAST,MASTER,UP,LOWER_UP] mtu 1500 qdisc noqueue state UP qlen 1000
        link/ether 00:0c:29:54:f7:20 brd ff:ff:ff:ff:ff:ff
        inet 192.168.2.12/24 brd 192.168.2.255 scope global bond0
           valid_lft forever preferred_lft forever
        inet6 fe80::20c:29ff:fe54:f720/64 scope link 
           valid_lft forever preferred_lft forever

    2. Vérifiez également l'état actuel des interfaces de liaison et quelle interface est actuellement active, à l'aide de la commande ci-dessous :

    # cat /proc/net/bonding/bond0
    Ethernet Channel Bonding Driver: v3.7.1 (April 27, 2011)
    
    Bonding Mode: fault-tolerance (active-backup)
    Primary Slave: None
    Currently Active Slave: ens33
    MII Status: up
    MII Polling Interval (ms): 1
    Up Delay (ms): 0
    Down Delay (ms): 0
    
    Slave Interface: ens33
    MII Status: up
    Speed: 1000 Mbps
    Duplex: full
    Link Failure Count: 0
    Permanent HW addr: 00:0c:29:54:f7:20
    Slave queue ID: 0
    
    Slave Interface: ens37
    MII Status: up
    Speed: 1000 Mbps
    Duplex: full
    Link Failure Count: 0
    Permanent HW addr: 00:0c:29:54:f7:34
    Slave queue ID: 0

    À partir de la sortie de la commande ci-dessus, nous pouvons voir que ens33 est l'esclave actuellement actif dans le lien.

    Tester la tolérance aux pannes de la configuration de liaison

    1. Comme il s'agit d'une configuration de liaison de sauvegarde active, lorsqu'une interface tombe en panne, l'autre interface de la liaison devient l'esclave actif. Pour vérifier cette fonctionnalité, nous allons faire tomber l'interface actuelle ens33.

    # ifdown ens33

    2. Si vous vérifiez à nouveau l'état de l'interface de liaison, vous constaterez que le nouvel esclave actif est l'interface ens37.

    # cat /proc/net/bonding/bond0
    Ethernet Channel Bonding Driver: v3.7.1 (April 27, 2011)
    
    Bonding Mode: fault-tolerance (active-backup)
    Primary Slave: None
    Currently Active Slave: ens37
    MII Status: up
    MII Polling Interval (ms): 1
    Up Delay (ms): 0
    Down Delay (ms): 0
    
    Slave Interface: ens37
    MII Status: up
    Speed: 1000 Mbps
    Duplex: full
    Link Failure Count: 0
    Permanent HW addr: 00:0c:29:54:f7:34
    Slave queue ID: 0

    L'interface de liaison sera également opérationnelle :

    # ip add show bond0
    5: bond0: [BROADCAST,MULTICAST,MASTER,UP,LOWER_UP] mtu 1500 qdisc noqueue state UP qlen 1000
        link/ether 00:0c:29:54:f7:20 brd ff:ff:ff:ff:ff:ff
        inet 192.168.2.12/24 brd 192.168.2.255 scope global bond0
           valid_lft forever preferred_lft forever
        inet6 fe80::20c:29ff:fe54:f720/64 scope link 
           valid_lft forever preferred_lft forever
    CentOS / RHEL 7 :Comment créer une liaison d'interface à l'aide de nmcli


    Cent OS
    1. Comment configurer l'association réseau dans CentOS/RHEL 7

    2. Comment configurer les interfaces en mode promiscuité sur CentOS/RHEL 7 (en permanence)

    3. Comment configurer le VLAN 802.1q sur la carte réseau sur CentOS/RHEL 7 et 8

    4. Comment configurer l'association d'interfaces réseau dans CentOS/RHEL 7 et 8

    5. Comment changer le mode de liaison réseau dans CentOS/RHEL 6

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

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

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

    Comment configurer l'association de cartes réseau sur CentOS 8 / RHEL 8

    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