Cuando se tiene la necesidad de conectar dos redes remotas una de las opción de interconexión es por VPN, cuando se tiene el escenario de que en uno de los Sitios el servicio entregado es conocido como "Nateado", en donde no tenemos una IP Publica en uno de los Sitios, pero si contamos con una IP Publica en otro Sitio.
En el siguiente diagrama se ejemplifica el escenario mencionado anteriormente.
L2TP (Layer 2 Tunneling Protocol) es una version actualizada del protocolo PPTP, aunque los protocolos de autenticación son los mismos, este protocolo tiene la ventaja que soporta IPSec, por lo cual tiene la capacidad de proteger los datos que viajan por el túnel L2TP.
El túnel L2TP utiliza el puerto de comunicación UDP 1701 para establecer el enlace. Cuando se activa el uso del IPSec en el túnel es necesario permitir el ingreso del Protocolo "ipsec-esp" ya que es el que utiliza para encriptar los datos, asi como el puerto UDP 500.
Requisitos:
Contar con IP Publica estática en el sitio de Servidor L2TP (Recomendable)
O tener IP Publica en el sitio del Servidor y tener la capacidad de abrir puertos, usar DDNS para traducir la IP Publica Dinamica (No recomendado)
Los ID de las subredes tienen que ser de diferente segmento.
Antes de configurar la VPN requiere realizar las configuración previas en los routers:
Articulo: “MikroTik – Configurar puerto WAN”.
Articulo: “MikroTik – Configurar Red LAN”.
Código de Configuración:
# Configuración Site "A"
/ip firewall filter
add action=accept chain=input protocol=udp dst-port=1701,500,4500
place-before=0
add action=accept chain=input protocol=ipsec-esp place-before=1
/interface l2tp-server server
set authentication=mschap2 enabled=yes ipsec-secret=ipseclab
use-ipsec=required
/ppp secret
add name=l2tplab password=l2tplab service=l2tp local-address=10.100.0.1
remote-address=10.100.0.2
/ip route
add dst-address=192.168.2.0/24 gateway=10.100.0.2
# Configuración Site "B"
/interface l2tp-client
add name=l2tp-ipsec connect-to=“IP Publica o DDNS” user=l2tplab
password=l2tplab use-ipsec=yes ipsec-secret=ipseclab allow=mschap2
disabled=no
/ip route
add dst_address=192.168.1.0/24 gateway=10.100.0.1
Configuración mediante Winbox:
Configuración del Servidor:
1.- Primero tendremos que configurar el Firewall para que el MikroTik acepte la conexión del Túnel.
En el menu principal del Winbox accedemos a la opción "IP", después elegimos la sub-opcion "Firewall"
1.1.- En la ventana de "Firewall" tenemos que estar en la pestaña de "Filter", y aquí daremos clic en el botón de "add" (+).
1.2.- En la ventana de "New Firewall Rule" introduciremos los parametros requeridos como se muestran a continuación y finalizaremos con el botón "OK":
Chain: indicamos el tipo de trafico que va a analizar la regla, en nuestro caso es "input" ya que la petición es a nuestro router.
Protocol: indicamos que tipo de protocolo usa el túnel, para el L2TP es "UDP".
Dst. Port: indicamos los puertos que serán empleados por el túnel, que son: "1701" para establecer el túnel L2TP, el "500" y "4500" para el túnel IPsec.
Despues de introducir la primera regla repetiremos el paso 1.1, para introducir la siguiente regla:
Chain: indicamos el tipo de trafico que va a analizar la regla, en nuestro caso es "input" ya que la petición es a nuestro router.
Protocol: indicamos que tipo de protocolo usa el túnel para la encriptación, IPsec usa "ipsec-esp".
Al finalizar e introducir los registros tendremos algo similar a la siguiente imagen:
Nota Importante: si previamente ya creo otras reglas de "Filtrado" tiene que mover las reglas al principio de la lista.
2.- Ahora crearemos la configuración de Servidor "L2TP" con cifrado "IPsec".
Hay que entrar a la opción "PPP" que esta en el menu principal:
2.1.- En la Ventana de "PPP", lo primero que realizaremos es activar el Servicio para eso tendremos que estar en la pestaña "Interface" y damos clic en el botón "L2TP Server".
2.2.- En la ventana de "L2TP Server" configuraremos los siguientes parámetros:
Enabled: es para activar el servicio de L2TP.
Authentication: dejaremos el tipo e autenticación que que usara el túnel para el enlace.
Use IPsec: es donde le indicaremos que se requiere que el túnel use los protocolos de encriptación de IPsec.
IPsec Secret: es el secreto compartido que se utilizara para enlazar los protocolos de IPsec.
3.- En la ventana de "PPP" nos dirigimas a la pestaña "Secrets" y generamos uno nuevo pulsando el botón "Add" (+)
3.1.- En la ventana "New PPP Secret" se generan las credenciales que usara el cliente para conectarse al servidor, los parametros que requerimos son los siguientes:
Name: es el nombre del usuario para el túnel.
Password: la contraseña del túnel.
Service: especificamos que tipo de túnel es valida la autentificación que se esta dando de alta.
Profile: especificamos si utilizaremos la encriptacion default del túnel L2TP (opcional ya que tenemos habilitado el IPSec).
Local Address: sera la dirección IP con la que se identificara el Servidor en el túnel.
Remote Address: sera la dirección IP con la que se identificara el Cliente en el túnel.
Al finalizar de dar de alta el Secret tendremos una ventana como se muestra a continuación:
4.- Ahora tenemos que indicar al Router como va a poder tener acceso a la Red LAN remota. Para esto tenemos que acceder en el menu principal a la opción "IP" despues a la sub-opcion "Routes"
4.1.- En la ventana de "Route List" es donde nos aparecen las rutas a las redes que conoce nuestro Router, aqui vamos a dar clic en el boton de "Add" (+)
4.2 En la ventana de "New Route" introduciremos los siguientes parametros:
Dst. Address: el la dirección IP del equipo remoto al que se quiere tener conexión o el ID de la Red LAN completa.
Gateway: es la dirección ip del router al que tenemos que dirigirnos que conoce o tiene la Red LAN remota a la que nos queremos conectar.
Al terminar de registrar los parametros tendremos algo como se ve en la siguiente imagen:
Configuración del Cliente:
5.- En la opción "PPP" en la pestaña "Interface" daremos clic en el botón "Add" el cual no s desplegara un menu en el cual elegiremos la opción "L2TP Client"
5.1 En la ventana de "New Interface" en la pestaña "General" configuraremos el siguiente parámetro:
Name: nombre con el que identificaremos la interface que se esta creando.
Ahora nos cambiaremos a la pestaña "Dial Out" para introducir los siguientes parámetros que son los que se crearon en la sección de "Secrets" en el servidor:
Connect To: es la dirección IP Publica que tiene el Router Servidor, o en su defecto el nombre de dominio que se a enlazado con la dirección IP Publica dinámica.
User: es el "Name" con el que se dio de alta el "Secret" en el servidor.
Password: es el "password" que se registro en el "Secret" del servidor.
Use IPsec: con esto indicamos que el túnel tiene que usar los protocolos de encriptacion "IPsec".
IPsec Secret: es el secreto que se registro cuando se activo el Servicio L2TP en el punto 2.2
Al finalizar de dar de alta los parametros tendremos un registro como se muestra en la imagen siguiente:
Nota: si se activa mostrar la columna "Status" y todo esta correctamente configurado veremos que dice "connected", si no tenemos la columna "Status" en la primera columna podremos apreciar que aparece una letra "R" que significa que nuestra túnel esta "Running".
6.- Ahora tenemos que indicar al Router como va a poder tener acceso a la Red LAN remota. Para esto tenemos que acceder en el menu principal a la opción "IP" despues a la sub-opcion "Routes"
6.1.- En la ventana de "Route List" es donde nos aparecen las rutas a las redes que conoce nuestro Router, aqui vamos a dar clic en el boton de "Add" (+)
6.2 En la ventana de "New Route" introduciremos los siguientes parametros:
Dst. Address: el la dirección IP del equipo remoto al que se quiere tener conexión o el ID de la Red LAN completa.
Gateway: es la dirección ip del router al que tenemos que dirigirnos que conoce o tiene la Red LAN remota a la que nos queremos conectar.
Al terminar de registrar los parametros tendremos algo como se ve en la siguiente imagen:
Nota: La configuración a travez de rutas estáticas permite que todas las redes que existen en cada router puedan usar el túnel para su comunicación de extremo a extremo.
Si se desea que la comunicación sea individual entre redes se requieren eliminar las rutas estaticas y configurar la comunicación entre las redes LAN por medio de IPsec, utilizando las IP's que nos genera el Túnel L2TP como las IP's Publicas (10.100.0.1 y 10.100.0.2) respectivamente.
Articulo de IPsec: MikroTik - Configuración de VPN con Tunnel IPSEC