lunes, 16 de julio de 2012

MST: Otra evolución de spanning tree(802.1s)


 Este artículo es una introducción a MST, no pretende abarcar todo el contenido de MST, pero sirve como una guia introductoria, con sus comandos básicos, y si gusta, quizá haya mas artículos sobre MST.

Spanning Tree desde que fue dado a luz hace muchos años ha sufrido muchas evoluciones, dichas evoluciones van siempre orientadas a hacer un poco mas llevable un protocolo que desde la perspectiva de diseño siempre ha sido poco flexible.

MST es una de estas evoluciones, en realidad el MST 802.1s es una evolución de rapid spanning tree. MST aborda el hecho de que resulta un malgasto de recursos el tener una instancia de spanning tree, con su root, y su calculo del mejor camino para cada vlan, sobre todo cuando en el 99% de las LAN tienen la misma topología para todas las vlan, o como mucho una topología con un root para las pares, y otra para las impares, de cara al balanceo de carga.

Lo cierto es que cuando hay un cambio de topología porque un trunk se cae, en los spanning tree "tradicionales" se produce una marabunta de bpdu's que inundan la red, calculos independientes por vlan de root, y seamos realistas, es poco práctico.

MST en lo que consiste a grandes rasgos es, en lugar de tener una instancia de spanning tree para todas las vlan como el STP tradicional, ni tampoco tener una instancia de spanning tree para cada vlan, coge el concepto de ambos y lo funde. Una instancia de spanning tree para cada "grupo" de vlans.

En MST se crean instancias, una es la instancia de STP por defecto, que es la instancia 0, o tambien conocida como IST.

Configuración:

spanning-tree mode mst <---- activa MST
spanning-tree mst configuration
name <nombre_de_la_region>
revision <numero> <----al estilo VTP 
instance <numero> vlan <vlans_metidas_en_la_instancia>

La gran putada de MST es que hay que ir configurandolo igual switch por switch, y si la pifias los puertos empezaran a bloquearse porque los switches se veran entre ellos como regiones diferentes, por lo que para muchas redes resulta poco escalable. Para un entorno de operador, o un entorno muy estable quizá si resulta adecuado ya que ahorra recursos, aunque las migraciones a MST suelen ser complicadas.

Añadir ya de paso como nota positiva que VTP versión 3 permite la propagación de la información de MST, lo cual quitaría el principal handicap de MST.

Ejemplo:

Dos switches y alguno mas colgando que tendría la configuración basica de MST, pero nada de prioridades de root.

Switch 1:

spanning-tree mst configuration
 name ARBOL
 revision 1
 instance 1 vlan 17, 39, 45
 instance 2 vlan 24, 56, 100
!
spanning-tree mst 1 priority 24576  <---root para la instancia 1
spanning-tree mst 2 priority 28672  <---backup root instancia 2


Switch 2:

spanning-tree mst configuration
 name ARBOL
 revision 1
 instance 1 vlan 17, 39, 45
 instance 2 vlan 24, 56, 100
!
spanning-tree mst 1 priority 28672<---backup root instancia 1
spanning-tree mst 2 priority 24576<---root para la instancia 2

Output de switch 1:

show spanning-tree

MST0
  Spanning tree enabled protocol mstp
  Root ID    Priority    32768
             Address     aabb.cc00.0700
             This bridge is the root
             Hello Time   2 sec  Max Age 20 sec  Forward Delay 15 sec

  Bridge ID  Priority    32768  (priority 32768 sys-id-ext 0)
             Address     aabb.cc00.0700
             Hello Time   2 sec  Max Age 20 sec  Forward Delay 15 sec

Interface           Role Sts Cost      Prio.Nbr Type
------------------- ---- --- --------- -------- --------------------------------
Et1/2               Desg FWD 2000000   128.35   Shr
Et1/3               Desg FWD 2000000   128.36   Shr
Et2/0               Desg FWD 2000000   128.65   Shr
Et2/1               Desg FWD 2000000   128.66   Shr
Et2/2               Desg FWD 2000000   128.67   Shr
Et2/3               Desg FWD 2000000   128.68   Shr

         
MST1
  Spanning tree enabled protocol mstp
  Root ID    Priority    24577
             Address     aabb.cc00.0700
             This bridge is the root
             Hello Time   2 sec  Max Age 20 sec  Forward Delay 15 sec

  Bridge ID  Priority    24577  (priority 24576 sys-id-ext 1)
             Address     aabb.cc00.0700
             Hello Time   2 sec  Max Age 20 sec  Forward Delay 15 sec

Interface           Role Sts Cost      Prio.Nbr Type
------------------- ---- --- --------- -------- --------------------------------
Et1/2               Desg FWD 2000000   128.35   Shr
Et1/3               Desg FWD 2000000   128.36   Shr
Et2/0               Desg FWD 2000000   128.65   Shr
Et2/1               Desg FWD 2000000   128.66   Shr
Et2/2               Desg FWD 2000000   128.67   Shr
Et2/3               Desg FWD 2000000   128.68   Shr

         
MST2
  Spanning tree enabled protocol mstp
  Root ID    Priority    24578
             Address     aabb.cc00.0800
             Cost        2000000
             Port        67 (Ethernet2/2)
             Hello Time   2 sec  Max Age 20 sec  Forward Delay 15 sec

  Bridge ID  Priority    28674  (priority 28672 sys-id-ext 2)
             Address     aabb.cc00.0700
             Hello Time   2 sec  Max Age 20 sec  Forward Delay 15 sec

Interface           Role Sts Cost      Prio.Nbr Type
------------------- ---- --- --------- -------- --------------------------------
Et1/2               Desg FWD 2000000   128.35   Shr
Et1/3               Desg FWD 2000000   128.36   Shr
Et2/0               Desg FWD 2000000   128.65   Shr
Et2/1               Desg FWD 2000000   128.66   Shr
Et2/2               Root FWD 2000000   128.67   Shr
Et2/3               Altn BLK 2000000   128.68   Shr

Output switch 2

show spanning-tree

MST0
  Spanning tree enabled protocol mstp
  Root ID    Priority    32768
             Address     aabb.cc00.0700
             Cost        0
             Port        67 (Ethernet2/2)
             Hello Time   2 sec  Max Age 20 sec  Forward Delay 15 sec

  Bridge ID  Priority    32768  (priority 32768 sys-id-ext 0)
             Address     aabb.cc00.0800
             Hello Time   2 sec  Max Age 20 sec  Forward Delay 15 sec

Interface           Role Sts Cost      Prio.Nbr Type
------------------- ---- --- --------- -------- --------------------------------
Et1/2               Desg FWD 2000000   128.35   Shr
Et1/3               Desg FWD 2000000   128.36   Shr
Et2/0               Desg FWD 2000000   128.65   Shr
Et2/1               Desg FWD 2000000   128.66   Shr
Et2/2               Root FWD 2000000   128.67   Shr
Et2/3               Altn BLK 2000000   128.68   Shr

         
MST1
  Spanning tree enabled protocol mstp
  Root ID    Priority    24577
             Address     aabb.cc00.0700
             Cost        2000000
             Port        67 (Ethernet2/2)
             Hello Time   2 sec  Max Age 20 sec  Forward Delay 15 sec

  Bridge ID  Priority    28673  (priority 28672 sys-id-ext 1)
             Address     aabb.cc00.0800
             Hello Time   2 sec  Max Age 20 sec  Forward Delay 15 sec

Interface           Role Sts Cost      Prio.Nbr Type
------------------- ---- --- --------- -------- --------------------------------
Et1/2               Desg FWD 2000000   128.35   Shr
Et1/3               Desg FWD 2000000   128.36   Shr
Et2/0               Desg FWD 2000000   128.65   Shr
Et2/1               Desg FWD 2000000   128.66   Shr
Et2/2               Root FWD 2000000   128.67   Shr
Et2/3               Altn BLK 2000000   128.68   Shr

         
MST2
  Spanning tree enabled protocol mstp
  Root ID    Priority    24578
             Address     aabb.cc00.0800
             This bridge is the root
             Hello Time   2 sec  Max Age 20 sec  Forward Delay 15 sec

  Bridge ID  Priority    24578  (priority 24576 sys-id-ext 2)
             Address     aabb.cc00.0800
             Hello Time   2 sec  Max Age 20 sec  Forward Delay 15 sec

Interface           Role Sts Cost      Prio.Nbr Type
------------------- ---- --- --------- -------- --------------------------------
Et1/2               Desg FWD 2000000   128.35   Shr
Et1/3               Desg FWD 2000000   128.36   Shr
Et2/0               Desg FWD 2000000   128.65   Shr
Et2/1               Desg FWD 2000000   128.66   Shr
Et2/2               Desg FWD 2000000   128.67   Shr
Et2/3               Desg FWD 2000000   128.68   Shr
Como se puede ver en lo resaltado en azul, existe una instancia 0, pero sus funciones las contaremos en otro capitulo, mientras tanto disfrutad con ello ;) .

lunes, 9 de julio de 2012

EEM: Embedded Event Manager

Probablemente publique varios artículos sobre EEM, ya que desde mi punto de vista se trata de una tecnología con una flexibilidad acojonante, pero hoy comenzaremos explicando que es.

EEM como su nombre indica es un gestor de eventos embebido dentro del software de los routers y switches, o lo que es lo mismo, un software dentro de IOS, que te permite que si pasa algún evento dentro del router, el propio router cambie su configuración, mande un e-mail de alerta, o muchas otras cosas.

EEM era posiblemente el complemento que le faltaba a TCL para poder tener un sistema de eventos y scripts dentro de tu router, cosa que permite que tu red sea mas sencilla de controlar.


Configurar applets de EEM:


Tirando de wikipedia llegamos a la definición de applet: Un componente de una aplicación que se ejecuta en el contexto de otro programa.  Bien pues nosotros vamos a configurar applets, a los que tendremos que ponerles nombre.

Router(config)#event manager applet <NOMBRE_APPLET>

Después deberemos seleccionar que evento queremos inspeccionar, cada uno de ellos se configura de manera diferente, por lo que pongo un listado de todo lo que se puede monitorizar.

Router(config-applet)#event ?
  application  Application specific event
  cli          CLI event
  counter      Counter event
  interface    Interface event
  ioswdsysmon  IOS WDSysMon event
  none         Manually run policy event
  oir          OIR event
  resource     Resource event
  snmp         SNMP event
  syslog       Syslog event
  timer        Timer event
  track        Tracking object event 


Una vez que hemos seleccionado la el evento que queremos detectar, lo que configuraremos será la acción que llevaremos a cabo en nuestro router en caso de que se produzca el evento. Al igual que antes pongo un listado con las acciones disponibles en EEM, varía según versión, este es el listado de las disponibles en la 12.4T del laboratorio del CCIE.

Router(config-applet)#action <numero_accion> ?
  cli               Execute a CLI command
  cns-event         Send a CNS event
  counter           Modify a counter value
  force-switchover  Force a software switchover
  info              Obtain system specific information
  mail              Send an e-mail
  policy            Run a pre-registered policy
  publish-event     Publish an application specific event
  reload            Reload system
  snmp-trap         Send an SNMP trap
  syslog            Log a syslog message
  track             Read/Set a tracking object

Si os fijais he puesto numero de acción, acciones se pueden ejecutar varias.

Ejemplo:

Ahora voy a poner un ejemplo sencillo de un applet de eem, el cual detecta que alguien introduzca el comando reload, y el router no solo no se reiniciará, sino que además generará una linea en el log.

event manager applet NO_REINICIAR
 event cli pattern "reload" sync no skip yes occurs 1
 action 1.0 syslog msg "¡¡¡OYE TIO LISTO NO INTENTES REINICIARME QUE ME VOY A CABREAR!!!"

sync no: Es para que la política y el comando no se ejecuten al mismo tiempo, en esta ocasión quiero que el applet se ejecute antes(no quiero que me reinicie el router).
skip yes: Es para configurar que quiero que no haga ni caso al comando.
Occurs 1: es para saber cuantas veces tiene que pasar este evento para que se ejecute la accion.


En linea de comandos:

Router#reload
Router#
*Mar  1 00:15:47.455: %HA_EM-6-LOG: NO_REINICIAR: B!B!B!OYE TIO LISTO NO INTENTES REINICIARME QUE ME VOY A CABREAR!!!

En posteriores artículos pondré otros applets bastante mas útiles, hechos por mi, o que he visto en documentaciones y me han parecido muy útiles.


lunes, 2 de julio de 2012

Netflow: Configuración en routers cisco

Netflow es un protocolo desarrollado por Cisco, que permite recoger estadísticas del tráfico de red en routers y switches.

Netflow consiste en un servidor que recoge estadísticas de los dispositivos de red, para servidores hay muchos tipos, de los gratuitos destaca Cacti que corre sobre linux.

En la parte de los equipos de red lo que se configura es un agente de netflow que será el encargado de ir generando las estadísticas a nivel de equipo.



Las estadísticas que recoge mayormente en la versión 5 de netflow son las siguientes:

  • Interfaz de entrada
  • IP origen
  • IP destino
  • Protocolo
  • Puerto de origen
  • Puerto de destino
  • Tipo de servicio

Para configurar el agente de netflow se hace de manera bastante sencilla:

ip flow-export version 5
ip flow-export destination <ip_servidor> <puerto_servidor>

inteface x/x <----de las que queramos recoger estadísticas
ip flow ingress <---trafico de entrada
ip flow egress <--- trafico de salida

Comandos relacionados:

show ip cache verbose flow

http://www.cisco.com/en/US/docs/ios/netflow/command/reference/nf_01.html

lunes, 25 de junio de 2012

DNS: Configurando un router como servido DNS

Una de esas funcionalidades curiosas, se puede configurar un router cisco como servidor DNS, supongo que para alguna pequeña red puede hacer el apaño.

Para explicarlo voy a poner un ejemplo con este blog:

ip dns server
ip host networkkings-es.blogspot.com ns 192.168.1.1 <---la pagina apunta a esa ip
ip host correo.networkkings-es.blogspot.com ns 192.168.1.33 <---el servidor de correo a esa otra
ip dns primary networkkings-es.blogspot.com soa dns1.networkkings-es.blogspot.com admin@networkkings-es.blogspot.com <--- configuramos el router como ns1.network... como dns primario, y la cuenta de correo del administrador admin@net...

Si esta bien configurado debería tener este aspecto:

R2#show ip dns primary
Primary for zone networkkings-es.blogspot.com:
  SOA information:
  Zone primary (MNAME): dns1.networkkings-es.blogspot.com
  Zone contact (RNAME): admin@networkkings-es.blogspot.com
  Refresh (seconds):    21600
  Retry (seconds):      900
  Expire (seconds):     7776000  
Minimum (seconds):    86400



Mi recomendación es utilizar unos dominios bastante mas pequeños, pero solo era un ejemplo.

https://learningnetwork.cisco.com/docs/DOC-6248

lunes, 18 de junio de 2012

GLBP: Balanceo de carga y redundancia de gateway usando ARP

En artículos anteriores vimos HSRP, y VRRP, que ambos permiten alta disponibilidad en gateways. GLBP es un protocolo similar hasta cierto punto a los anteriores, pero GLBP lo que también permite es hacer balanceo de carga, cosa que salvo artimañas de doble gateway no es posible con VRRP y HSRP.

GLBP tampoco es que sea un protocolo con una tecnología especialmente novedosa, realmente lo único que hace es, que uno de los routers llamado AVG(Active Virtual Gateway) se encarga de responder a todas las peticiones de ARP de todo el mundo en esa vlan para la ip virtual, pero responde a cada cliente con la dirección MAC diferente cada vez, que corresponderá a la de los routers que forman parte del grupo de GLBP, lo que se llama AVF(Active Virtual Forwarders).

Pongo un ejemplo que también deja muy claro como se configura:



Router 1 (AVG):

interface Vlan2
 ip address 192.168.1.11 255.255.255.0
 glbp 2 ip 192.168.1.1
 glbp 2 priority 200 <--- es la prioridad del AVG, luego se balancea el tráfico
 glbp 2 preempt
 glbp 2 authentication md5 key-string GoMiNoLa
end

Router 2 (Standby AVG):

interface Vlan2
 ip address 192.168.1.22 255.255.255.0
 glbp 2 ip 192.168.1.1
 glbp 2 priority 100
 glbp 2 preempt
 glbp 2 authentication md5 key-string GoMiNoLa
end

También tiene opciones para elegir como balancear el tráfico, se puede elegir también que algunos equipos reciban mas tráfico que otros...etc.
Para todo esto, le podéis echar un vistazo a este link:
http://www.cisco.com/en/US/docs/ios/12_2t/12_2t15/feature/guide/ft_glbp.html


lunes, 11 de junio de 2012

VRRP: El primo standard de HSRP

En el artículo anterior hablamos de HSRP como protocolo de alta disponibilidad para gateway, en esta ocasión veremos VRRP que es un protocolo bastante parecido, pero es standard y se puede configurar en cualquier router de cualquier fabricante.

La configuración es bastante parecida, por lo que paso directamente a detallar un ejemplo.



Master:

interface Vlan2
 ip address 192.168.1.1 255.255.255.0
 vrrp 1 ip 192.168.1.1
 vrrp 1 priority 200
 vrrp 2 authentication md5 key-string GoMiNoLa

Backup:

interface Vlan2
 ip address 192.168.1.22 255.255.255.0
 vrrp 1 ip 192.168.1.1
 vrrp 2 authentication md5 key-string GoMiNoLa

Las principales diferencias a la hora de configurar VRRP son , que la ip virtual debe tenerla uno de los routers configurada, y que automáticamente hace preempt, por lo demás es muy muy parecido, cambia la nomenclatura, pero todo muy parecido.

R1#show vrrp
Vlan2 - Group 1 
  State is Master 
  Virtual IP address is 192.168.1.1
  Virtual MAC address is 0000.5e00.0101
  Advertisement interval is 1.000 sec
  Preemption enabled
  Priority is 255 (cfgd 200)
  Master Router is 192.168.1.1 (local), priority is 255
  Master Advertisement interval is 1.000 sec
  Master Down interval is 3.003 sec

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.