MANUAL: Mikrotik, OpenVPN e IKEv2 VPNs

Estoy siguiendo estos fantásticos tutoriales para los routers Mikrotik, y al crear un VPN iKEv2 me he quedado en un punto.
Al escribir en el terminal:

/ip ipsec identity
add auth-method=digital-signature


y el resto, me marca error en digital. Si entro a ip > ipsec > identities resulta que no aparece digital-signature como método de autentificación, como se ve en la imagen y vi en la página dos de este post. Si cambio digital por rsa, al escribirlo por terminal no me marca error, pero no puedo conectarme al VPN.
Ver el adjunto 76255
Los certificados ya los tengo creados, instalados en windows, abiertos los puertos...
El Mikrotik lo tengo como bridge, y el router principal tiene los puertos 500 y 4500 abiertos para la ip del Mikrotik.

Alguna ayuda de ¿por qué no aparece digital signature?
Gracias de antemano.
Dale un pantallazo a ver cómo tienes declarado el ike2-peer, el que das de alta en la pestaña “peers”.

También dime qué version de RouterOS tienes, por sí tienes alguna vieja y es cuestión de aplicar una actualización.

Saludos!
 
Dale un pantallazo a ver cómo tienes declarado el ike2-peer, el que das de alta en la pestaña “peers”.

También dime qué version de RouterOS tienes, por sí tienes alguna vieja y es cuestión de aplicar una actualización.

Saludos!
11b.jpeg


Versión 6.44.5 (long-term) Placa RB750Gr3

Actualizando a la 6.46.8. Tenia problemas con el DNS y no encontraba las actualizaciones. Al final con ésto:

IP ---> DNS--> STATIC --> new (+) -->

name: upgrade.mikrotik.com
adress: 159.148.172.226

ya la ha encontrado.

Ya me acepta digital-signature :) Muchas gracias. A ver como quedo.
 
Última edición:
Ya està actualizado, aún no conecta el VPN. Revisaré todo y puede que le haga un reset, y comience de cero con la nueva versión.
 
Ver el adjunto 76258

Versión 6.44.5 (long-term) Placa RB750Gr3

Actualizando a la 6.46.8. Tenia problemas con el DNS y no encontraba las actualizaciones. Al final con ésto:

IP ---> DNS--> STATIC --> new (+) -->

name: upgrade.mikrotik.com
adress: 159.148.172.226

ya la ha encontrado.

Ya me acepta digital-signature :) Muchas gracias. A ver como quedo.
Si usas iPhone o Mac, yo te recomendaría quitar "send Initial-Contact". A mí, al cabo de 8 minutos (o eran 30m?) se me caía la conexión VPN al hacer re-keying (esto del rekeying se hace automáticamente, siempre, al cabo de un tiempo). Al parecer es un bug de apple (no estoy tan seguro, bueno), que lo fuerzas (lo de "send_initial_contact" quiere decir algo distinto de lo que parece: que una nueva sesión desde un IP determinado reemplaza a las existentes de esa IP).
 
Hola @thesa,

Si no lo has hecho ya, te recomiendo volver a generar los certificados desde cero con el nuevo firmware ya instalado. Si aún así te falla, pásame un export que lo miramos.

¿qué estás usando como equipo cliente? El setup en windows es un tanto picajoso, lo digo porque lo tengas en cuenta.

Saludos!
 
Hola @thesa,

Si no lo has hecho ya, te recomiendo volver a generar los certificados desde cero con el nuevo firmware ya instalado. Si aún así te falla, pásame un export que lo miramos.

¿qué estás usando como equipo cliente? El setup en windows es un tanto picajoso, lo digo porque lo tengas en cuenta.

Saludos!
Aún no he tenido tiempo de volver a probar. Haré lo que me has dicho con los certificados; y si, el setup en windows es muy...
Gracias.
 
Hola a tod@s,

He conseguido configurar satisfactoriamente OpenVPN con un MikroTik RB951G (conectado a una ONT Huawei HG8240H). El operador es O2.
Entre los manuales de @pokoyo, malosa y Alex Ariza he conseguido algo que funciona. El IKEv2 aún no, pero ahí vamos.

Sin embargo, me asaltan un par de dudas respecto las opciones del MikroTik. Más concretamente sobre IP/Routes e IP/Adresses.

Eché mano de los manuales de Malosa para la configuración desde cero del router, y de @pokoyo para la VPN.
LA VPN no funcionaba (me podia conectar satisfactoriamente, pero no navegar, tan sólo hacer ping a la puerta de enlace 192.168.77.1) hasta que añadí la interfaz wlan1 (la WiFi) y la ether1-gateway en IP/Adresses. Entonces si que coneguí navegar a través de la VPN. Abajo dos pantallazos de como los tengo ahora:

/IP>Address:

Address.png


/IP>Route:

Routes (2).png


Mi pregunta es: qué hacen estos dos menús/configuraciones? Para qué sirven?

Gracias de antemano,
 
Hola a tod@s,

He conseguido configurar satisfactoriamente OpenVPN con un MikroTik RB951G (conectado a una ONT Huawei HG8240H). El operador es O2.
Entre los manuales de @pokoyo, malosa y Alex Ariza he conseguido algo que funciona. El IKEv2 aún no, pero ahí vamos.

Sin embargo, me asaltan un par de dudas respecto las opciones del MikroTik. Más concretamente sobre IP/Routes e IP/Adresses.

Eché mano de los manuales de Malosa para la configuración desde cero del router, y de @pokoyo para la VPN.
LA VPN no funcionaba (me podia conectar satisfactoriamente, pero no navegar, tan sólo hacer ping a la puerta de enlace 192.168.77.1) hasta que añadí la interfaz wlan1 (la WiFi) y la ether1-gateway en IP/Adresses. Entonces si que coneguí navegar a través de la VPN. Abajo dos pantallazos de como los tengo ahora:

/IP>Address:

Ver el adjunto 77005

/IP>Route:

Ver el adjunto 77014

Mi pregunta es: qué hacen estos dos menús/configuraciones? Para qué sirven?

Gracias de antemano,
No es buena idea lo que has hecho compi, especialmente eso de picar de aquí y de allí con los manuales. Para montar la configuración desde cero no hace falta ningún manual, sino dejar que el propio router ejecute su script de autoconfiguración. Luego pasas por el quick set, y lo dejas a tu gusto. A partir de ahí, puedes ejecutar mis manuales, puestos que todos parten de esa configuración por defecto.

Esos menús que mencionan son las direcciones locales de las interfaces y las rutas del router. Tienes más detalle de para qué vale cada uno en la wiki:
https://wiki.mikrotik.com/wiki/Manual:IP/Address

Saludos!
 
Bueno, se hace lo que se puede jeje. Leyendo los scripts voy viendo como funciona. Voy a echar un vistazo a la wiki de nuevo.
Mientras, he releído tus posts y he conseguido hacer funcionar la IKEv2, va como un tiro.

Lo que no consigo es conectar al MikroTik via Winbox cuando estoy usando la VPN-IKEv2. Es normal?
La 192.168.1.1 no es, y la 192.168.77.1 (para OpenVPN) tampoco.

A qué IP debería apuntar?

Gracias de nuevo,
 
Bueno, se hace lo que se puede jeje. Leyendo los scripts voy viendo como funciona. Voy a echar un vistazo a la wiki de nuevo.
Mientras, he releído tus posts y he conseguido hacer funcionar la IKEv2, va como un tiro.

Lo que no consigo es conectar al MikroTik via Winbox cuando estoy usando la VPN-IKEv2. Es normal?
La 192.168.1.1 no es, y la 192.168.77.1 (para OpenVPN) tampoco.

A qué IP debería apuntar?

Gracias de nuevo,
Sí, es normal. Para eso necesitas una regla de firewall en el chain de input. Tal que así (cambia el segmento de red por el tuyo, el que uses para la VPN)
Código:
add action=accept chain=input comment="accept vpn encrypted input traffic" ipsec-policy=in,ipsec src-address=192.168.89.0/24

Saludos!
 
Sí, es normal. Para eso necesitas una regla de firewall en el chain de input. Tal que así (cambia el segmento de red por el tuyo, el que uses para la VPN)
Código:
add action=accept chain=input comment="accept vpn encrypted input traffic" ipsec-policy=in,ipsec src-address=192.168.89.0/24

Saludos!
Raro, porque lo tengo así configurado y sigo sin poder acceder via winbox apuntando a 192.168.66.0:

Firewall.png

He probado de mover el orden de las reglas y tampoco funciona.
En la wiki (road warrior, etc.) tampoco me aclara mucho.

Algo está mal?
 
Mira en IP->Services si tienes restringido a un segmento de red quien puede acceder a qué servicios.

La IP que te da la vpn cuando conectas es de ese segmento, verdad?

Saludos!
 
Mira en IP->Services si tienes restringido a un segmento de red quien puede acceder a qué servicios.

La IP que te da la vpn cuando conectas es de ese segmento, verdad?

Saludos!
En IP Services no parece que tenga nada restringido (excepto el FTP, etc.):

IP services.png


La IP que me asigna la VPN en IKEv2 está en el rango de la pool especificado (192.168.66.10--192.168.66.20).
No obstante, el gateway es 0.0.0.0:

IP.png


Tiene sentido esa puerta de enlace? No puedo conectar tampoco a través de winbox.

Saludos,
 
El pantallazo que me pones es perfectamente normal. A la IP a la que tienes que tratar de acceder es a la puerta de enlace de tu propio router, la que sea que tienes configurada. En mi caso es la IP por defecto del router de mikrotik, 192.168.88.1; en tu caso, la que tengas configurada.

No obstante, prueba esto siempre desde fuera, conectándote a la red 3G del móvil o desde otra vivienda; no lo pruebes desde tu propia IP que te puede hacer cosas raras.

Saludos!
 
El pantallazo que me pones es perfectamente normal. A la IP a la que tienes que tratar de acceder es a la puerta de enlace de tu propio router, la que sea que tienes configurada. En mi caso es la IP por defecto del router de mikrotik, 192.168.88.1; en tu caso, la que tengas configurada.

No obstante, prueba esto siempre desde fuera, conectándote a la red 3G del móvil o desde otra vivienda; no lo pruebes desde tu propia IP que te puede hacer cosas raras.

Saludos!
Si, todo esto es desde una segunda vivienda.
Cuando estoy en la red local del router (fisicamente, por wifi) en winbox me conecto apuntando a 192.168.1.1

Cuando estoy en mi segunda vivienda, y me conecto mediante OpenVPN, apunto a 192.168.77.1 en winbox.

Cuando lo intento con IKEv2, apunto a 192.168.66.1, pero no funciona.

Entiendo que para cada tipo de conexión (misma red/openvon/ikev2) hay una gateway distinta, no?
 
No, no es así. Si te das cuenta, el túnel no lleva gateway. Tu obtienes un pool del segmento que sea, pero tus gateways siguen siendo las que son. Deberías tratar de acceder, en ambos casos, a la 192.168.1.1

Lo que te puede estar pasando es que si tu conexión de origen usa el mismo gateway, te de fallo. De ahí que se suela configurar el mikrotik en un segmento "raro" tipo el 192.168.88.1 que trae por defecto.

Saludos!
 
No, no es así. Si te das cuenta, el túnel no lleva gateway. Tu obtienes un pool del segmento que sea, pero tus gateways siguen siendo las que son. Deberías tratar de acceder, en ambos casos, a la 192.168.1.1

Lo que te puede estar pasando es que si tu conexión de origen usa el mismo gateway, te de fallo. De ahí que se suela configurar el mikrotik en un segmento "raro" tipo el 192.168.88.1 que trae por defecto.

Saludos!
@pokoyo, he cambiado los segmentos tal como dices:
- 192.168.88.x para la red local
- 192.168.77.x para la ovpn
- 192.168.66.x para la IKEv2

Ahora puedo acceder al router apuntando a 192.168.88.1 en local, ovpn e IKEv2.
Lo que me resutla curioso es que también puedo acceder al router apuntando a 192.168.77.1 (el rango de ovpn), excepto cuando me conecto via IKEv2.

Gracias por el soporte :)
 
@pokoyo, he cambiado los segmentos tal como dices:
- 192.168.88.x para la red local
- 192.168.77.x para la ovpn
- 192.168.66.x para la IKEv2

Ahora puedo acceder al router apuntando a 192.168.88.1 en local, ovpn e IKEv2.
Lo que me resutla curioso es que también puedo acceder al router apuntando a 192.168.77.1 (el rango de ovpn), excepto cuando me conecto via IKEv2.

Gracias por el soporte :)
Puedes acceder al router con cualquier IP que tengas declarada en IP -> Adresses, y que apunte a una interfaz local del equipo (un puerto ethernet cualquiera, un bridge, etc). De hecho, la manera más sencilla de tener una IP de administración del equipo es justo esa, dar de alta un bridge vacío, y ponerle una IP en IP -> Addresses.

Saludos!
 
Introducción
Como continuación del manual anterior, vamos a ver los pasos para montar dos tipos de VPN basadas en certificados de criptografía asimétrica RSA. Este tipo de VPN nos permitirá conectarnos de una manera mucho más segura que con una secreto compartido o calve, ya que valida que los certificados tanto de cliente como de servidor sean válidos. En este caso no me voy a entretener a explicaros las diferencias entre uno y otro. OpenVPN es ampliamente usado en infinidad de sistemas, pero tiene la contraprestación de ser lento y, en el caso de los equipos mikrotik, sólo funcionar sobre TCP. En cambio, IKEv2 es un tipo de conexión que nos brinda una velocidad de conexión muy alta (tanto en establecimiento como en transferencia) y un nivel de cifrado desde muy bueno hasta grado militar.

Sin más preámbulos, al grano

Generación de certificados
Lo primero que tenemos que hacer el generar los certificados que se van a usar en nuestra conexión. Si ya contamos con certificados propios (una CA firmada por una entidad pública), podemos también importarla en el router para generar los certificados de cliente y servidor. Como supongo que arrancamos desde la nada, vamos a dar de alta nuestros propios certificados. Básicamente, necesitamos estos tres:
  • VPN-CA [Certificate Authority]: Es el certificado raíz de nuestra conexión, capaz de firmar otros certificados. Si nos lo ha firmado una entidad pública, será validado automáticamente por alguna CA pública. Sino, como es nuestro caso, será un certificado auto-firmado, y tendremos que confiar en él manualmente.
  • VPN-Server: El certificado con el que se identifica el servidor, nuestro equipo mikrotik. Es validado por los clientes cuando se establece la conexión.
  • VPN-Client-X: El certificado(s) con los que se identifican cada uno de los clientes. Podemos tener uno o muchos, dependiendo de cuantos clientes se quieran conectar a nuestro equipo. Se puede generar un único certificado cliente, pero lo recomendable es que se emita uno para cada equipo distinto que vamos a querer conectar. Es validado por el servidor, para cada cliente que conecta.
Este apartado es común para ambos tipos de VPN, y los certificados generados para un tipo de VPN valen también para el otro. Adaptad vosotros el nombre de los certificados a gusto de consumidor, así como los detalles de los mismos. Los certificados no los he creado con todo lujo de detalles, sino con el mínimo necesario para que funcionen, como son auto-firmados, poco importa. Si tenéis un dominio propio, podéis ponerlo en el common-name o en el subject-alt-name. He puesto fecha de expiración de los certificados a 10 años para la CA, 5 para el certificado de servidor y 2 para los de cliente, lo cual también podéis cambiar por lo que queráis. Suponemos que vamos a usar el propio dominio que nos regala mikrotik para conectarnos al router [serial.sn.mynetname.net], el cual añadiremos como información adicional a los certificados. Si usamos otro dominio para llegar al router (en el caso de un dominio propio o un CNAME que apunte al de mikrotik), cambiad esto en consecuencia. Después de crear el manual y al probarlo en equipos con Windows 10, nos dimos cuenta de que es requisito indispensable para que la VPN IKEv2 autentique en equipos Windows.
Código:
# Generar las plantillas para los certificados
# IMPORTANTE: Para Windows, el certificado del servidor tiene que contener el dominio dyndns que usemos para conectarnos al router.
# Si vais a usar el propio de Mikrotik, aseguraos de poner *.sn.mynetname.net como subject-alt-name.
/certificate
add name=xxx-ca-template common-name=VPN-CA subject-alt-name=DNS:mynetname.net\
days-valid=3650 key-size=2048 key-usage=crl-sign,key-cert-sign,digital-signature,key-encipherment,data-encipherment
add name=xxx-server-template common-name=VPN-Server subject-alt-name=DNS:*.sn.mynetname.net\
days-valid=1825 key-size=2048 key-usage=digital-signature,key-encipherment,tls-server
add name=xxx-client-template common-name=VPN-Client-X subject-alt-name=email:clientX@sn.mynetname.net\
days-valid=730 key-size=2048 key-usage=tls-client

# Generar los certificados y firmarlos
/certificate
sign xxx-ca-template name=vpn-ca
sign xxx-server-template name=vpn-server ca=vpn-ca
sign xxx-client-template name=vpn-client ca=vpn-ca

# Exportar la CA y el certificado cliente
/certificate
export-certificate vpn-ca file-name=ca
export-certificate vpn-client type=pkcs12 export-passphrase="mysuperVPN!" file-name=client


Configuración del servidor OpenVPN
Damos de alta los parámetros correspondientes al servidor OpenVPN. Alguno de estos parámetros, como el pool, se puede reaprovechar para otro tipo de VPN. En mi caso, detallo cada uno por separado. Estoy considerando un servidor que asigna 10 direcciones VPN en su pool, modificadlo vosotros como queráis.
Código:
# Crear el nuevo pool para la VPN
/ip
pool add name=ovpn-pool ranges=192.168.77.10-192.168.77.20

# Crear el nuevo perfil para OpenVPN, usando el pool previo
/ppp
profile add name=ovpn-profile use-encryption=yes local-address=192.168.77.1 remote-address=ovpn-pool

# Generamos un usuario y contraseña para la conexión OpenVPN. Cambiar a gusto de consumidor
/ppp
secret add name=usuario profile=ovpn-profile service=ovpn password=contrasenia

# Activar el servidor OpenVPN
/interface ovpn-server server
set default-profile=ovpn-profile certificate=vpn-server require-client-certificate=yes auth=sha1 cipher=aes128,aes192,aes256 enabled=yes

# Permitir el tráfico de entrada al puerto 1194 de OpenVPN
/ip firewall filter
add chain=input protocol=tcp dst-port=1194 action=accept place-before=2 comment="Allow OpenVPN"

# Enmascarar el tráfico de la VPN
/ip firewall nat
add action=masquerade chain=srcnat comment=masquerade-ovpn src-address=192.168.77.0/24

# [OPCIONAL] Bloquear el acceso a la LAN por parte de los clientes de la VPN
/ip firewall filter
add chain=forward action=drop comment="Block LAN access to OpenVPN clients" src-address=192.168.77.0/24 out-interface-list=!WAN


Instalación local de certificados y el archivo de configuracion .ovpn
Una vez hemos terminado con la configuración del servidor, lo que nos queda es descargar los certificados de la carpeta Files del router y configurar localmente nuestro cliente, para que haga uso del servidor previamente levantado. Si disponemos de acceso por ssh al router, podemos descargar los certificados desde una terminal, haciendo use de sftp:
Código:
sftp admin@router.lan:ca.crt
sftp admin@router.lan:client.p12

Una vez tengamos esos dos certificados en local, nos toca extraer la parte pública y privada del fichero client.p12. Para ello haremos uso de la herramienta openssl en nuestra terminal (instalarla si no la tenéis disponible en windows)
Código:
# Extraer la clave publica y privada del certificado cliente
# Al hacerlo, nos pedirá la password con la que exportamos el certificado cliente [mysuperVPN!]
openssl pkcs12 -in client.p12 -out client.crt -nokeys
openssl pkcs12 -in client.p12 -out client.key -nodes -nocerts

Y por último, tenemos que montar un fichero .ovpn con la definición de nuestra conexión. Os dejo una plantilla para hacerlo. Sustituid "MY_IP" por vuestra dirección IP pública o vuestro dominio. Podéis usar el dominio de tipo dyndns que ofrece mikrotik, y que tenéis disponible en IP -> Cloud, tipo serial.sn.mynetname.net
Código:
# Montar un fichero con extensión .ovpn con el detalle de la conexión.
# Ejemplo (copiar, pegar lo que va entre líneas y guardar como xxx.ovpn)
# ------------------------------------------------------------------------------------------------------
client
dev tun
proto tcp
remote MY_IP 1194
resolv-retry infinite
nobind
persist-key
persist-tun
ca ca.crt
cert client.crt
key client.key
remote-cert-tls server
cipher AES-128-CBC
auth SHA1
auth-user-pass
redirect-gateway def1
verb 3
# ------------------------------------------------------------------------------------------------------

Una vez hecho todo esto, deberíamos tener en la misma carpeta los siguientes ficheros:
  • ca.crt [certificado raiz]
  • client.crt [clave pública del certificado cliente]
  • client.key [clave privada del certificado cliente]
  • client.p12 [certificado cliente en formato pkcs12]
  • xxx.ovpn [fichero de configuración para el cliente openvpn]

Lo último que nos queda es importar el fichero xxx.ovpn en el que sea nuestro cliente para OpenVPN. En mi caso uso TunnelBrick, pero podéis usar el que os venga en gana. Si sois usuario de linux, desde le propio administrador de redes, cuando creáis una VPN, tenéis la opción de importar el fichero. Al importarlo, se leerán los ficheros de certificados, ya que van referenciados dentro del propio fichero de definición de la conexión. Una vez importada la conexión, podéis eliminar dichos ficheros de vuestro equipo local, puesto que ya estarán disponibles para el cliente VPN, el cual los habrá guardado en su almacén de certificados.
Para conectar, ejecutáis vuestro cliente de OpenVPN preferido y os pedirá autenticación por usuario y contraseña. El detalle del mismo lo tenéis en PPP -> Secret


Configuración del servidor IKEv2
Para hacer uso del servidor IKEv2, aprovecharemos la primera parte del manual, y usaremos los mismos certificados. Si habéis cambiado el nombre de los mismos, recordad haced referencia al nombre correcto cuando deis de alta la configuración. Pasar de un servidor de tipo L2TP/IPSec a un tipo IKEv2 es tremendamente sencillo, puesto que las reglas de firewall que se dan de alta para L2TP nos valen para IKEv2, el cual comparte los puertos 500 y 4500 udp para el tráfico IPSec, al igual que L2TP. Al igual que antes, estoy creando un pool de conexión nuevo para este tipo de VPN, pero podemos reaprovechar el existente que tuviéramos de la configuración original, sólo tenemos que referenciarlo donde toca. Si reusamos configuración previa, la regla de masquerade que va asociada a la nueva red la tendríamos ya dada de alta, no nos haría falta ponerla.

Código:
# Crear el nuevo pool para la VPN
/ip
pool add name=ikev2-pool ranges=192.168.66.10-192.168.66.20

# Damos de alta una nueva configuración para IKEv2
/ip ipsec
mode-config add address-pool=ikev2-pool address-prefix-length=32 name=ike2-config system-dns=yes

# Damos de alta la configuración de negociación entre pares
/ip ipsec
peer add exchange-mode=ike2 name=ike2-peer passive=yes

# Y por último damos el cliente que se va a conectar
# Habrá una entrada por cada cliente cada uno con su certificado individual
/ip ipsec identity
add auth-method=digital-signature certificate=vpn-server comment=EquipoX generate-policy=\
    port-strict match-by=certificate mode-config=ike2-config peer=ike2-peer remote-certificate=\
    vpn-client

# Permitir el tráfico de entrada al puerto 4500 y 500 para IPSec
# Esta entrada de firewall ya existirá si teníamos un L2TP/IPSec
/ip firewall filter
add chain=input protocol=udp dst-port=500,4500 comment="Allow IPSec"\
    place-before=[ find where comment~"defconf: drop all not coming from LAN" ]\
    action=accept

# Permitir el acceso a los equipos LAN para los clientes IKEv2 con tráfico encriptado
/ip firewall filter
add action=accept chain=input comment="accept vpn encrypted input traffic"\
    place-before=[ find where comment~"defconf: drop all not coming from LAN" ]\
    ipsec-policy=in,ipsec src-address=192.168.66.0/24

# Enmascarar el tráfico de la VPN. No aplica si hemos reusado un pool que ya lleve una entrada similar
/ip firewall nat
add action=masquerade chain=srcnat comment=masquerade-ovpn src-address=192.168.66.0/24


Una vez hecha la configuración del servidor, al igual que para OpenVPN, lo que nos queda es descargar los ficheros de certificados e instalarlos en nuestra máquina cliente. Dependiendo de qué sistema operativo estemos manejando, habrá que instalarlos de una manera u otra. No obstante, el proceso es siempre el mismo: primero se instala la CA y se confía en ella manualmente (recordemos que es un certificado auto-firmado) y acto seguido se importa, para cada cliente, su certificado cliente correspondiente, en este caso, directamente el fichero client.p12. En el caso de IKEv2 hay que tener muy en cuenta que cada cliente va identificado por su certificado y que el fqdn que definimos cuando damos de alta el "identity" ha de coincidir con la información que envía el cliente con su certificado al conectar.
Otra cosa importante es que con este tipo de conexión sólo vamos a validar los certificados, omitiendo el usuario y contraseña de la conexión, para así evitar almacenar ningún tipo de información sensible. Cuando configuréis la conexión en vuestros equipos, recordad que el tipo de authenticación es None, y que la conexión se valida con certificado cliente. Os dejo un ejemplo de cómo se daría de alta una conexión de este estilo en un Mac.

Importación de los certificados
Una vez descargados en nuestra máquina o enviados por correo a nuestro teléfono, simplemente abrimos el fichero ca.crt y le marcamos como confiable siempre (paso manual). Acto seguido haremos lo mismo para el client.p12, el cual nos solicitará la contraseña con la que lo exportamos, para importarlo.

Si el cliente donde vais a configurar la conexión maneja los certificados de cliente por separado (certificado por un lado y clave privada por otro), haced el export del certificado cliente en formato PEM, y producirá dos ficheros por cada certificado cliente: el .crt es el certificado, y el .key está la clave privada de dicho certificado. Cuando importéis la clave privada, os pedirá la clave que usasteis en el proceso de exportación (usad siempre una). Este formato es necesario para clientes de strongswan en linux, por ejemplo, donde el certificado cliente se configura en dos partes.

Ejemplo datos de conexión par IKEv2, a partir de los certificados generados en este tutorial
Dirección del servidor: serial.sn.mynetname.net [cambiar por vuestro dominio dyndns]
ID remoto: server.sn.mynetname.net
ID local: clientX@sn.mynetname.net
Ajustes de autenticación
Autenticación de usuario: None (ninguna)​
Usar certificado: true (marcado)​
Certificado: VPN-Client-X [seleccionamos el certificado cliente instalado en dicho dispositivo]​


Espero os sea útil, un saludo!



BONUS TRACK - IKEv2 con PSK [ Sin certificados, con clave compartida ] [ Sólo usuarios Apple ]
Para aquellos que no os queráis complicar la vida con certificados de clave asimétrica o RSA (mal, muy mal, los certificados están para usarlos, no seáis vaguetes), existe una manera aún más simple de montar IKEv2 en mikrotik. Actualmente creo que este método sólo funciona en equipos Apple [ Mac / iPhone ], porque Windows juraría que no permite conectar por IKEv2 con clave compartida en lugar de certificados (desmentidlo si lo porbáis, por favor).
No obstante, me parece útil mencionarlo por si sois usuarios de estos equipos y queréis montar una configuración IKEv2 muy rápida, sin pasar por la generación de certificados. Lo único que cambia, aparte de saltarnos obviamente el paso de la generación de certificados, es cómo damos de alta el identity o cliente dentro del apartado correspondiente de IPSec. Vamos a ello:

Repetimos los tres primeros pasos de la configuración de IPSec
Código:
# Crear el nuevo pool para la VPN
/ip
pool add name=ikev2-pool ranges=192.168.66.10-192.168.66.20

# Damos de alta una nueva configuración para IKEv2
/ip ipsec
mode-config add address-pool=ikev2-pool address-prefix-length=32 name=ike2-config system-dns=yes

# Damos de alta la configuración de negociación entre pares
/ip ipsec
peer add exchange-mode=ike2 name=ike2-peer passive=yes

Y ahora viene lo bueno, alta del identity con autenticación por clave compartida o pre-shared-key
Código:
/ip ipsec identity
add comment=any-client-psk generate-policy=port-strict mode-config=ike2-conf \
    my-id=fqdn:server.sn.mynetname.net peer=ike2-peer remote-id=\
    user-fqdn:clientX@sn.mynetname.net secret=Th4t.sMySup3rS3cr3t!
....
Por aquí seguiríais con el resto de la configuración del firewall, como está descrito en el apartado previo.


Ejemplo datos de conexión par IKEv2 con PSK (Mac OS)
Interfaz: VPN
Tipo de VPN: IKEv2
Nombre del servicio: XXX [ a gusto de consumidor ]
Dirección del servidor: serial.sn.mynetname.net [cambiar por vuestro dominio dyndns]
ID remoto: server.sn.mynetname.net
ID local: clientX@sn.mynetname.net
Ajustes de autenticación
Autenticación de usuario: None (ninguna)​
Secreto compartido: Th4t.sMySup3rS3cr3t!​

Ejemplo datos de conexión par IKEv2 con PSK (iOS)
Navegación: Ajustes -> General -> VPN -> Añadir configuración VPN
Tipo: IKEv2
Descripción: XXX [ a gusto de consumidor ]
Servidor: serial.sn.mynetname.net [cambiar por vuestro dominio dyndns]
ID remoto: server.sn.mynetname.net
ID local: clientX@sn.mynetname.net
Autenticación
Autenticación de usuario: Ninguna​
Usar certificado: Desmarcado (No)​
Secreto: Th4t.sMySup3rS3cr3t!​

Saludos!
Buenas noches Pokoyo,
Muchas gracias por el tutorial,
Me voy a embarcar a montarlo y tengo alguna duda.
¿ Me vale el certificado del tutorial ""securizar el DNS usando DoH (DNS over HTTPS" ?

y otra duda, cuando te refieres a esta parte...

# Si vais a usar el propio de Mikrotik, aseguraos de poner *.sn.mynetname.net como subject-alt-name.
/certificate
add name=xxx-ca-template common-name=VPN-CA subject-alt-name=DNS:mynetname.net\ ¿¿Aquí iría de esta manera? DNS:nº de serie.mynetname.et ??
days-valid=3650 key-size=2048 key-usage=crl-sign,key-cert-sign,digital-signature,key-encipherment,data-encipherment
add name=xxx-server-template common-name=VPN-Server subject-alt-name=DNS:*.sn.mynetname.net\
days-valid=1825 key-size=2048 key-usage=digital-signature,key-encipherment,tls-server
add name=xxx-client-template common-name=VPN-Client-X subject-alt-name=email:clientX@sn.mynetname.net\
days-valid=730 key-size=2048 key-usage=tls-client

Muchas gracias !!!
 
Arriba