Objectifs de certification

CCNA R&S 200-125

  • 5.5 Configurer, vérifier et dépanner HSRP de manière basique (Priority, Preemption, Version)

CCNA 200-301


Redondance de passerelle protocole HSRP

HSRP, Host Standby Router Protocol est un protocole de redondance du premier saut (FHRP, First Hop redundancy Protocols), propriétaire Cisco. De multiples passerelles de réseau local s’entendent sur une adresse IP virtuelle et élisent un routeur “Active” qui prend en charge le trafic comme passerelle par défaut en répondant au trafic ARP. Un autre routeur reste en état “Standby” alors que tous les autres sont en état “Listen”. HSRP converge endéans les dix secondes par défaut en Cisco IOS. Ses messages sont transportés dans des messages embarqués dans de l’UDP 1985.

1. Protocoles de redondance du premier saut

1.1. First Hop Redundancy Protocols

FHRP est un acronyme Cisco pour désigner les protocoles de redondance du premier saut (passerelle par défaut).

Les solutions de ce type permettent de combler le point unique de rupture que consitue la passerelle par défaut dans les réseaux locaux.

Les protocoles qui offrent ce service sont les suivants :

  • Hot Standby Router Protocol (HSRP)
    • Propiétaire Cisco
  • Virtual Router Redundancy Protocol (VRRP)
    • Standard IETF similaire à HSRP
  • Gateway Load Balancing Protocol (GLBP)
    • Propriétaire Cisco
CoucheProtocole/SolutionsDélais de reprise
L2Rapid Spanning TreeQuelques secondes
L2EtherchannelPlus ou moins 1 seconde pour rediriger le trafic sur un lien alternatif
L3First Hop Redundancy Protocols comme HSRP, VRRP, GLBP10 secondes par défaut (Cisco) mais le constructeur conseille 1s hello time, 3s Hold Time
L3Protocoles de routageEn dessous de la seconde avec OSPF ou EIGRP

1.2. Protocoles FHRP

Le but de ces protocoles est de permettre aux hôtes TCP/IP d’utiliser l’adresse d’une seule passerelle par défaut et de maintenir la connectivité même si le premier saut (“first hop”), soit un véritable routeur, venait à tomber.

Plusieurs routeurs participent au processus et créent de concert l’illusion d’un seul routeur virtuel.

Dans une topologie HSRP ou VRRP, un seul routeur réel répond pour le trafic vers la passerelle virtuelle.

Dans une topologie GLBP, le trafic vers la passerelle peut être distribué sur plusieurs routeurs réels.

1.3. Transfert de trafic vers l’Internet

Que se passe-t-il quand un hôte du réseau local veut placer du trafic à destination d’un autre réseau que le LAN ?

Sa table de routage lui indique que l’adresse du prochain saut pour cette destination est sa passerelle par défaut.

À la suite d’une résolution d’adresse (ARP ou NS/NA), le paquet est livré à l’adresse MAC de la passerelle par défaut.

Par exemple la commande ping vers un site Internet bien connu.

1.4. Fonctions d’un FHRP

  • Redondance de passerelles par défaut

  • Répartition de charge : Dans un groupe, un routeur est effectif pour certains VLANs; dans un autre groupe, il est sauvegarde pour d’autres VLANs.

  • Il est possible d’influencer une élection via priorité et préemption (preempt). Avec cette fonctionnalité de préemption, le routeur avec la haute priorité devient immédiatement le routeur actif. Le routeur envoie un message “Coup” ou un message “Hello” (HSRP).

  • Il est possible de suivre l’état d’une interface au-delà du LAN (track) et d’influencer une élection dans un groupe en réduisant la valeur de priorité même d’un routeur actif “preempt”.

  • GLBP est capable de répartir la charge sur plusieurs routeurs.

  • Ils supportent des mécanismes d’authentification (plain-text, MD5).

  • Ils supportent IPv4 et IPv6 (en HSRP version 2).

2. HSRP, VRRP et GLBP

Un processus FHRP décide via un processus électoral quel routeur parmi au moins deux va effectivement transférer le trafic. C’est celui qui a la plus haute priorité qui remporte l’élection. En cas d’ex aequo c’est celui qui a la plus haute adresse IP qui remporte l’élection.

Les routeurs qui participent à ce processus et ses échanges appartiennent au même groupe.

Le routeur effectif (active en HSRP) utilise une adresse IP et une adresse MAC virtuelles qui correspondent à la passerelle par défaut du réseau local.

Si le routeur effectif tombe, un routeur de sauvegarde (standby en HSRP) prend le relais en utilisant ces paramètres pour transférer le trafic adressé à la passerelle “virtuelle”.

La faille est détectée en l’absence de messages venant du routeur effectif (Hold-Time de 10 secondes par défaut en HSRP en Cisco IOS).

2.1. HSRP et VRRP vus de manière comparative

FHRPHSRPVRRP
NomHot Standby Router Protocol, RFC2281 (informational)Virtual Router Redundancy Protocol RFC2338 (v1), RFC3768 (v2), RFC5798 (v3)
OriginePropiétaire Cisco, version 1 et 2Standard IETF
Messages224.0.0.2 (tous les routeurs) UDP1985 (Hello, Coup, Resign)224.0.0.18 (VRRP), IP112
CompteursHello : 3 secondes, Hold-Time : 10 s. ou 3 HelloAdvertisements : 1 seconde
RôlesActive/StandbyMaster/Backup State
Adresse MAC virtuelle0000.0c07.acxx, xx = nb de groupe (8 bits)0000.5e00.01xx, xx = nb de groupe (8 bits)
Priorité100 par défaut élevée (0-255) et preempt désactivé100, élevée (0-255) et preempt activé par déf.
Etats0. Disabled, 1. Init, 2. Listen, 4. Speak, 8. Standby, 16. ActiveInit, Backup, Master

2.2. GLBP

  • Gateway Load Balancing Protocol, Protocole propriétaire Cisco
  • Messages à destination de 224.0.0.112 en UDP3222
  • Hellotime 3 s., Holdtime 10 s.
  • Permet de fournir un service de passerelle redondante avec répartition de charge.

Rôles GLBP

Alors qu’avec HSRP ou VRRP il ne pouvait y avoir qu’une passerelle active par groupe. GLBP permet de répartir la charge sur plusieurs d’entre elles. On trouve trois rôles en GLBP :

  • Active Virtual Gateway (AVG)
  • AVG Standby
  • Active Virtual Forwarder (AVF)

Active Virtual Gateway (AVG)

Parmi les routeurs d’un groupe, un seul est élu Active Virtual Gateway (AVG) GLBP sur base de sa priorité la plus élevée ou sur son adresse IP la plus élevée si ex-aequo.

Son rôle est d’attribuer une adresse MAC virtuelle aux AVFs (Active Virtual Forwarders) qui eux transfèrent effectivement le trafic.

C’est lui qui répond aux requêtes ARP pour l’adresse IP virtuelle et distribue la charge auprès des AVF.

Active Virtual Forwarder (AVF)

Un Active Virtual Forwarder (AVF) GLBP transfère effectivement le trafic.

4 routeurs maximum sont AVF dans un groupe. Les autres sont soit AVG secondaire ou AVF secondaires.

Tous les routeurs AVF répondent à l’adresse de leur MAC virtuelle GLBP dans un format : 0007.b4xx.xxyy

  • xx.xx représente 6 bits à 0 et 10 bits pour le groupe
  • yy représente le numéro de l’AVF

3. Configuration et Vérification HSRP

3.1. Topologie d’étude

  • Port-Channels et Trunks VLANs : Po1, Po2, Po3
  • VLANs : 1 et 10
  • interface SVI vlan 10
  • Rapid Spanning-Tree DS1 root primary
  • Rapid Spanning-Tree DS2 root secondary
Topologie d'étude HSRP

3.2. Configuration de base HSRP en Cisco IOS

Dans la configuration d’une interface faisant office de passerelle par défaut d’un réseau local (LAN, VLAN), on définiti un groupe HSRP, une adresse IP virtuelle commune à tous les routeurs du groupe, une priorité la plus élevée qui décide du routeur “active”, et de la préemption.

DS1

hostname DS1
interface vlan 10
 ip address 192.168.10.252 255.255.255.0
 no shutdown
 standby 10 ip 192.168.10.254
 standby 10 priority 150
 standby 10 preempt
ip routing

DS2

hostname DS2
interface vlan 10
 ip address 192.168.10.253 255.255.255.0
 no shutdown
 standby 10 ip 192.168.10.254
ip routing

Alors que la priorité est d’une valeur de 100 par défaut et que la préemption est désactivée par défaut, ces paramètres sont laissé à ces valeurs pour la configuré de DS2 dans le groupe HSRP 10. Par contre une priorité plus élévée fixée à 150 ainsi que la préemption dans le groupe 10 sur DS1 l’assure d’être dans tous les cas de présence un routeur “HSRP Active”.

3.3 Vérifications HSRP

Comme dans les commandes de configuration d’interface du protocole HSRP, on retrouve le mot-clé standby dans show standby.

show standby
show standby neighbors
show standby brief

3.4. HSRP en IPv6

Pour activer HSRP en IPv6 il est nécessaire d’activer la version 2 de HSRP via la commande standby version 2 et de définir une adresse IPv6 virtuelle comme par exemple avec la commande standby ipv6 autoconfig

hostname DS1
ipv6 unicast-routing
interface vlan 10
 ipv6 address fd00:db8:1ab:1::1/64
 ipv6 address fe80::D1 link-local
 standby version 2
 standby 10 ipv6 autoconfig
interface po3
 ipv6 address fe80::D1 link-local
hostname DS2
ipv6 unicast-routing
interface vlan 10
 ipv6 address fd00:db8:1ab:1::2/64
 ipv6 address fe80::D2 link-local
 standby version 2
 standby 10 ipv6 autoconfig
interface po3
 ipv6 address fe80::D2 link-local

On notera qu’il sera certainement utile d’activer le routage IPv6 et le protocole IPv6 sur les interfaces avec un préfixe.

Pour le diagnostic IPv6 en Cisco IOS, quelques commandes utiles.

show ipv6 interface
show standby
show ipv6 route

3.5. Authentification HSRP avec un Key-Chain MD5

Une authentification HSRP servirait à empêcher quiconque accédant au réseau local d’influencer le comportement HSRP. Autrement dit seuls les routeurs possédant un “secret” pourrait participer au processus HSRP.

Il existe deux types d’authentification HSRP :

  • Plain-text : le mot de passe est écrit en clair dans les paquets qu’il serait aisé à capturer et à décoder
  • MD5 : les routeurs partages une clé secrète qui est utilisée pour générer des sommes de contôle MD5 dans les paquets. Seuls ceux qui possèdent ce secret qui n’est pas transmis dans les messages HSRP ont confiance entre eux. C’est la méthode recommandée.

Toutefois, on remarquera utilement que l’authentification HSRP ne protège en rien des attaques de redirection comme APR (“ARP Poison Routing”) ou de plus haut niveau (DHCP, DNS, …).

Mémo authentification HSRP via “Key Chain”

La procédure de mise en place d’une authentification HSRP via “Key Chain” consiste à créer un key chain (un trousseau), à instancier une clé, à valoriser cette clé secrète mais partagée et puis à l’indiquer dans la configuration du groupe HSRP sur l’interface.

Switch(config)# key chain <chain-name>
Switch(config-keychain)# key <key-number>
Switch(config-keychain-key)# key-string [0 | 7] <string>
Switch(config)# interface <type mod/num>
Switch(config-if)# standby <group> authentication md5 key-chain <chain-name>

Exemple de mise en oeuvre de l’authentification HSRP via “Key Chain”

Tous les routeurs d’un groupe se voient directement et doivent partager la même clé.

key chain hsrp10
 key 1
 key-string testtest
interface vlan 10
 standby 10 authentication md5 key-chain hsrp10

3.6. Adapter les délais HSRP

Pour de meilleures performances, on trouvera utile d’adapter les délais HSRP.

interface vlan10
 standby 10 timers msec 100 msec 300

4. Configuration et vérifications VRRP

VRRP se déploie de la même manière

En configuration d’interface :

vrrp <group> ip <address>
vrrp <group> priority <0-255>
vrrp <group> preempt

En mode privilège :

show vrrp
show vrrp neighbors
show vrrp brief

Notes

Repasser sur https://www.cisco.com/c/en/us/td/docs/switches/datacenter/sw/5_x/nx-os/unicast/configuration/guide/l3_cli_nxos/l3_hsrp.html

et sur https://learningnetwork.cisco.com/thread/77749

Notes :

HSRP consists of 6 states:

State Description Initial This is the beginning state. It indicates HSRP is not running. It happens when the configuration changes or the interface is first turned on Learn The router has not determined the virtual IP address and has not yet seen an authenticated hello message from the active router. In this state, the router still waits to hear from the active router. Listen The router knows both IP and MAC address of the virtual router but it is not the active or standby router. For example, if there are 3 routers in HSRP group, the router which is not in active or standby state will remain in listen state. Speak The router sends periodic HSRP hellos and participates in the election of the active or standby router. Standby In this state, the router monitors hellos from the active router and it will take the active state when the current active router fails (no packets heard from active router) Active The router forwards packets that are sent to the HSRP group. The router also sends periodic hello messages Please notice that not all routers in a HSRP group go through all states above. In a HSRP group, only one router reaches active state and one router reaches standby state. Other routers will stop at listen state.

Now let’s take an example of a router passing through these states. Suppose there are 2 routers A and B in the network; router A is turned on first. It enters the initial state. Then it moves to listen state in which it tries to hear if there are already active or standby routers for this group. After learning no one take the active or standby state, it determines to take part in the election by moving to speak state. Now it starts sending hello messages containing its priority. These messages are sent to the multicast address 224.0.0.2 (which can be heard by all members in that group). When it does not hear a hello message with a higher priority it assumes the role of active router and moves to active state. In this state, it continues sending out periodic hello messages.

Now router B is turned on. It also goes through initial and listen state. In listen state, it learns that router A has been already the active router and no other router is taking standby role so it enters speak state to compete for the standby router -> it promotes itself as standby router.

Suppose router A is in active state while router B is in standby state. If router B does not hear hello messages from router A within the holdtime (10 seconds by default), router B goes into speak state to announce its priority to all HSRP members and compete for the active state. But if at some time it receives a message from the active router that has a lower priority than its priority (because the administrator change the priority in either router), it can take over the active role by sending out a hello packet with parameters indicating it wants to take over the active router. This is called a coup hello message.

Notes :

HSRPv1 HSRPv2 differences

In HSRP version 1, group numbers are restricted to the range from 0 to 255. HSRP version 2 expands the group number range from 0 to 4095

IPV6 support in HSRPv2

Laisser un commentaire