MANUAL: Mikrotik, IKEv2 VPN a fondo

@Snkfear
Sí, básicamente es eso.
Utilizo Ubuntu.
Yo por mi parte no configuro ningún fichero.
Instalo los paquetes de strongswan y después añado network-manager-strongswan para configurar la conexión mediante gui.

PD: Te dejo el hilo dónde yo mismo tenía problemas a la hora de conectar Linux como cliente ikev2 y mis dudas a la hora de hacer la conexión.


Saludos.
 
@Snkfear
Sí, básicamente es eso.
Utilizo Ubuntu.
Yo por mi parte no configuro ningún fichero.
Instalo los paquetes de strongswan y después añado network-manager-strongswan para configurar la conexión mediante gui.

PD: Te dejo el hilo dónde yo mismo tenía problemas a la hora de conectar Linux como cliente ikev2 y mis dudas a la hora de hacer la conexión.


Saludos.
Muchas gracias! Luego le echo un vistazo, que tengo ganas de probar que todo funcione correctamente y poder acceder al sensor de humedad.

Lo único que yo uso versiones server, así que tendré que editar la config a pelo, que gui complicado :ROFLMAO:
 
Nada, no consigo que conecte y no sé por dónde seguir...

Siguiendo la wiki de strongswan y viendo algunos tutoriales, he dejado el archivo /etc/ipsec.conf así (cambiando mi dominio):
Código:
ca home.midominio.com
        cacert=ca.crt
        auto=add

conn ikev2-rw
        right=home.midominio.com
        rightid=%home.midominio.com
        rightsubnet=0.0.0.0/0
        rightauth=pubkey
        leftsourceip=%config
        leftauth=pubkey
        leftcert=vpn-client-mobile.crt
        auto=add

Y el archivo /etc/ipsec.secrets así:
Código:
home.midominio.com : vpn-client.mobile.key

Y al intentar levantar la conexión con sudo ipsec up ikev2-rw, este es el resultado:
Código:
ubuntu@RPi4:~$ sudo ipsec up ikev2-rw
initiating IKE_SA ikev2-rw[2] to mi_ip_publica
generating IKE_SA_INIT request 0 [ SA KE No N(NATD_S_IP) N(NATD_D_IP) N(FRAG_SUP) N(HASH_ALG) N(REDIR_SUP) ]
sending packet: from 192.168.0.192[500] to mi_ip_publica[500] (768 bytes)
retransmit 1 of request with message ID 0
sending packet: from 192.168.0.192[500] to mi_ip_publica[500] (768 bytes)
retransmit 2 of request with message ID 0
sending packet: from 192.168.0.192[500] to mi_ip_publica[500] (768 bytes)
retransmit 3 of request with message ID 0
sending packet: from 192.168.0.192[500] to mi_ip_publica[500] (768 bytes)
retransmit 4 of request with message ID 0
sending packet: from 192.168.0.192[500] to mi_ip_publica[500] (768 bytes)
retransmit 5 of request with message ID 0
sending packet: from 192.168.0.192[500] to mi_ip_publica[500] (768 bytes)

Previamente he copiado los certificados en las siguientes rutas:
Código:
sudo cp ca.crt /etc/ipsec.d/cacerts/
sudo cp cert_export_vpn-client-mobile.crt /etc/ipsec.d/certs/vpn-client-mobile.crt
sudo cp cert_export_vpn-client-mobile.key /etc/ipsec.d/private/vpn-client-mobile.key

¿Alguien puede echarme un cable?

Edit: ¡invoco a los que todo lo saben! @pokoyo @furny @stargate4you
PD: no me lapidéis :x

Salu2!
 
Última edición:
Bueno, tras un tiempo intentando hacer que funcione... sigo igual.

Ahora estoy probando con una VM con ubuntu desktop y conectada directamente a un router 3G, pero al encender la VPN me pide la contraseña (entiendo que es la que se usa al exportar: MySuperVPN!) y se queda en las mismas, no conecta:

sw_config.png


He seguido el manual en el router paso a paso sin que me arroje ningún fallo, por lo que imagino que el error no estará en ese lado... pero tampoco sé qué log mirar para encontrar qué está fallando.

¿Alguna idea @pokoyo?
 
Bueno, tras un tiempo intentando hacer que funcione... sigo igual.

Ahora estoy probando con una VM con ubuntu desktop y conectada directamente a un router 3G, pero al encender la VPN me pide la contraseña (entiendo que es la que se usa al exportar: MySuperVPN!) y se queda en las mismas, no conecta:

Ver el adjunto 83820

He seguido el manual en el router paso a paso sin que me arroje ningún fallo, por lo que imagino que el error no estará en ese lado... pero tampoco sé qué log mirar para encontrar qué está fallando.

¿Alguna idea @pokoyo?
En gateway no iría la CA, sino el certificado del servidor.

No he dicho nada.

Saludos!
 
Última edición:
Por otro lado, ¿has instalado strongswan en ese equipo? @stargate4you, @Yoniper, me suena que uno de los dos había probado esto en linux, ¿puede ser?

Saludos!
 
Creo que StrongSwan esta basado en IPsec.
No recuerdo haberlo usado, debe haber sido el otro compi.

Saludos.
 
Sí, yo lo tengo funcionando.
El pantallazo del compañero lo veo bien.
Instalo los paquetes de strongswan y después añado network-manager-strongswan para configurar la conexión mediante gui.
La contraseña que te pide es la que ponemos al exportar el certificado del cliente en el router.
Saludos.
 
Última edición:
Sí, yo lo tengo funcionando.
El pantallazo del compañero lo veo bien.
La contraseña que te pide es la que ponemos al exportar el certificado del cliente en el router.
Saludos.
y en gateway iba la CA? Ya me falla la memoria...

Saludos!
 
Os dejo un pantallazo de como lo tengo.
Instalación de paquetes : Strongswan y después añado network-manager-strongswan para configurar la conexión mediante gui.
Saludos.

Captura de pantalla_2021-06-28_19-28-31.png
 
Muchas gracias por la guía, he echado a andar el servidor para "road warrior". Un par de detalles:

· He modificando "ike2-conf-road-warrior" para que las peticiones DNS vayan por el túnel y las resuelva el router. Quizás me suba la latencia, no lo he medido, pero así puedo usar direcciones del dominio local.
· Tenía varios puertos abiertos a internet para un proxy inverso dentro de mi red y todas las peticiones desde el cliente móvil me las mandaba al proxy. He tenido que cambiar las reglas de NAT para especificar que las aplique al tráfico entrante por WAN que no tenga ip de rango local. Lo dejo por si a alguien le resulta de utilidad:

Por ejemplo, el puerto 443:
Código:
/ip firewall address-list
add address=192.168.0.0/16 list=lan_horizon
/ip firewall mangle
add action=dst-nat chain=dstnat comment="Sulaco -> HTTPS" dst-port=443 \
    in-interface-list=WAN protocol=tcp \
    to-addresses=192.168.1.50 to-ports=9003

Cambiado a:
Código:
/ip firewall address-list
add address=192.168.0.0/16 list=lan_horizon
/ip firewall mangle
add action=dst-nat chain=dstnat comment="Sulaco -> HTTPS" dst-port=443 \
    in-interface-list=WAN protocol=tcp src-address-list=!lan_horizon \
    to-addresses=192.168.1.50 to-ports=9003
 
Arriba