lunes, 4 de junio de 2012

HSRP: Alta disponibilidad a nivel de gateway

La primera cosa que no esta en el temario de CCNA, y que debería aprender un estudiante de CCNA para dedicarse a este negocio es HSRP, una de esas cosas básicas que tienes que dominar hasta la saciedad.

HSRP es un protocolo que permite tener una ip virtual a parte de la real, y esa ip virtual la tendrá activa un router en un segmento de red, no es posible que esté activa en ambos. Si el router activo pierde conectividad con el pasivo, el router pasivo inmediatamente pasará a tener activa la dirección ip virtual.

El requisito obviamente es que ambos routers estén en la misma lan, y tengan conectividad entre ellos por esa vlan, porque en caso de no tener conectividad entre ellos por temas de VACL  o similares, los dos se pondrán activos y entonces comenzará la fiesta :-D .

Configuración:

Dentro de una interfaz, ya sea física, vlan o lo que te de la gana:

standby <nºgrupo> ip <ip_virtual>  <---- se pueden configurar varios grupos en la misma vlan por si quieres tener varias icvirtuales
 standby <nºgrupo> priority <prioridad 0-250> <---la mayor prioridad gana
 standby <nºgrupo> preempt <---sirve para que si un router con prioridad mayor se haga automáticamente activo aunque ya haya uno activo, si no esta activo esperaría hasta que el activo deje de responder
 standby <nºgrupo> authentication md5 key-string <PASSWORD>
Resulta conveniente poner password porque si alguien pincha a tu red un equipo con linux y un programa para HSRP sería posible hacer un ataque de Man In The Middle, que por cierto me lo voy a apuntar para otro articulillo mas adelante porque es fácil y divertido de hacer.

Un ejemplo de esto:



Activo:

interface Vlan2
   ip address 192.168.1.11 255.255.255.0
   standby 2 ip 192.168.1.1
   standby 2 priority 200
   standby 2 preempt
   standby 2 authentication md5 key-string GoMiNoLa

Standby:

interface Vlan2
 ip address 192.168.1.22 255.255.255.0
 standby 2 ip 192.168.1.1
 standby 2 preempt
 standby 2 authentication md5 key-string GoMiNoLa

Comprobamos el estado desde el activo:

R1#show standby brief
                     P indicates configured to preempt.
                     |
Interface   Grp Prio P State    Active          Standby         Virtual IP    
Vl2         2   200  P Active   local           192.168.1.22    192.168.1.1  
Nosotros somos los activos, y el stanby es el 192.168.1.22

Ahora vamos a lanzar un ping desde uno de los routers de abajo, y vamos a incomunicar el activo, y pasado unos segundos lo vamos a poner en juego.

R3#ping 192.168.1.1 repeat 1000

Type escape sequence to abort.
Sending 1000, 100-byte ICMP Echos to 192.168.1.1, timeout is 2 seconds:
.!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!..!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!<---los dos paquetes fallidos cuando falla el activo
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!.!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!<---otro paquete fallido cuando vuelve a ponerse activo
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!
Success rate is 99 percent (996/1000), round-trip min/avg/max = 4/16/68 ms
Aquí podemos ver lo que se ve en el servidor cuando tiramos la interfaz y volvemos a levantarla.

R1(config-if)#shut
R1(config-if)#
*Mar  1 03:09:26.791: %HSRP-5-STATECHANGE: Vlan2 Grp 2 state Active -> Init
*Mar  1 03:09:28.799: %LINK-5-CHANGED: Interface Vlan2, changed state to administratively down
*Mar  1 03:09:29.799: %LINEPROTO-5-UPDOWN: Line protocol on Interface Vlan2, changed state to downno shut
R1(config-if)#
*Mar  1 03:09:38.407: %LINK-3-UPDOWN: Interface Vlan2, changed state to up
*Mar  1 03:09:38.827: %HSRP-5-STATECHANGE: Vlan2 Grp 2 state Listen -> Active
*Mar  1 03:09:39.407: %LINEPROTO-5-UPDOWN: Line protocol on Interface Vlan2, changed state to up
 Por último hay que añadir, que hay un comando bastante práctico que es el comando track, el cual permite, que si se cae otra interfaz nuestra prioridad de HSRP se decremente, es algo que se hace para cuando se cae un uplink en un switch de distribución, automáticamente el otro se ponga activo.

R1(config-if)#standby 2 track fastEthernet 0/0 120

Este comando lo que haría es que cuando se caiga la interfaz fa0/0 la prioridad de hsrp para este grupo, en esta ip, y en este router, se decremente en 120, que en el caso del ejemplo pasaría a tener 80.

Por último, y muy importante, HSRP es un protocolo propietario de cisco, por tanto para routers de otro fabricante tendrás que usar otro protocolo como VRRP.

No hay comentarios:

Publicar un comentario