Configuration de base d’un Etherchannel entre deux Switch

Mettre en place un etherchannel entre deux switch revient à combiner deux (ou plus) connexions afin d’augmenter la bande passante entre les deux dispositifs. Un peu comme si les deux connexions ne formaient qu’une. Voici comment en faire la configuration de base…

Pré-requis

  • Disposer de deux switch (ici il s’agira de deux switch Cisco 2950-24).
  • Relier les deux switch à l’aide de deux câbles ethernet croisés

Introduction

Détail des connexions physiques

  • Switch1 FastEthernet 0/1 connecté sur le Switch2 FastEthernet 0/1
  • Switch1 FastEthernet 0/2 connecté sur le Switch2 FastEthernet 0/2

On par ici du principe que le switch a été fraichement installé, et que donc les interfaces concernées sont en configuration par défaut.

Objectif

On veut ici grouper ces deux liaisons afin qu’elles fonctionnent comme une seule connexion. Sans Etherchannel, STP (Spanning Tree Protocol) passera un des ports en « blocking » afin d’éviter une boucle entre les deux switch.

Une fois un etherchannel en place, sauf si on configure du load-balancing, on peut considérer que les deux connexions agissent comme une seule et que donc la bande passante est multipliée par le nombre de ports utilisés.

Comme l’etherchannel servira de liaison entre les deux switch il est assez logique (quoi que non obligatoire) de les transformer en trunk, de manière à ce que les informations de tous les vlans puissent passer à travers.

Configuration des switch

Switch1

switch1> en
switch1# configure terminal
switch1(config)# interface range fastethernet 0/1 - 2
switch1(config-range-if)# channel-protocol lacp
switch1(config-range-if)# channel-group 1 mode active
switch1(config-range-if)# no shut
switch1(config-range-if)# exit
switch1(config)#exit
switch1#

On a donc ici mis les deux ports FastEthernet dans un groupe, on les a mis en mode trunk, on a précisié qu’on voulait utiliser le protocol LACP (il existe aussi PAGP, la différence de configuration se situe uniqument dans le mode à choisir), on a défini le mode passif (l’etherchannel ne fonctionnera que si lacp est active sur l’autre switch aussi).

Switch2

switch2> en
switch2# configure terminal
switch2(config)# interface range fastethernet 0/1 - 2
switch2(config-range-if)# channel-protocol lacp
switch2(config-range-if)# channel-group 1 mode passive
switch2(config-range-if)# no shut
switch2(config-range-if)# exit
switch2(config)#exit
switch2#

Exactement la même opération que sur Switch1.

Vérification de l’étherchannel

switch1#show etherchannel summary
Flags:  D - down        P - in port-channel
 I - stand-alone s - suspended
 H - Hot-standby (LACP only)
 R - Layer3      S - Layer2
 u - unsuitable for bundling
 U - in use      f - failed to allocate aggregator
 d - default port

Number of channel-groups in use: 1
Number of aggregators:           1

Group  Port-channel  Protocol    Ports
------+-------------+-----------+-----------------------------------------------
1      Po1(SU)         LACP      Fa0/1(P)    Fa0/2(P)

On voit donc que le le groupe 1 (l’etherchannel) contient bien les ports Fa0/1 et FA0/2 et qu’il est configuré en LACP.

27 Comments on “Configuration de base d’un Etherchannel entre deux Switch

  1. Bonjour,
    Entre 2 switchs cisco, quel est le protocole qui convient le mieux pour un agrégat , le pagp ou lacp, de plus quel est le mode qui serait le plus utile, mode desirable, auto …. ?

    Merci

    • PAgP n’a plus de raison d’être si ce n’est pour une rétro-compatibilité. LACP n’a que des avantages. Un des deux côtés de la liaison LACP doit être en mode « active », l’autre peut être passif pou actif.

  2. Bonjour Steve;

    Je travail sous packet tracer. J’ai choisi des switch 2960 sous cet outil pour configurer du Etherchannel. Mais ça ne marche pas. La commande n’existe pas apparemment.
    Quand je tape CHANNEL-PROTOCOL LACP et je valide, j’ai un message d’erreur  » Invalid input detected at….. Je voudrais savoir si le protocol marche sur les switch 2960 ou pas.

      • ok
        En effet la technologie etherchannel fonctionne sur les switch de niveau 3

  3. j’ai lu les questionnaires et les différents commentaires mais les thèmes sont tellement technique que c’est difficile de comprendre si tu n’est pas tres avances . Bon j’aimerai savoir : quelle est la difference entre Etherchannel et le loadbalancing ?

    • Le loadbalancing est un concept, l’idée ets d’équilibrer la charge entre plusieurs liaisons. Après cela peut se réaliser à différent niveaux.
      L’etherchannel est une technique de niveau 2 qui consiste à agréger deux liaisons ethernet (ou plus). Cette etchnique permet d’une part d’améliorer la gestion des topologies spanning-tree, et d’autre part de profiter de la totalité de la bande passante entre deux switches, en équilibrant la charge sur ces liaisons.

      • donc si je comprend bien si on veux par exemple appliquer etherchannel sur 6 liaisons physiques , physiquement au aurra 6 liaisons mais les 6 liaisons seront regroupés comme une seule liaison tout cela pour augmenter la bande passante afin de reduire la tolerance de panne. es ce bien compris ?

  4. Salut Steve
    Je suis totalement nouveau dans la configuration des équipements Cisco mais je dois réaliser un projet. Nous avons 40 machines à mettre dans le même reseau avec 2 Switchs Cisco 2960. Peux-tu me dire quelle configuration mettre entre les 2 switchs? Nous comptons mettre 20 machines par switch et leur permettre d’accéder toute à un serveur de fichier.

    • Sans autre information, difficile de répondre à cette question. Même sans configuration, rien qu’en câblant les équipements et machines, ça fonctionnera. Après tout dépend du reste de l’infrastructure.
      Le plus courant c’est d’avoir un trunk entre les switches, ce qui permet de faire passer plusieurs vlans de l’un à l’autre.
      Dans ce cas, il faut configurer les ports des switches qui sont interconnectés avec la commande « switchport mode trunk » … mais pour le reste sans informations complémentaires, je ne saurais quoi conseiller.

      • Merci bien, puisque j’ai 20 machines par Switch, est-ce qu’il est utile pour moi de créer un Vlan par Switch?

  5. Bonjour Steve,

    Merci pour ce site et ce tuto qui me permet de bien comprendre certaines configurations réseaux.

    J’ai une question, nous souhaitons faire de l’iSCSI depuis nos serveurs ESX (VMWare) vers du stockage.
    Nous avons mis 4 ports d’une carte physique de nos serveurs dans un vswitch (config VMWare).

    Ces 4 ports arrivent sur 2 switchs Cisco en stack, à raison de 2 ports sur chaque switch.
    Donc nous avons ceci :
    NIC 8 –> interface 1/0/1
    NIC 10 –> interface 1/0/2
    NIC 9 –> interface 2/0/1
    NIC 11 –> interface 2/0/2

    Nous avons fixé les MTU à 9000 sur ces ports, et aussi sur vswitch dans VMWare.

    Ma question est donc : pouvons nous configuré un Port-Channel (ou plusieurs) pour grouper ces ports afin d’obtenir un débit plus important (4 x 1 Gbits) ? ou ce n’est pas possible sur 2 switchs en stack ?

    Merci pour votre aide.

    Meilleures salutations.
    Olivier.

    • A priori je pense que c’est faisable si les switch fonctionnent effectivement en stack. C’est ce que Cisco nomme le Cross-Stack Etherchannel. La configuration est identique à celle sur un switch unique. Après la question est de savoir si l’IOS le supporte et aussi si il est possible d’utiliser LACP ou non.

      • Merci pour cette précision Steve,

        Nous sommes en IOS 15.0(2) sur les switchs du stack.

        Comme j’ai pu le lire plus haut, la configuration idéale est de tout paramétrer au niveau logique, donc du Port-Channel, et de laisser les ports récupérer cette configuration.

        Je vais tester cette configuration, et je donnerai les infos de la réussite ou non.

        Merci.
        Olivier

  6. Merci steve 🙂

    Si je rajoute par exemple un 3ème lien physique sur le port-channel, je le rentre en mode « passive » ?

    • Si on rajoute un lien, il faut alors le configurer comme ceux déjà présents, mais là manuellement, puisque la config du PortChannel existe déjà.
      Tant que l’interface ajoutée ne respecte pas les conditions de formations de l’etherchannel elle sera désactivée (en mode suspended, visible avec la commande « show etherchannel summary »)

  7. Bonjour
    Merci pour cette article très intéressant.
    Je vois que tu configures le mode trunk que les interfaces physique du channel-group
    Quelle est la difference si on configure le mode trunk sur les interfaces physique ou directement sur l’interface logique port-channel ?
    Que se passe t’il si on met par exemple mode access sur les interfaces physiques et mode trunk sur l’interface logique. Il me semblait qu’il fallait faire toute la configuration de ports sur l’interface logique et ne plus toucher aux ports physique. Du coup la question se pose pour tout type de config de port ( vlan,spanning-tree,…)
    Merci

    • Configurer l’interface logique c’est aussi configurer les interfaces physiques. C’est pour ça qu’en général on se contente de s’occuper de la logique. Les ocmmandes sont automatiquement répliquées sur les physiques.

      Si la logique et les physiques ne sont pas configurées de la même manière, cela résultera quasi tout le temps par un etherchannel non fonctionnel.

      • • Switch 1
        Switch# config terminal
        Switch(config)#interface range FastEthernet 0/23-24
        Switch(config-if-range)#channel-protocol lacp
        Switch(config-if-range)#channel-group 1 mode active
        Switch(config-if-range)#no shutdown

        • Switch 2
        Switch# config terminal
        Switch(config)#interface range FastEthernet 0/23-24
        Switch(config-if-range)#channel-protocol lacp
        Switch(config-if-range)#channel-group 1 mode passive
        Switch(config-if-range)#no shutdown
        Switch(config-if-range)#exit

        Switch# config terminal
        Switch(config)# interface port channel 1
        Switch(config-if)#switchport mode trunk
        Switch(config-if)#switchport trunk allowed vlan 10,20,30
        Switch(config-if)#exit

        —————–

        Voila une configuration de test, je voudrais savoir si le port channel reporte du coup la configuration du lien trunk ainsi que les vlans ? et faut-il le configurer avant ou après les interfaces ?

        • La configuration me semble correcte. La configuration du PortChannel reporte bel et bien les commandes sur les interfaces physiques. Pas besoin de retourner sur celles-ci.

  8. Salut Steve,

    Petite question concernant l’etherchannel et le loadbalancing.

    Par défaut, quand on monte un eterchannel les flux sont loadbalancés nativement comme dans ton exemple juste au dessus ?

    Si oui alors je ne comprend pas l’intérêt de cette commande :

    Switch(config)#port-channel load-balance src-dst-ip

    En lisant ce post je pense avoir un début de réponse, mais c’est pas ultra clair => http://packetpushers.net/understand-etherchannel-load-balancing-catalyst-switches/

    « Now, the common mistake is the assumption that in the Etherchannel load would be equally distributed across all links bundled in Etherchannel. The assumption is wrong because of 2 reasons. First is if we have 3, 5, 6, or 7 ports bundled in one channel. Second is because the balancing is done based on flows, not based on packets. We will go back to this later on.

    Etherchannel can have up to 8 ports, so number of links like 3, 5, 6 and 7 would never have equal distribution. Here is why and this is point where we are not able to influence »

    Si j’en crois ce qu’il est écrit, le loadbalancing devient intéréssant dans le cas ou on a un eterchannnel de 3,5,6 ou 7 ports. Ce loadbalancing permettrait d’équilibré la charge réseau sur les ports ce qui n’est pas le cas avec un etherchannel classique ?

    Number of Ports in the EtherChannel Distribution across the links
    2 50%:50%
    3 37,5%:37,5%:25%
    4 25%:25%:25%:25%
    5 25%:25%:25%:12,5%:12,5%
    6 25%:25%:12,5%:12,5%:12,5%:12,5%
    7 25%:12,5%:12,5%:12,5%:12,5%:12,5%:12,5%
    8 12,5%:12,5%:12,5%:12,5%:12,5%:12,5%:12,5%:12,5

    J’attends avec impatience ta réponse.

    Cordialement.

    • Lorsqu’un etherchannel est configuré, le switch doit décider sur quel liaison physique il va émettre la trame, qu’il y ait 2, 3 ou … liens dans le bundle). En fonctionne du modèle, de la version d’IOS etc, les switches auront diverses méthodes utilisables pour répartir la charge entre les liens.

      Le commande « port-channel load-balance src-dst-ip » détermine que le switch devra équilibrer les charges en fonction de l’IP source et destination du paquet contenu dans la trame.
      Pour faire simple, le switch effectue une opération logique sur les deux valeurs et obtient un résultat. Selon le résultat, il émettra la trame sur l’un ou l’autre lien.

      Donc si l’IP source et dest sont toujours les mêmes, les données transiteront toujours sur le même lien.
      Du coup il est possible de configurer la méthode de répartition utilisée, à choisir selon les cas. (et selon ce qui est dispo sur le switch):
      – Destination MAC address
      – Source MAC address
      – Source and destination MAC address
      – Destination IP address
      – Source IP address
      – Source and destination IP address
      – Destination TCP/UDP port number
      – Source TCP/UDP port number
      – Source and destination TCP/UDP port number

      L’équilibrage se fait bien automatiquement, mais pas trame par trame donc. Un flux est en général caractérisé par une IP source, une IP destination … les paquet qui transitent entre deux machines distinctes donc.

      Si l’etherchannel ne véhicule que le trafic entre deux uniques machines, il vaudra mieux choisir une autre méthode, par exemple les ports sources et destination.

  9. Content d’avoir pu aider et merci pour ton site que je trouve très intéressant 😉

  10. Bonjour,

    Il y a je pense un petit probleme dans la configuration. Si on est en channel-group en mode « PASSIVE » des 2 cotés (SW1 et SW 2) l interface portchanel 1 ne monte pas…. Si on met un coté en passif il faut mettre l’autre côté en « Active ».

    D’ailleurs dans le ouput de la commande : show etherchanel summary on voit les lettre « SD » qui veulent dire que oui le etherchannel existe mais il est DOWN.

    La sortie de la commande devrait donner :

    Group Port-channel Protocol Ports
    ——+————-+———–+———————————————–
    1 Po1(SU) LACP Fa0/01(P) Fa0/02(Pd)

    Cordialement,

    CKH