Páginas

Mostrando entradas con la etiqueta IPSec. Mostrar todas las entradas
Mostrando entradas con la etiqueta IPSec. Mostrar todas las entradas

domingo, 30 de agosto de 2020

L2TP IPsec y BCP Mikrotik

VPN Túnel


Puertos que tenemos que abrir en el router Mikrotik 4500, 500, 1701 (udp) y el protocolo ipsec-esp (50).


Utilizar estos protocolos para conseguir conectividad en capa 2 con altos niveles de seguridad. Un túnel o VPN es una conexión entre dos equipos remotos como si los equipos estuviesen conectados directamente. Como este es un túnel de capa 2 vamos a extender nuestro dominio de broadcast de un router hacia el otro y crear un solo dominio de broadcast con independencia de su ubicación. 


L2tp quiere decir Layer 2 Tunneling Protocol o protocolo de capa 2 y se utiliza con IPSec que proporciona  encriptación y autenticación con el fin de para proporcionar mayores niveles de seguridad para la transmisión de datos. BCP (Bridge Control Protocol) sirve para agregar la interfaz virtual creada (el túnel) a un bridge. BCP es una parte independiente de PPP.


Laboratorio con GNS3. Con equipos físicos la configuración será la misma. Lo único que cambia es la IP pública que evidentemente debe ser alcanzable.



Configuración del equipo que va a servir de Servidor de las conexiones L2TP: 


Tenemos una oficina remota con una IP pública 172.16.90.138 (es la IP con la que el equipo sale a Internet en este laboratorio) y una LAN con IP privada 10.1.101.0/24.  Este equipo tiene un bridge llamado bridge_LAN al que pertenecen los puertos ether1 al ether5 y es el que vamos a utilizar con BCP en los túneles.



Queremos tener conexión total en capa 2 entre los dos routers. Comprobamos que tenemos conexión a Internet con un ping. 



En el GNS3 desde la terminal, (botón derecho sobre el router clic en Console), cambiamos los nombres de los routers.



Abrimos el Winbox (los routers ya tienen IP asignadas por NAT desde mi red local:



nos conectamos al router L2TPServer y habilitamos desde PPP el L2TP Server haciendo clic en Enabled, elegimos default encryption, (es aquí donde habilitamos BCP o en su defecto en el perfil que nosotros generemos), como Default Profile, en Use IPsec elegimos required (esto obliga al cliente a utilizar IPSec). En Authentication solo dejamos habilitado mschap2. En IPsec Secret ponemos una contraseña fuerte para conseguir un buen nivel de seguridad (este Secret es para IPsec y puede ser diferente de la contraseña del usuario). También podemos habilitar una sesión por host habilitando One Session Per Host. 



En la pestaña Profiles veremos los perfiles por defecto implementados en RouterOS. Abrimos Default Encryption. En bridge seleccionamos el bridge de la LAN. En estos momentos ya estamos utilizando BCP.  Cuando se establezca el túnel, la interfaz del túnel se va a agregar a este bridge que se llama bridge_LAN guardamos los cambios.




Necesitamos crear un usuario y una clave, esto lo haremos en New PPP Secret. Este usuario es para establecer el túnel l2tp. Como usuario carles y una contraseña (, en Service l2tp y en Profile default encryption. El password anterior era para IPsec. En Local Address pondremos la IP 10.100.100.1 y en Remote Address la 172.16.254.1 (esta es la IP que tomará el equipo cliente). Estas son las direcciones IP que va a tomar en sus extremos el túnel.





Llegados a este punto nuestro router está listo para recibir conexión y nuestro dominio de broadcast sea extendido hacia el cliente. 


Configuración del equipo Cliente:



Nos conectamos a través de Winbox



Equipo cliente desde el que vamos a conectarnos hacia la oficina. No es necesario que tenga una ip pública, algo imprescindible en el de la oficina, lo que si tiene que tener es conexión a Internet. Comprobamos conexión a Internet haciendo un ping. 



Vamos a agregar un L2TP Client y agregar los parámetros de conexión que debe coincidir con lo configurado en el Servidor. Donde pone Dial Out en la entrada Connect To tenemos que introducir la IP pública de la oficina que dijimos que, (a efectos del laboratorio), es la 172.16.90.138. En el usuario y la contraseña que habéis puesto antes.



En Profile seleccionamos default encryption y tildar Use IPsec e introducir el password de IPsec. No necesitamos utilizar las opciones Dial on Demand ni Add Default Route. Clic en Aplicar y OK. Ahora en Profiles agregamos el bridge. En este caso el router tiene un bridge creado entre los puertos 2 al 5 y la wlan1 que se llama LAN_bridge.





En el momento de establecer el túnel todos los puertos perteneciente al bridge tendrán conectividad en capa 2 con el router de la oficina.  Vamos a Interface y deshabitamos y habilitamos el túnel y vemos que el túnel se ha establecido. En status, Status connected. Las Local address (172.16.254.1) t Remote Address (10.100.100.1). Si hacemos un ping a la IP 10.100.100.1 veremos que hay respuesta. También podemos verificar que BCP está activo que entre los Ports del bridge LAN_bridge aparece el puerto l2tp dinámico que es el túnel L2TP. 



Ping a la IP 10.100.100.1



Si abro una nueva ventana New Winbox veré en la pestaña Neighbors el equipo del otro extremo (172.16.254.1.1). Si configuro mi portátil con una IP del mismo rango de la que se utiliza en la oficina que es la tendría que poder hacer ping hacia el otro router. 


Con un dhcp server habilitado mi portátil tomaría una IP automáticamente de esa LAN. Es como si estuviera conectado directamente al router de la oficina. Se pueden conectar clientes Mac, Windows, Linux, Android, etc.


Mikrotik es genial!.

lunes, 6 de abril de 2020

VPN IPSec Modo Transporte con GRE en Mikrotik

VPN que conectará dos sitios con un túnel Gre cifrado con IPSec en modo transporte.

Nota: Versión CHR 6.43.13

Versión CHR 6.46.13


Los estándares IPsec definen dos modos distintos de funcionamiento de IPsec, el modo transporte y el modo túnel. Dichos modos no afectan a la codificación de paquetes.

Vamos a levantar una conexión en ambos sitios utilizando el protocolo GRE y la seguridad la implementaremos con IPSec. Generamos un túnel GRE y el Secret en vez de implementarlo en el propio túnel, si no que la haremos desde IPSec.


En el túnel modo transporte, al contrario que el modo túnel, vamos a tener interfaces y también reglas de ruteo.
Implementar un túnel GRE entre ambos sitios utilizando las IPs públicas - 10.200.1.1 y 10.200.1.2

Sitio-1 (R1)


Sitio-2 (R2)


El túnel GRE ya está R - running



En IP IPSec vamos a generar la seguridad del sitio-1 sin olvidar el Secret:




Deshabilitamos el IPSec Policy por defecto y creamos el nuestro utilizando el número de protocolo gre que es 47. Al ser modo transporte no seleccionamos Tunnel:




En IP IPSec vamos a generar la seguridad del sitio-2 también el Secret:






En este punto la VPN ya esta indica Stablished


Las interfaces Gre cursan tráfico y conectan los sitios 1 y 2. Por dentro del túnel Gre estamos cifrando el tráfico con IPSec con algoritmo de cifrado fuerte aes256.



Ahora tenemos que asignar una IP a la interfaces Gre de los sitios 1 y 2. En este caso 172.16.0.1/30 y 172.16.0.2/30.



Para que los dos sitios tengan conectividad nos faltan crear las reglas de ruteo y el NAT.
Regla de routes sitio-1. Desde el sitio-1. Cuando desde el sitio-1 quiera ir a la subred del sitio-2 (10.0.2.0/24) utilice el Gateway 172.16.0.2, que es el túnel gre en la interfaz del sitio-2. Alcanzable por la interfaz gre del sitio-1. Esta interfaz está encriptada con IPSec.


Lo mismo para el sitio-2:


Nos falta crear el NAT del Sitio-1. Que cuando queramos ir a la subred del sitio-2 aplique un srcnat  con la dirección IP de la interfaz gre. Esta regla tiene que estar antes que cualquier otra porque la regla más específica tiene que estar por encima.




Y el NAT del Sitio-2. Que cuando queramos ir a la subred del sitio-1 aplique un srcnat  con la dirección IP de la interfaz gre:




Ahora vamos a comprobar conectividad entre los dos sitios:



Mikrotik es genial!.