Your Next Hop
Deshabilitar preloader

OSPF DMVPN Fase 1 dinámico

OSPF DMVPN Fase 1 dinámico

Autor: Julio Moisa - 2xCCIE R&S / SP #52536

Email: instructores@yournexthop.com


DMVPN es una tecnología utiliza para interconectar redes remotas sobre Internet, todo es realizado desde la red del cliente y el ISP no es involucrado, creando tuneles donde se puede aplicar encripación. Es una forma rapida, facil y de bajo costo. DMVPN puede ser utilizado con cualquier protocolo de enrutamiento, aunque se dice que EIGRP es el protocolo ideal para este tipo de implementaciones.

Así como cada protocolo de enrutamiento es un mundo diferente, lo mismo sucede en DMVPN, es importante conocer que cada implementación con protocolos de enrutamiento tiene sus diferencias, por ejemplo, Split Horizon en protocolos vector distancia o tipos de redes OSPF en cada fase.

DMVPN puede ser ejecutado de 3 maneras, las cuales son llamadas 'fases', esto no indica que debemos realizar las 3 fases durante una implementación, sino que nosotros podemos elegir que fase deseamos implementar. DMVPN trabaja en un esquema Hub and Spoke, para redundancia se puede incluir 2 o más Hubs.

Cada fase es facil de identificar debido a su sintaxis de implementación:

Fase 1: Hub (GRE Multipunto) y Spokes (GRE Punto a Punto), todo el trafico entre los Spokes pasa a través del Hub.

Fase 2: Hub (GRE Mutipunto) y Spokes (GRE Multipunto), creando una comunicación dinámica entre los Spokes.

Fase 3: Similar a la fase 2 pero con la diferencia de la escalabilidad. En esta fase igualmente se puede trabajar junto a cualquier protocolo de enrutamiento dinamico, pero es preferible EIGRP. En este caso se implementan las lineas de comando ip nhrp redirect (Hub) y ip nhrp shortcut (Spokes). Este esquemas es mucho mas escalable que sus predecesores debido a que los Spokes pueden ser informados sobre caminos no óptimos.

Ahora bien, cada fase puede ser implementada de 2 formas: estática y dinámica. Mi recomendación personal es realizarlo de manera dinámica.

Estáticamente: Los túneles GRE deben ser mapeados con el Hub manualmente en cada router, lo que puede llegar a ser complicado con muchos routers. Se requiere configurar el destino del túnel.

Dinámicamente: El Hub realiza el mapeo de manera dinamica cuando los Spokes configuran la dirección IP del túnel del Hub como su NHS (Next Hop Server).

Ahora bien, todo esto no fuera posible sin el núcleo de DMVPN, el cual se llama: Next Hop Resolution Protocol (NHRP), NHRP es el protocolo que se encarga de identificar y asociar las direcciones IP de los túneles y de las interfaces NBMA, estas interfaces son basicamente las interfaces físicas con las cuales los routers se conectan a la infraestructura Non Broadcast MultiAccess (NBMA). NHRP es un protocolo capa 2 que trabaja como el protocolo ARP.

El proceso de ejecución de NHRP se divide en 2 funciones: Registro y Resolución. La primera básicamente es cuando los Spokes se registran con el Hub y Resolución es la función que permite que un Spoke pueda identificar la dirección IP del túnel y de la interface NBMA de otro Spoke.

Línea de comando a utilizar:

Interface Tunnel <ID> ; Crea una interface lógica de Túnel.

Tunnel source <IP o interface local> ; Dirección IP o interface local que será el origen para habilitar la comunicación con el túnel de destino.

Tunnel destination <IP> ; Dirección IP de la interface del router remoto con el que se establecerá el túnel.

Tunnel mode gree multipoint ; Habilita la funcion multipunto de túnel GRE.

Tunnel key <0-4294967295> ; Esta línea de comando identifica el túnel correcto antes de desemcapsular los paquetes, incluso podría servir como un metodo de seguridad para prevenir que otros routers sean parte de la red DMVPN. Debe ser el mismo ID entre todos los Túneles que forman la red DMVPN.

ip nhrp network-id <1-4294967295> ; Esta linea de comando es mandatorio y habilita las funciones de NHRP. Debe ser el mismo ID entre todos los Túneles que forman la red DMVPN.

ip nhrp map multicast dynamic ; Línea de comando que se configura únicamente en el Hub cuando se utilizan protocolos de enrutamiento dinámico. Habilita el paso de tráfico multicast entre los Spokes.

ip nhrp map multicast <IP interface NBMA del Hub> ; Configurado únicamente en los Spokes para indicar el tráfico multicast hacia el Hub.

ip nhrp map <IP interface Túnel del Hub> <IP interface NBMA del Hub> ; Con este comando nosotros realizamos un mapeo con nuestro Hub.

ip nhrp nhs <IP interface Túnel> ; Utilizado para un mapeo dinámico y configurado en los Spokes para que puedan especificar el Next Hop Server.

ip mtu <valor del MTU> ; Los túneles GRE generan un payload de 24 bytes, los cuales son sumados a los 1500 bytes que soportan por defecto, para evitar fragmentaciones es recomendable utilizar valores menores a 1500, en nuestro ejemplo utilizaremos 1400 bytes.

ip tcp adjust-mss ; Todo host puede soportar cierta cantidad de datos en un paquete TCP/IP y es aquí donde el MSS es el encargado de indicar dicha cantidad. El MSS debe ser al menos 40 bytes menor que el MTU indicado en la interface, es por ello que en nuestro ejemplo utilizamos 1360.

Consideraciones:

OSPF se configura de diferente manera en cada una de las fases de DMVPN, por ejemplo:

Fase 1: OSPF Point-to-Multipoint solo en el Hub.

Fase 2: OSPF Broadcast en todos los routers.

Fase 3: OSPF Point-to-Multipoint en todos los routers.

Antes de implementar DMVPN es importante identificar que protocolo de enrutamiento se utilizara, ya que por ejemplo en OSPF todos los routers deben estar en la misma área, en ese caso EIGRP no tiene ese problema de escalabilidad.

Muy bien, una vez hemos aprendido los comandos a utilizar podemos ver la configuración inicial, cabe mencionar que cada router es de borde, lo cual puede llevar NATs, otras VPNs como cualquier router de borde. Nuestro Hub sera R1 mientras que los Spokes serán R2 y R3.

R1


R2


R3


Realizamos pruebas de conectividad desde la Central a las sucursales.


En la imagen podemos apreciar que si podemos hacer ping a Internet pero no las redes de mis sucursales desde la central. Y esto es debido a que mis redes internas no estan siendo publicadas a través de Internet, por ende, debo establecer un metodo para habilitar la comunicación y es aqui donde entra DMVPN.

Creamos los túneles con sus respectivas configuraciónes:




Notemos que estamos utilizando el NHRP network ID y Tunnel Key: 123, este valor puede ser diferente entre ellos pero debe ser igual en todos los routers utilizados para la creacion de DMVPN.

A continuación, observemos a través de un debug cuando R3 realiza el registro con el Hub, en este caso R1.


En R1:


Ahora, configuremos OSPF, notemos que OSPF network Point-to-Multipoint es configurado en el Hub unicamente, esto es parte de OSPF DMVPN en la fase 1. Por defecto cuando se aplica OSPF en los túneles, estos trabajaran como tipo de red Point-to-Point. Esto puede ser verificado a través del comando: show ip ospf interface <interface>.




Una vez implementado OSPF no tarderemos mucho tiempo para darnos cuenta que la adjacencia entre OSPF no se ha ejecutado:



Esto es algo que esta relacionado al uso de OSPF network Point-to-Multipoint, veamos a continuación:


Cuanto se utiliza OSPF Point-to-Multipoint los tiempos de hello en OSPF se triplican, por ende se incrementan los otros tiempos y esto genera inconvenientes para establecer la adjacencia, para evitar este problema hay 2 soluciones:

- La solución mas compleja: Cambiar los tiempos de hello en cada Spoke a 30 segundos.
- La solución más sencilla: Cambiar el tiempo de hello en el Hub a 10 segundos.
En nuestro ejemplo ejecutaremos la solución mas sencilla y veamos que sucede:


Una vez el tiempo de hello es reemplazado en el Hub, las adjacencias comienzan a establecerse.

Hecho esto verifiquemos nuevamente nuestra red DMVPN y la conectivad



Nuestra red DMVPN esta funcionando correctamente, es importante notar que el siguiente salto (Next Hop) siempre será la dirección IP del túnel del Hub (192.168.0.1), esto puede ser verificado a través de la tabla de enrutamiento o con un traceroute.

Es recomendable como en todo diseño de red tomar en consideración la securidad, en DMVPN se puede utilizar IPSec para proteger la información que fluye a través de los túneles.