VRRP, HSRP, GLBP y sucedáneos

Estos protocolos sirven para ofrecer alta disponiblidad ( y en el caso de GLBP también balanceo de carga) entre diferentes routers o switches L3. La alta disponibilidad nos provee de un un sistema de tolerancia a fallos, balanceando una ip virtual entre los diferentes routers/switches, así al dejar de estar disponible el gw “principal” pasará a ocupar su lugar el siguiente en la lista.

La estructura que se muestra a continuación, se va a utilizar con los con los 3 protocolos, VRRP, HSRP y GLBP.

 

VRRP, Virtual Router Redundancy Protocol

  • Estándar del IETF definido en el RFC 2338
  • Multicast 224.0.0.18 protocolo 112
  • VRRP define el router activo como master, mientras que el resto de routers estan en backup state
  • Los grupos se numeran desde 0 a 254. La prioridad desde 0 a 255, por defecto es 100 y la mayor es 254. La mayor prioridad define el router master
  • Por defecto, los routers VRRP tanto en linux como en Cisco están habilitados con la opción “preempt”, que se asegura de que después de que el master vuelva on-line, después de estar caído, vuelva a ser master, “quitándole” el puesto al master actual. Esto también es común, y configurable en Heartbeat o CARP/UCARP.
Tal y como vemos en el mapa de red, los routers balancearan 2 ips virtuales: una de cara a los clientes (hostx) y otra de cara al equipo remote. Vemos que el R2 tiene escrito “high prio”. Cuando todo esté estable, este router tendrá las 2 ips virtuales. En caso de caer este, pasarían al R1, ya que tiene menos prioridad que R2 pero más que R3, y en ultima instancia, al R3. Al volver a la vida el R2, este recuperaría su estado de master, ya que la opción preempt está habilitada por defecto.
He aquí la configuración de los 3 routers para VRRP. Los hostx tendrán como GW 192.168.1.100 y el host “remote” accederá a la red 192.168.1.0/24 a través de la ip virtual 10.10.10.100.

R1

interface Ethernet0/0
 ip address 10.10.10.1 255.255.255.0
 vrrp 2 ip 10.10.10.100
 vrrp 2 timers advertise 5
 vrrp 2 priority 150
.
.
interface Vlan1
 ip address 192.168.1.1 255.255.255.0
 vrrp 1 ip 192.168.1.100
 vrrp 1 timers advertise 5
 vrrp 1 priority 150

R2

interface Ethernet0/0
 ip address 10.10.10.2 255.255.255.0
 vrrp 2 ip 10.10.10.100
 vrrp 2 timers advertise 5
 vrrp 2 priority 200
.
.
interface Vlan1
 ip address 192.168.1.2 255.255.255.0
 vrrp 1 ip 192.168.1.100
 vrrp 1 timers advertise 5
 vrrp 1 priority 200

R3

interface Ethernet0/0
 ip address 10.10.10.3 255.255.255.0
 vrrp 2 ip 10.10.10.100
 vrrp 2 timers advertise 5
.
.
interface Vlan1
 ip address 192.168.1.3 255.255.255.0
 vrrp 1 ip 192.168.1.100
 vrrp 1 timers advertise 5

HSRP, Hot Standby Router Protocol

  • Protocol propietario de Cisco, definido en el RFC 2281
  • Mismo funcionamiento que VRRP
  • Multicast 224.0.0.2 UDP 195
  • Entre otros, define los estados Active y Standby
  • La opción preempt viene deshabitada por defecto
  • Permite tracking del estado de interfaces, para promover el cambio de estado de un router, en base al estado de sus interfaces
Esta es la configuración de los 3 routers para HSRP. Vereís que es prácticamente idéntica a la de VRRP.

R1

interface Ethernet0/0
 ip address 10.10.10.1 255.255.255.0
 standby 2 ip 10.10.10.100
 standby 2 priority 150
 standby 2 preempt
.
.
interface Vlan1
 ip address 192.168.1.1 255.255.255.0
 ip virtual-reassembly
 standby 1 ip 192.168.1.100
 standby 1 priority 150
 standby 1 preempt

R2

interface Ethernet0/0
 ip address 10.10.10.2 255.255.255.0
 half-duplex
 standby 2 ip 10.10.10.100
 standby 2 priority 200
 standby 2 preempt
.
.
interface Vlan1
 ip address 192.168.1.2 255.255.255.0
 standby 1 ip 192.168.1.100
 standby 1 priority 200
 standby 1 preempt

R3

interface Ethernet0/0
 ip address 10.10.10.3 255.255.255.0
 standby 2 ip 10.10.10.100
 standby 2 preempt
.
.
interface Vlan1
 ip address 192.168.1.3 255.255.255.0
 standby 1 ip 192.168.1.100
 standby 1 preempt

 

GLBP, Gateway Load Balancing Protocol

Como hemos podido observar, VRRP y HSRP son muy muy parecidos. Los dos balancean una o varias Ips virtuales y en base a sus prioridades, cada router tiene un rol dentro del grupo. Pero si resulta, que además de proveer HA, queremos balancear la carga de salida de nuestra red entre nuestros 3 routers/switches, como lo hacemos? (Y no vale configurar a pelo los 300 ordenadores de la empresa con diferentes GW… :) )

Es aquí donde GLBP puede ayudarnos. 

Cuando un equípo quiere comunciarse con otro equipo que está fuera de su red, realizará un ARP Request de la ip de su siguiente salto a ese destino, generalmente la ruta por defecto. En VRRP o HSRP (o en un entorno sin ninguno de estos dos protocolos) respondería el equipo que contiene esa Ip en ese momento (el GW), advirtiendo su MAC para que el equipo emisor puede registrarla en su cache ARP. Esto está bien pero no nos sirve para balancear la carga entre los diferentes GW, ya que todo el tráfico entrará por uno solo de los GWs.

GBLP define un router como AVG (Active Virtual Gateway) el cual es responsable de “dispachear” las “ARP Responses” con diferentes MACs para cada cliente. Así, por ejemplo, el host1 tendrá una MAC en su tabla ARP para 192.168.1.100, que corresponderá  a R1, el host2 y host3 tendrá una MAC registrada para 192.168.1.100 que corresponderá a R2 y los hosts4 y 5 lo propio con R3.

En caso de que cualquiera de los routers se cayese, los clientes “se repartirian” entre los routers que quedasen activos, despues de recalcular el algoritmo al cual nos atengásemos a la hora de configurar el protocolo. El algoritmo por defecto es round-robin.

Según me comenta Eduardo Collado (http://eduangi.com) , experto en la materia, GLBP está en desuso, ya que la funcionalidad de balanceo de carga, ya la realizan los balanceadores actuales mediante ARP Proxy.

Aquí os muestro la configuración para GBLP del ejemplo mostrado arriba:

R1

interface Ethernet0/0
 ip address 10.10.10.1 255.255.255.0
 glbp 2 ip 10.10.10.100
 glbp 2 priority 150
 glbp 2 preempt
.
.
interface Vlan1
 ip address 192.168.1.1 255.255.255.0
 glbp 1 ip 192.168.1.100
 glbp 1 priority 150
 glbp 1 preempt

R2

interface Ethernet0/0
 ip address 10.10.10.2 255.255.255.0
 glbp 2 ip 10.10.10.100
 glbp 2 priority 200
 glbp 2 preempt
.
.
interface Vlan1
 ip address 192.168.1.2 255.255.255.0
 glbp 1 ip 192.168.1.100
 glbp 1 priority 200
 glbp 1 preempt

R3

interface Ethernet0/0
 ip address 10.10.10.3 255.255.255.0
 glbp 2 ip 10.10.10.100
 glbp 2 preempt
.
.
interface Vlan1
 ip address 192.168.1.3 255.255.255.0
 glbp 1 ip 192.168.1.100
 glbp 1 preempt

Otro protocolo que permite tanto Ips Virtuales como balanceo de carga entre diferentes GW de una LAN, es CARP (Common Address Redudancy Protocol), utilizado en entornos BSD y portado a Linux como UCARP, a nivel de userspace. Aquí os dejo un link a las míticas songs de Opensbsd, donde hacen una parodia entre VRRP y CARP, dadas las patentes de Cisco que contiene VRRP. http://www.openbsd.org/lyrics.html#35

 

Eso es todo, gracce mile!!

This entry was posted in Certificaciones and tagged , , , . Bookmark the permalink.
  • tosu

    Muy bueno tu !! buena referencia para tener a la hora de trastear/aprender… Salu2 y sigue dandole…

  • b3to

    MUY BUENA INFORMACION, Y MUCHAS GRACIAS POR PONERLA, ME HAS SACADO DE MUCHAS DUDAS.

  • pablo

    hola compañero, muy buena info

    Una duda que tengo haber si me la puedes aclarar.

    Tanto en hsrp como en vrrp configuras para elnodo remoto la interfaz f0/0 que es la que esta conectada hacia el, en cambio, para los host configuras la vlan y no la interfaz fisica que conecta con ellos, a que se debe eso ?

    supongo que configurando el puerto fisica con el switchport acces vlan1 cogerian esa conf, no? Daria mas flexibilidad para cambiar de puerto cuando quieras, no?

    Saludos y gracias

  • Cristian

    Para GLBP, entiendo que el trafico de salida pueda ser balanceado o compartido por los diferentes enlaces de salida, sin embargo, me queda duda de como baja el tráfico hacia los hosts desde el equipo “Remoto”. ¿Alguien puede aclararme esta duda? Gracias

  • Cristian

    Pablo: A tu pregunta: “Tanto en hsrp como en vrrp configuras para elnodo remoto la interfaz f0/0 que es la que esta conectada hacia el, en cambio, para los host configuras la vlan ” Asumo que está usando un router con puertas switch, por eso usa interface VLAN.

  • Maro gomez

    Me gusto mucho buena info!! Solo una pregunta, tengo el siguiente escenario: 2 routers y configurado el vrrp; solo que al hacer un sh vrrp en ambos routers las 2 interfaces me aparecen como master. Segun entiendo esta haciendo un balanceo, es asi? y como hago para q el trafico se valla solo por la master y en caso de falla en este levante el backup.

    Slds.

  • Percy

    La informacion es muy util y la agradezco mucho.
    Pregunta: Estoy usando VRRP entre dos switches L3, para poder tener redundancia. Lo que mi proveedor me pide es que la interfaz del router o switch l3 INACTIVO este DOWN y solo se active cuando se vuelva MASTER, AUTOMATICAMENTE….
    Que comandos se puede utilizar para este objetivo?
    Muchas gracias
    Saludos

  • Henry Hernandez

    hola queria hacerles una consulta, yo e tratado de usar GLBP en 2 Routers en un mismo sitio con distinto proveedor pero el trafico no lo divide sera que este protocolo no trabaja asi tengo 512kb de ancho de banda en cada router, o como puedo hacer para no tener uno de ellos sin trafico.

  • Manolopm

    Gracias por la info, me has aclarado muchas cosas

  • Ely

    Muchasss gracias por la info.