Your Next Hop
Deshabilitar preloader

Túnel GRE

Túnel GRE

Autor: Julio Moisa - CCIE R&S #52536

Email: instructores@yournexthop.com


GRE (Generic Routing Encapsulation) es un protocolo desarrollado por Cisco System para crear una conexión virtual privada entre 2 puntos, lo interesante de esto es que los datos son encapsulados para poder transmitirlos a través de la conexión virtual a la cual se le conoce como: túnel.

Los túneles GRE también son útiles para poder establecer comunicación a través de redes donde no se tiene control, cierto tráfico no es soportado, o se posee algún tipo de restricción en la red, un caso no muy lejano seria: Internet. Esto no quiere decir que solo se puedan crear túneles privados a través de redes públicas, al contrario, GRE es bastante versátil.

Ahora bien se debe comprender que el término 'encapsular' no afirma que la información se encuentre segura al ser transmitida entre 2 dispositivos. Para poder proveer seguridad a los datos se utiliza IPSec, el comando tunnel protection junto con IPSec crean el mecanismo más efectivo para proveer seguridad a los datos que son transportados.

Como funciona GRE y que debemos conocer antes de implementarlo

GRE utiliza el protocolo IP como el protocolo de transporte. Y es aquí donde comenzamos hablar de 3 términos con los que trabaja GRE y del porque es importante conocerlos: Protocolo pasajero, Protocolo Carrier y Protocolo de transporte.

  • Protocolo pasajero: es toda dato que será encapsulado ....
  • Protocolo carrier: ..... en el protocolo carrier, en este caso también es conocido como encabezado GRE, existen otros tipos de protocolo carrier pero en nuestro caso se utiliza GRE. Una vez el protocolo carrier esté listo, este se encapsulara dentro del ....
  • Protocolo de transporte: ..... protocolo de transporte, el cual en Túneles GRE es el protocolo IP. El protocolo de transporte es utilizado para enrutar la información encapsulada hasta llegar a su destino.

Cuando un protocolo es encapsulado dentro de otro protocolo el tamaño del frame se incrementa y es aquí donde se puede generar un problema. En el caso de GRE se incrementa en 24 bytes, 4 del encabezado GRE y 20 bytes del encabezado IPv4, es aqui donde se puede generar problemas con el MTU, el MTU estándar (unidad de transferencia máxima) es de 1500 bytes, si utilizamos GRE este se incrementara en 1524 lo que puede generar pérdidas de paquetes o problemas de fragmentación.

Para evitar este tipo de problemas podemos ajustar los túneles para que trabajen con un MTU de 1476 o un valor menor a este, esto también obligara a disminuir el valor del payload (MSS) para decirle a los dispositivos que deben utilizar paquetes mucho más pequeños y de esta manera evitar el proceso de fragmentación. El tamaño por defecto de TCP MSS es de 1460 bytes, el MSS debe ser al menos 40 bytes menor al MTU.

Pasos para configurar un Túnel GRE:

Paso 1) (Regla de Oro) Verificar que exista comuncación entre el origen y el destino configurado bajo la Interface Tunnel antes de configurar un Túnel GRE. El sintanxis básico de un Túnel GRE es el siguiente:

Interface Tunnel <0-2147483647>
Ip address <Dirección IP del túnel, ambos extremos deben mantenerse en la misma red>
Tunnel source <Dirección IP de origen, puede ser una interface fisica o lógica local>
Tunnel destination <Dirección IP de destino con la cual se establecera el túnel>

Como se menciono anteriormente el origen y el destino deben tener comunicación antes de proceder con la creación del túnel.

Basandonos en el diagrama procedemos con la configuración del túnel:



Paso 2) Creamos el túnel en ambos extremos, el ID del túnel es solo de importancia local pero para mantener un estandar ocuparemos el mismo en ambos routers.


Si todo va bien podremos hacer ping entre túneles y la interface del Tunnel 0 estará habilitada


Actual enrutamiento en R1 y R2:


Por ende las direcciones de los túneles no deberian de poder comunicarse a menos que el túnel se encuentre establecido correctamente, veamos que sucede si ejecuto un ping:


Todo funciona correctamente, ahora solo lo falta la cereza para tener la configuración apropiada: ajustar el MTU y TCP MSS.


Para probar que nuestro túnel funciona correctamente, podemos enrutar las direcciones loopbacks a tráves del túnel.


Realicemos pruebas



Como podemos observar la comunicación entre las loopbacks se realiza a través del túnel, esto nos indica que todo funciona correctamente.