BandaAncha.eu

Comunidad de usuarios
de fibra, móvil y ADSL

Servidor VPN IKEv2 con StrongSwan

rufote

Tengo un sistema de acceso a una VPN privada de tipo "road warrior" montada con OpenVPN sobre un gateway Linux y que me permite acceder correctamente con "clientes" tipo tablet Android, desktop Linux y Windows 10, móviles, Mac… Están probados todos e inclusive con acceso desde Canadá muy fluido.

Con la misma infraestructura física trato de montar una VPN también tipo "road warrior" pero VPN IKEv2 con strongSwan y estoy teniendo problemas. Describo en primer lugar la plataforma, común a ambas VPN.

Arquitectura instalación del VPN Gateway

LAN doméstica ↔ Gateway VPN/Servidor ↔ router Comtrend NAT/Firewall ↔ ONT ↔ FTTH Movistar 600/600

  • router Comtrend 5813n
  • IP Dinámica 600/600

Arquitectura de cliente móvil (road warrior)

Dispositivo móvil ↔ USB modem 4G ↔ Red 4G ↔ Acceso a Internet con IP Dinámica y/o CG-NAT ?

  • Dispositivos: PC, Tablet, MAC y Móvil
  • SIM 4G, UMTS, HSDP, etc…
  • ISP Provider Movistar

El esquema es crear un túnel entre ambos entornos, el fijo y el móvil. Esto es lo mismo en todas las VPN y, hablando genéricamente, los procesos son muy similares. Solo cambian, en general, los protocolos y algoritmos de encriptación, y los puertos.

El "cliente", una vez conectado a internet, lanza una petición de "tunnel" al Gateway VPN a través de la red 4G, y usando unos puertos normalizados.

Proceso

Este tráfico llega al router de la instalación fija, que tiene una IP dinámica y DDNS, al puerto normalizado y pasa los filtros del firewall del router y el NAT que lo lleva al gateway VPN, y tras ser validado por el software de servidor VPN que se trate, se contacta desde el servidor al cliente móvil, por el camino contrario, para empezar el intercambio de claves y protocolos para crear el túnel y configurar adecuadamente los enrutamientos, etc… entre cliente y gateway VPN.

Este es el esbozo de proceso VPN, y ya digo que va perfectamente con OpenVPN. En cambio, cuando pruebo con VPN IKE2 strongSwan el cliente actúa igual y los paquetes iniciales llegan al router de la instalación fija, donde pasan el NAT (puertos 500 y 4500) y llegan al gateway VPN.

El error: Destination Unreachable

Lo que ocurre a partir de aquí es lo que me tiene loco. Un "sniffer" del tráfico me muestra que llegan paquetes al gateway VPN, que este envía al router para hacer el NAT inverso y y este enviarlo al cliente móvil.

Aquí aparece un mensaje, (entre Gateway VPN y Comtrend) que dice:

Origen Destino
vpn.ejemplo.com 22.red-25.37.112.dynamic.rima-tde.net Destination Unreachable (Host Administratively prohibited)

Y con esta VPN nunca se inicia el diálogo cliente móvil Gateway VPN fijo.

He probado también con VPN PPTP y me da el mismo mensaje, al igual que con VPN L2TP.

Y con OpenVPN sin problema…Me estoy volviendo majara y ya no veo nada…

¿Alguien puede echarme un cable?

Gracias y saludos a todos.

vukits

en su día, monté IPSEC sobre pfSense … (tiene un fork que es opnsense)…

mira cuál de los dos te gusta y tirate a la piscina (no es complejo si sabes qué es una VPN sobre ipsec …(yo no lo sabía))

🗨️ 3
rufote

Tras un vistazo rápido pinta bien para entornos con CISCO. Lo probaré, pero mi objetivo inical es tener las VPN mas de andar por casa:

  • OpenVPN
  • VPN L2TP/IPSEC
  • VPN PPTP

La que tu indicas parece consistente con entornos empresariales.n

Gracias por tu aportación. Saludos

🗨️ 2
vukits

¿comorrr?

Fue todo casero, hombre.

fue un montaje casero… virtualicé pfSense dentro de Virtualbox, abrí los puertos, y a correr

en todo caso,, las instrucciones son extrapolables a Strongswan

🗨️ 1
rufote

Lo miraré mas en detalle… Gracias

BocaDePez
BocaDePez

Prueba con wireguard. wireguard.com

rbetancor

¿Te has acordado de redireccionar los protocolos ESP y AH hacía el VPN-Gateway? … aunque esa parte la tengas bien, ten por seguro que el CG-NAT de la red móvil, no te va a permitir la conexión sin darte guerra.

Tienes que configurar cliente y servidor en modo aggressive y rezar un par de ave-marías.

rufote
2

Asunto resuelto. Tenía varios problemas:

  • El VPN Server no se comunicaba con el cliente porque no podía llegar a él, no por el CG-NAT ni esas cosas sino porque sencillamente el cortafuegos (no el del router) sino el del VPN Server . Una vez hecho el iptable correcto permitiendo en este segundo cortafuegos el trafico UDP en puertos 500 y 4500 (al igual que en el router Comtrend) el cliente y el servidor iniciaban el intercambio de certificados perfectamente pero no se veía nad…
  • La siguiente actuación fue sobre los certificados. Estabán mal generados y no tenían los atributos –flag serverAuth –flag ikeIntermediate . Una vez puestos ya se intercambiaban correctamente los certificados, pero seguía sin ir… por la fase de autenticación EAP.
  • Paso a revisar ipsec.secrets. En una de las lineas se utilizan los ":" como separador entre una maquina y una clave. Estaba "pegado" al nombre de la máquina. Solucionado con solo insertar un espacio en blanco, pero tampoco iba. Se asignaba al "right side" (terminología IKE…) una IP del pool que tenía definido.
  • Puesto que mi idea es soportar las VPN mas utilizadas como dije anteriormente, trato de que se comparta un pool de IPs y había conflictos de direccionamiento. Una vez corregido (esto es especifico de la topología de red que uno tenga…)…Tatatachán !!! Tenemos la segunda VPN IKEv2-EAP funcionando.

Gracias a todos por vuestra ayuda que me ha hecho no abandonar y pensar sobre como funcionaba. Ahora voy a por una VPN PPTP que pinta más fácil. Ya os comentaré.

Saludos.

🗨️ 1
vukits

gracias por el feedback