CCNP ROUTE 2: visión de conjunto de EIGRP y relaciones de vecinos

Revisión de EIGRP CCNA

Revisión de la configuración

Cisco usa el comando "router eigrp asn" además de uno o más subcomandos "network net-id wildcard-mask" para habilitar EIGRP en el router y sus interfaces. Las reglas para estos comandos son las siguientes:

  1. Los routers vecinos deben configurarse con el mismo ASN para que que sean vecinos.
  2. IOS solo habilita EIGRP en las interfaces que coinciden con el comando network. Una vez habilitado el router hace lo siguiente:
    1. Intenta descubrir vecinos EIGRP en esa interface enviando mensajes de EIGRP Hello multicast.
    2. Anuncia a los otros vecinos en esa interface sobre la subred conectada al interface.
  3. Si no se ha configurado la máscara (wildcard-mask) en el comando network, el único parámetro del comando debería ser un número de red classful (en otras palabras, una red clase A, B o C).
  4. Si no se ha configurado la máscara (wildcard-mask) en el comando network, el comando habilita EIGRP en todas las interfaces del router que estén directamente conectadas a la red classful.
  5. Si el comando network incluye la máscara, el router realiza una lista de control de acceso (ACL) lógica al comparar el net-id configurado en el comando network con la dirección IP de cada interface, usando la máscara configurada como una máscara de ACL.

Verificación de la configuración

Comando Información
show ip eigrp interfaces Lista las interfaces activas en las cuales EIGRP está habilitado (basado en los comandos network), se omiten interfaces pasivas.
show ip protocols Lista los contenidos de los comandos de configuración de network por cada proceso corriendo además de una lista de las direcciones IP de los vecinos.
show ip eigrp neighbors Lista vecinos conocidos,
show ip eigrp topology Lista todas las rutas sucesoras (successor) sucesoras factibles (feasible succesor) conocidas por este router.
show ip route Lista el contenido de la tabla de rutado IP (IP routing table), mostrando una D a la izquierda si fueron aprendidas vía EIGRP.

 

Revisión interna

 

  1. Neighbor discovery: los routers EIGRP envían mensajes HELLO para descubrir potenciales router EIGRP vecinos y realizar las comprobaciones básicas para determinar que routers deben convertirse en vecinos.
  2. Topology Exchange: Los vecinos intercambian actualizaciones de la topología completa cuando se establece la relación de vecindad y entonces solo es necesario actualizaciones basadas en cambios de la topología.
  3. Choosing Routes: Cada router analiza sus respectivas tablas de topología EIGRP eligiendo la ruta de menor métrica para alcanzar cada subred.
Sumario de características de EIGRP
Característica Descripción
Transport (transporte) IP, protocolo tipo 88 (no use UDP o TCP)
Metrica (metric) Basado en ancho de banda limitado y retardo acumulativo por defecto y opcionalmente carga y fiabilidad.
Intervalo de Hello Intervalo en el cual el router envía mensajes de Hello de EIGRP en un interface.
Hold timer Temporizador usado para determinar cuando un router vecino ha fallado, basandose en que un router no ha recibido ningún mensaje de EIGRP, incluyendo Hellos en este periodo de tiempo.
Actualización de dirección destino Normalmente enviada a la dirección 224.0.0.10, con retransmisiones enviadas a cada dirección unicast de cada vecino.
Actualizaciones parciales o completas Se envían actualizaciones completas SOLO cuando un vecino es descubierto, si no, se envían actualizaciones parciales.
Autenticación Solo soporta autenticación MD5
VLSM/classless EIGRP incluye la máscara con cada ruta, también permite redes no contiguas y VLSM
Etiquetas de rutas Permite a EIGRP etiquetar rutas según son distribuidas por EIGRP
Campo siguiente salto (next-hop) Permite el anuncio de rutas con router de diferente next-hop que el router que anuncia
Sumarización de ruta manual Permite la sumarización de rutas en cualquier punto de la red EIGRP
Sumarización automática EIGRP soporta y por defecto usa, somatización de rutas automática en los límites de la red classfull
Multiprotocolo Soporta el anuncio de rutas de IPX y AppleTalk, así como de IPv6.

 

Vecindad EIGRP

 

Establecer relaciones de vecindad EIGRP con otros routers que comparten una subred común. Intercambiar datos de topología EIGRP con esos vecinos. Calcular la mejor ruta IP actual y añadir esas mejores rutas a la tabla de rutado.

Manipulando EIGRP Hellos y Hold Timers

Un router por defecto envía Hellos cada 5 segundos y si tras (Hold Timer) 15 segundos (o 3 Hellos) no recibe una respuesta del vecino asuma que está caído y empieza la convergencia. Estos parámetros se pueden modificar aunque el IOS NUNCA permitirá que el HoldTimer sea inferior al Hello ya que provocaría flapeos.

Por norma general es buena idea configurar los mismos valores en todos los interfaces de los routers en la misma subnet, aunque hay caso en los que es conveniente cambiarlos. La configuración de ambos comandos se hace dentro de la interface de la siguiente forma:

interface type module/number
 ip hello-interval eigrp ASN segundos
 ip hold-timer eigrp ASN segundos

Para verificar el estos valores no vale con un simple comando "show" a menos que podamos ver la configuración con "show run interface type module/number" en cuestión (NOTA: en algunos exámenes no se permite ver la configuración). Por lo que para ver el valor de "hello-interval" podemos usar el comando:

show ip eigrp interface type module/number detail

Pero para obtener el valor de "hold-timer" tenemos que intuirlo ejecutando el comando "show ip eigrp neighbors" varias veces viendo como cambia el valor en la columna "Hold". Por ejemplo si vemos que ese valor varia entre 10 y 15 podremos asumir que tiene el valor por defecto de 15.

Previniendo vecinos no deseados usando Interfaces pasivas (Passive Interfaces)

Cuando el subcomando de configuración "network" de EIGRP coincide en una interface, EIGRP en ese router hace dos cosas:

  1. Intenta encontrar vecinos EIGRP potenciales enviando Hellos a la dirección de multicast 224.0.0.10
  2. Anuncia la subred conectada a ese interface

Pero en algunos casos en ciertas interfaces puede que no haya vecinos o puede haber otros vecinos que no nos interesen aunque la subred coincida con el subcomando "network", por lo que en dichos casos queremos anunciar la subred configurada en ese interface pero no buscar ni establecer vecindad, por lo que podemos usar uno de estas dos opciones:

  1. Habilitar EIGRP en esa interface usando el contando "network" de EIGRP pero diciendo al router que no envíe ningún mensaje EIGRP en esa interface haciéndola pasiva (usando el comando "passive-interface").
  2. No habilitar el EIGRP en esa interface y anunciar las rutas conectadas usando la redistribución de rutas (con el comando "redistribute connected"). (NOTA menos preferida)

Para la primera opción tenemos dos posibles formas de configurar

  1. Indicando que interfaces son las pasivas:
    router eigrp ASN
     passive-interface type module/number
     network a.b.c.d
  2. Indicando que TODAS las interfaces son pasivas y luego indicando las que no lo son.
    router eigrp ASN
     passive-interface default
     no passive-interface type module/number
     network a.b.c.d

Controlando vecindad usando la autenticación EIGRP

Podemos configurar en los router una misma clave pre compartida para que cada mensaje EIGRP se autentique. Desde el punto de vista del diseño la autenticación EIGRP ayuda a prevenir ataques DoS pero no provee de ninguna privacidad. Si un router recibe un mensaje EIGRP y la clave no coincide descarta ese mensaje.

La configuración de la autenticación EIGRP requiere ciertos pasos:

  1. Crear un llavero de autenticación (key chain):
    • Crear el llavero y darle un nombre con el co,ando global "key chain name" (entra en ese modo). El nombre no tiene porque coincidir en los routers vecinos.
    • Crear uno o más números de clave usando el comando "key number" en el modo key chain. El numero de clave no tiene porque coincidir en los routers vecinos.
    • Definir el valor de la clave de autenticación usando el comando "key-string value" en el modo key chain. Las claves deben coincidir en los routers vecinos.
    • (opcional) Definir el tiempo de vida (periodo de tiempo) para tanto enviar y recibir cada cadena de clave.
  2. Habilitar la autenticación EIGRP MD5 en un interface para un particular EIGRP ASN usando el comando "ip authentication mode eigrp ASN md5 dentro de la interface.
  3. Indicar la cadena (llavero) correcto a usar en el interface usando el comando "ip authentication key-chain eigrp ASN nombre-del-llavero" dentro de la interface.

En un llavero (key chain) podemos tener varias llaves, algunas pueden ser válidas y otras no. Si una clave (key) tiene tiempo de vida (lifetime) será válida SOLO durante ese tiempo ya sea presente o futuro, si no será válida todo el tiempo. Para saber que claves (keys) se van a usar del llavero (key chain) se siguen estas reglas:

  • Envío de mensajes EIGRP: se usa la clave (key) con numero más bajo de todas las que sean válidas.
  • Recepción de mensajes EIGRP: se comprueba el MD5 usando TODAS las claves (keys) válidas.

NOTA: Es aconsejable configurar NTP si se configura autenticación EIGRP.

Para configurar la autenticación:

key chain nombre-llavero
 key numero
  key-string clave
  accept-lifetime fecha-ini fecha-fin
  send-lifetime fecha-ini fecha-fin
!
interface type module/number
 ip authentication mode eigrp ASN md5
 ip authentication kay-chain eigrp ASN nombre-llavero

La mejor forma para confirmar que la autenticación ha funcionado es verificar que los vecinos están conectados usando el comando "show ip eigrp neighbors". Sin embargo, si algún vecino no está conectado podemos ver el problema con estos 2 comandos "show key chain" (muestra el llavero indicando qué claves son válidas) y "debug eigrp packet" (muestra mensajes de routers que han fallado la autenticación). Cuando se está investigando un problema debemos tener presente estos puntos:

  1. Examinar la configuración y la hora actual en ambos routers ya que podría invalidar alguna clave por tener mal la hora.
  2. El nombre del llavero (key chain name) y el número de clave (key number) no tiene por qué coincidir en ambos routers.
  3. La clave SI debe coincidir en todos los routers.
  4. Comprobar que claves (keys) son válidas en este momento usando el comando "show key chain".
  5. Ambos comandos en la interface (ver más arriba) deben estar presentes, si falta uno de los dos la autenticación falla.

Controlando vecindad usando configuración estática

EIGRP permite definir estáticamente vecinos en vez de que se descubran dinámicamente, aunque es rara vez usado.

Para definir un vecino ambos routers deben configurar el comando "neighbor direccion-ip-vecino interface-de-salida" dentro de la sección de EIGRP ASN. La dirección IP es la del interface del vecino, evidentemente debe estar en la misma subred que la interface que se indica como salida, si no, el comando será rechazado. También hay que tener en cuenta que no hay que incluir un comando "network IP" que coincida con la subred del interface ya que EIGRP anuncia la red configurada en la interface.

router eigrp ASN
 neighbor direccion-ip-vecino interface-de-salida

Para ver si un vecino está configurado estáticamente podemos usar el comando "show ip eigrp neighbors detail" (IMPORTANTE: se debe indicar detail.)

Hay que tener presente que cuando se configura un vecino estáticamente, ese interface no procesa e ignora los paquetes multicast EIGRP.

A continuación un listado de puntos que requiere EIGRP para su correcto funcionamiento:

  1. Los routers deben poder enviar y recibir paquetes IP uno a otro.
  2. Las direcciones IP primarias de la interface deben estar en la misma subred.
  3. La interface NO debe estar en pasivo (passive interface).
  4. Debe usarse el mismo ASN el en comando router.
  5. Hello interval y Hold timer no tienen por qué coincidir.
  6. Debe pasar la autenticación si se configura.
  7. los valores K (K-values) usados en el calculo de métrica deben coincidir.
  8. El router ID no tiene por qué se único pero es aconsejable.

EIGRP usa el Router ID para representar cada router, este RID es de 32 bits representado en decimal. Cada router determina su RID cunado el proceso EIGRP empieza, usando estos pasos para ello:

  1. Usa el valor configurado (usando el comando "eigrp router-id a.b.c.d" dentro de EIGRP).
  2. Usa la dirección IPv4 más alta en una interfaces de loopback UP/UP.
  3. usa la dirección IPv4 más alta en una interfaces de NO loopback UP/UP.

La única vez que el valor de EIGRP RID importa es cuando se inyectan rutas externas a EIGRP, en este caso los routers que inyectan rutas externas DEBEN tener un RID único para evitar confusión.

Vecindad sobre WAN

--AMPLIAR--

Retro

Lugares

Redes

Sistemas

Varios