MANUAL: Mikrotik, OpenVPN e IKEv2 VPNs

No, claro que no. Por eso te preguntaba si el problema es que no llegas al router o a ningún elemento de tu red LAN, porque no es lo mismo. Mientras que no llegar a un elemento de tu red LAN es síntoma de un problema de firewall en el chain de forward, no llegar al propio router cuando estás conectado a la VPN suele ser síntoma de un problema firewall en el chain de input.

Saludos!
Fíjate si tienes alguna restricción en el usuario con el que accedes. mira en /sistema users y fíjate si en los usuarios con que pretendes acceder hay puestas direcciones concretas. Si has puesto limitacion al “admin“ o como lo llames. Es un despiste común.
 
Fíjate si tienes alguna restricción en el usuario con el que accedes. mira en /sistema users y fíjate si en los usuarios con que pretendes acceder hay puestas direcciones concretas. Si has puesto limitacion al “admin“ o como lo llames. Es un despiste común.
Creo recordar que no tengo users para la vpn ike... como mucho el identity, no?
 
pregunta de niñato total... pero como se revisan y filtran lo logs del FW en los mikrotik...
 
Como tal no hay filtros, que yo sepa. Pero puedes conectar el router como a un colector SNMP y volcarle allí los logs, por si tienes otra herramienta o equipo donde se puedan visualizar mejor y filtrar.

Saludos!
 
Hola a todos!. Ante todo agradecer a @pokoyo el enorme trabajo que viene realizando a la hora de ayudarnos a mejorar con estos cacharros.
Por otro lado, he intentado ponerlo en marcha varias veces, revisando letra a letra todos los comandos y me doy por vencido. No consigo ver ni encontrar lo que estoy haciendo mal para que, encima, las pruebas que hago cada una me dé un resultado.
Uno de los teléfonos consigue que se le asigne IP según el log, pero finalmente el IOS me dice que fallo de autenticación de usuario.
Y otro teléfono, con los mismos pasos, me da "an unexpected error ocurred" en el teléfono y el log me dice "identity not found for server:server.sn.mynetname.net peer: RFC822: Cliente-X@xxxxxxxxxxxx.sn.mynetname.net"
Y ya no sé por dónde tirar.
¿Me podríais echar una manita?
Muchas gracias
 
Claro. Me da que tu problema son los certificados. Pásame el detalle de cómo los has creado y te digo. Por cierto, tienes un nuevo manual donde afino aún más la configuración de IKEv2, por si lo quieres ver ahí:


Saludos!
 
Te paso cómo se generarían los certifiados, considerando que tu IP -> Cloud es la que se especifica a continuación. Importante, respeta el wildcard (asterisco) en el certificado de servidor
Código:
###
### Supongamos IP -> Cloud = f4430d9x7320.sn.mynetname.net
###

# Creaccion de los certificados
# Primero la CA
/certificate
add name=vpn-ca country=ES state=Tabarnia locality=Rivendel organization="Perico Palotes LTD"\
common-name="VPN CA" subject-alt-name=DNS:mynetname.net key-size=2048 days-valid=3650 trusted=yes\
key-usage=digital-signature,key-encipherment,data-encipherment,key-cert-sign,crl-sign

# Luego el certificado del servidor
add name=vpn-server country=ES state=Tabarnia locality=Rivendel organization=Perico Palotes LTD" unit=VPN\
common-name="VPN Server" subject-alt-name=DNS:*.sn.mynetname.net key-size=2048 days-valid=1825\
key-usage=tls-server,key-encipherment,digital-signature

# Por ultimo una template para crear certificados cliente
add name=~vpn-client-template country=ES state=Tabarnia locality=Rivendel organization=Perico Palotes LTD"\
common-name="VPN Client XXX" subject-alt-name=email:xxx@f4430d9x7320.sn.mynetname.net key-size=2048\
days-valid=730 key-usage=tls-client

#Y los certificados de tipo cliente, copia de la template
add copy-from=~vpn-client-template name=vpn-client-mobile common-name="VPN Client Mobile"\
subject-alt-name=email:mobile@f4430d9x7320.sn.mynetname.net
add copy-from=~vpn-client-template name=vpn-client-iphone common-name="VPN Client iPhone"\
subject-alt-name=email:iphone@f4430d9x7320.sn.mynetname.net

# Los firmamos
/certificate
sign vpn-ca
{:delay 5};
sign vpn-server ca=vpn-ca
sign vpn-client-mobile ca=vpn-ca
sign vpn-client-iphone ca=vpn-ca

# Exportar la CA y los certificados cliente
/certificate
export-certificate vpn-ca file-name=ca
export-certificate vpn-client-mobile type=pkcs12 export-passphrase="MySuperVPN!" file-name=mobile
export-certificate vpn-client-iphone type=pkcs12 export-passphrase="MySuperVPN!" file-name=iphone

Saludos!
 
Te paso cómo se generarían los certifiados, considerando que tu IP -> Cloud es la que se especifica a continuación. Importante, respeta el wildcard (asterisco) en el certificado de servidor
Código:
###
### Supongamos IP -> Cloud = f4430d9x7320.sn.mynetname.net
###

# Creaccion de los certificados
# Primero la CA
/certificate
add name=vpn-ca country=ES state=Tabarnia locality=Rivendel organization="Perico Palotes LTD"\
common-name="VPN CA" subject-alt-name=DNS:mynetname.net key-size=2048 days-valid=3650 trusted=yes\
key-usage=digital-signature,key-encipherment,data-encipherment,key-cert-sign,crl-sign

# Luego el certificado del servidor
add name=vpn-server country=ES state=Tabarnia locality=Rivendel organization=Perico Palotes LTD" unit=VPN\
common-name="VPN Server" subject-alt-name=DNS:*.sn.mynetname.net key-size=2048 days-valid=1825\
key-usage=tls-server,key-encipherment,digital-signature

# Por ultimo una template para crear certificados cliente
add name=~vpn-client-template country=ES state=Tabarnia locality=Rivendel organization=Perico Palotes LTD"\
common-name="VPN Client XXX" subject-alt-name=email:xxx@f4430d9x7320.sn.mynetname.net key-size=2048\
days-valid=730 key-usage=tls-client

#Y los certificados de tipo cliente, copia de la template
add copy-from=~vpn-client-template name=vpn-client-mobile common-name="VPN Client Mobile"\
subject-alt-name=email:mobile@f4430d9x7320.sn.mynetname.net
add copy-from=~vpn-client-template name=vpn-client-iphone common-name="VPN Client iPhone"\
subject-alt-name=email:iphone@f4430d9x7320.sn.mynetname.net

# Los firmamos
/certificate
sign vpn-ca
{:delay 5};
sign vpn-server ca=vpn-ca
sign vpn-client-mobile ca=vpn-ca
sign vpn-client-iphone ca=vpn-ca

# Exportar la CA y los certificados cliente
/certificate
export-certificate vpn-ca file-name=ca
export-certificate vpn-client-mobile type=pkcs12 export-passphrase="MySuperVPN!" file-name=mobile
export-certificate vpn-client-iphone type=pkcs12 export-passphrase="MySuperVPN!" file-name=iphone

Saludos!
Ahí está el error!!!. no respeté el * en el certificado del servidor. Puse el f4430d9x7320.
Muchas gracias @pokoyo.
Seguiré el nuevo manual que has puesto.
Muchas gracias de nuevo
 
Ahí está el error!!!. no respeté el * en el certificado del servidor. Puse el f4430d9x7320.
Muchas gracias @pokoyo.
Seguiré el nuevo manual que has puesto.
Muchas gracias de nuevo
No hay problema. Si pones eso en el del servidor, simplemente asegúrate de que en el remote id metes eso mismo cuando lo configures en el iPhone.

Saludos!
 
Hola,

he configurado un cliente VPN IKEv2 mediante Windows 10 en otro PC y ahora cuando conecto desde fuera a casa, accedo a la LAN sin problema, veo mis ficheros en el NAS y puedo trabajar con ellos, puedo ejecutar Winbox muy rápido, pero tengo un problema, me quedo sin internet en el portátil. Es decir, la VPN IKEv2 me da "conectado" pero sin embargo el punto de acceso WiFi me pone "sin internet" cuando SI está conectado ya que si no, no funcionaria la VPN..

Hago ping:

1. ping 192.168.88.1 -> OK
2. ping 8.8.8.8 -> OK
3. ping google.com -> NO

Parece algún problema de DNS en el portatil.

¿Alguna idea? Es un poco raro, jeje.

S@lu2.
 
Hola,

he configurado un cliente VPN IKEv2 mediante Windows 10 en otro PC y ahora cuando conecto desde fuera a casa, accedo a la LAN sin problema, veo mis ficheros en el NAS y puedo trabajar con ellos, puedo ejecutar Winbox muy rápido, pero tengo un problema, me quedo sin internet en el portátil. Es decir, la VPN IKEv2 me da "conectado" pero sin embargo el punto de acceso WiFi me pone "sin internet" cuando SI está conectado ya que si no, no funcionaria la VPN..

Hago ping:

1. ping 192.168.88.1 -> OK
2. ping 8.8.8.8 -> OK
3. ping google.com -> NO

Parece algún problema de DNS en el portatil.

¿Alguna idea? Es un poco raro, jeje.

S@lu2.
Pásame un export y lo miro. Sí, apunta a problema con el dns.

Por otro lado, mira también el otro manual de IKEv2 a fondo, que tiene una configuración mejor que la que se explica en este manual.

Saludos!
 
Pásame un export y lo miro. Sí, apunta a problema con el dns.

Por otro lado, mira también el otro manual de IKEv2 a fondo, que tiene una configuración mejor que la que se explica en este manual.

Saludos!
Buenos días!

Vale, te paso el export:

Bash:
/interface bridge
add admin-mac=08:XX:XX:XX:XX:EE auto-mac=no comment=defconf name=bridge \
    protocol-mode=none
/interface ethernet
set [ find default-name=ether1 ] name=ether1-wan
set [ find default-name=ether2 ] name=ether2-salon
set [ find default-name=ether3 ] name=ether3-nas
set [ find default-name=ether4 ] name=ether4-pcdespacho
set [ find default-name=ether5 ] name=ether5-portatil
/interface wireless
set [ find default-name=wlan1 ] band=2ghz-b/g/n country=spain disabled=no \
    distance=indoors frequency=2462 installation=indoor mode=ap-bridge name=\
    wlan1-2G ssid=XXXXXXX wireless-protocol=802.11
set [ find default-name=wlan2 ] band=5ghz-a/n/ac channel-width=\
    20/40/80mhz-XXXX country=spain disabled=no distance=indoors frequency=\
    5500 mode=ap-bridge name=wlan2-5G ssid=XXXXXXX wireless-protocol=\
    802.11
/interface vlan
add interface=ether1-wan name=vlan20 vlan-id=20
/interface pppoe-client
add ac-name=ftth add-default-route=yes disabled=no interface=vlan20 max-mru=\
    1492 max-mtu=1492 name=pppoe-out1 password=XXXXXXXX service-name=ftth \
    user=XXXXXXXXXXXX@digi
/interface list
add comment=defconf name=WAN
add comment=defconf name=LAN
/interface wireless security-profiles
set [ find default=yes ] authentication-types=wpa-psk,wpa2-psk eap-methods="" \
    mode=dynamic-keys supplicant-identity=MikroTik wpa-pre-shared-key=\
    XXXXXXXX wpa2-pre-shared-key=XXXXXXXX
/ip ipsec peer
add exchange-mode=ike2 name=ike2-peer passive=yes
/ip pool
add name=default-dhcp ranges=192.168.88.10-192.168.88.254
add name=ikev2-pool ranges=192.168.66.10-192.168.66.20
/ip dhcp-server
add address-pool=default-dhcp disabled=no interface=bridge lease-time=3d \
    name=defconf
/ip ipsec mode-config
add address-pool=ikev2-pool address-prefix-length=32 name=ike2-config
/interface bridge port
add bridge=bridge comment=defconf interface=ether2-salon
add bridge=bridge comment=defconf interface=ether3-nas
add bridge=bridge comment=defconf interface=ether4-pcdespacho
add bridge=bridge comment=defconf interface=ether5-portatil
add bridge=bridge comment=defconf interface=wlan1-2G
add bridge=bridge comment=defconf interface=wlan2-5G
/ip neighbor discovery-settings
set discover-interface-list=LAN
/interface list member
add comment=defconf interface=bridge list=LAN
add comment=defconf interface=ether1-wan list=WAN
add interface=pppoe-out1 list=WAN
/ip address
add address=192.168.88.1/24 comment=defconf interface=bridge network=\
    192.168.88.0
/ip cloud
set ddns-enabled=yes
/ip dhcp-client
add comment=defconf disabled=no interface=ether1-wan
/ip dhcp-server network
add address=192.168.88.0/24 comment=defconf gateway=192.168.88.1
/ip dns
set allow-remote-requests=yes servers=8.8.8.8,8.8.4.4,2620:119:35::35
/ip dns static
add address=192.168.88.1 comment=defconf name=router.lan
/ip firewall address-list
add address=XXXXXXXXXXXX.sn.mynetname.net list=public-ip
/ip firewall filter
add action=fasttrack-connection chain=forward comment="defconf: fasttrack" \
    connection-state=established,related
add action=accept chain=forward comment=\
    "defconf: accept established,related, untracked" connection-state=\
    established,related,untracked
add action=accept chain=input comment=\
    "defconf: accept established,related,untracked" connection-state=\
    established,related,untracked
add action=drop chain=input comment="defconf: drop invalid" connection-state=\
    invalid
add action=accept chain=input comment="defconf: accept ICMP" protocol=icmp
add action=accept chain=input comment=\
    "defconf: accept to local loopback (for CAPsMAN)" dst-address=127.0.0.1
add action=accept chain=input comment="Allow IPSec" dst-port=500,4500 \
    protocol=udp
add action=accept chain=input comment="accept vpn encrypted input traffic" \
    ipsec-policy=in,ipsec src-address=192.168.66.0/24
add action=drop chain=input comment="defconf: drop all not coming from LAN" \
    in-interface-list=!LAN
add action=accept chain=forward comment="defconf: accept in ipsec policy" \
    ipsec-policy=in,ipsec
add action=accept chain=forward comment="defconf: accept out ipsec policy" \
    ipsec-policy=out,ipsec
add action=drop chain=forward comment="defconf: drop invalid" \
    connection-state=invalid
add action=drop chain=forward comment=\
    "defconf: drop all from WAN not DSTNATed" connection-nat-state=!dstnat \
    connection-state=new in-interface-list=WAN
/ip firewall nat
add action=masquerade chain=srcnat comment=hairpin-nat dst-address=\
    192.168.88.0/24 src-address=192.168.88.0/24
add action=masquerade chain=srcnat comment="defconf: masquerade" \
    ipsec-policy=out,none out-interface-list=WAN
add action=dst-nat chain=dstnat comment=NAS-Admin dst-address-list=public-ip \
    dst-port=5000,5001 protocol=tcp to-addresses=192.168.88.247
add action=masquerade chain=srcnat comment=masquerade-ovpn src-address=\
    192.168.66.0/24
/ip ipsec identity
add auth-method=digital-signature certificate=vpn-server comment=PC \
    generate-policy=port-strict match-by=certificate mode-config=ike2-config \
    peer=ike2-peer remote-certificate=vpn-client
add auth-method=digital-signature certificate=vpn-server comment=Android \
    generate-policy=port-strict match-by=certificate mode-config=ike2-config \
    peer=ike2-peer remote-certificate=vpn-client-android
/ip service
set telnet disabled=yes
set ftp disabled=yes
set www disabled=yes
set ssh disabled=yes
set api disabled=yes
set winbox address=192.168.88.0/24,192.168.66.0/24
set api-ssl disabled=yes
/ipv6 address
add address=::1 from-pool=pool6 interface=bridge
/ipv6 dhcp-client
add add-default-route=yes interface=pppoe-out1 pool-name=pool6 request=prefix \
    script=":delay 5s;\r\
    \n/ipv6 address remove [find advertise=yes] \r\
    \n/ipv6 address add interface=bridge address=::1/64 from-pool=pool6 advert\
    ise=yes"
/ipv6 firewall filter
add action=drop chain=input comment="Drop (invalid)" connection-state=invalid
add action=accept chain=input comment="Accept (established, related)" \
    connection-state=established,related
add action=accept chain=input comment="Accept DHCP (10/sec)" in-interface=\
    pppoe-out1 limit=10,20:packet protocol=udp src-port=547
add action=drop chain=input comment="Drop DHCP (>10/sec)" in-interface=\
    pppoe-out1 protocol=udp src-port=547
add action=accept chain=input comment="Accept external ICMP (10/sec)" \
    in-interface=pppoe-out1 limit=10,20:packet protocol=icmpv6
add action=drop chain=input comment="Drop external ICMP (>10/sec)" \
    in-interface=pppoe-out1 protocol=icmpv6
add action=accept chain=input comment="Accept internal ICMP" in-interface=\
    !pppoe-out1 protocol=icmpv6
add action=drop chain=input comment="Drop external" in-interface=pppoe-out1
add action=reject chain=input comment="Reject everything else"
add action=accept chain=output comment="Accept all"
add action=drop chain=forward comment="Drop (invalid)" connection-state=\
    invalid
add action=accept chain=forward comment="Accept (established, related)" \
    connection-state=established,related
add action=accept chain=forward comment="Accept external ICMP (20/sec)" \
    in-interface=pppoe-out1 limit=20,50:packet protocol=icmpv6
add action=drop chain=forward comment="Drop external ICMP (>20/sec)" \
    in-interface=pppoe-out1 protocol=icmpv6
add action=accept chain=forward comment="Accept internal" in-interface=\
    !pppoe-out1
add action=accept chain=forward comment="Accept outgoing" out-interface=\
    pppoe-out1
add action=drop chain=forward comment="Drop external" in-interface=pppoe-out1
add action=reject chain=forward comment="Reject everything else"
/ipv6 nd
set [ find default=yes ] disabled=yes
add interface=bridge
/system clock
set time-zone-autodetect=no time-zone-name=Europe/Madrid
/system ntp client
set enabled=yes primary-ntp=150.214.94.5 secondary-ntp=176.119.210.243
/system routerboard settings
set auto-upgrade=yes
/tool mac-server
set allowed-interface-list=LAN
/tool mac-server mac-winbox
set allowed-interface-list=LAN

He visto por encima el tutorial que me recomiendas Mikrotik, IKEv2 VPN a fondo, menudo curro te has pegado ;) y veo que es para establecer la conexión entre dos routers, no? luego cuando llegue a casa lo miro mejor.

Gracias!
 
Edita el mode-config (IPSec -> pestaña Mode Config) y marca el tick de "System DNS"

He visto por encima el tutorial que me recomiendas Mikrotik, IKEv2 VPN a fondo, menudo curro te has pegado ;) y veo que es para establecer la conexión entre dos routers, no? luego cuando llegue a casa lo miro mejor.
Míralo bien, porque monta ambos, también IKEv2 en modo road warrior, que es lo que buscas tú. Es una configuración algo más compleja, pero mucho mejor rematada que la de este manual.

Saludos!
 
Edita el mode-config (IPSec -> pestaña Mode Config) y marca el tick de "System DNS"


Míralo bien, porque monta ambos, también IKEv2 en modo road warrior, que es lo que buscas tú. Es una configuración algo más compleja, pero mucho mejor rematada que la de este manual.

Saludos!
Ya estaba seleccionado. Se te ocurre algo más?

P2lNeJgV2O.png
 
Mete en el split-include: 0.0.0.0/0

Sin eso, solo estarías mandando a la VPN el tráfico local de tu red, no todo el tráfico. Y entiendo quieres lo segundo, ¿no?

Saludos!
 
Mete en el split-include: 0.0.0.0/0

Sin eso, solo estarías mandando a la VPN el tráfico local de tu red, no todo el tráfico. Y entiendo quieres lo segundo, ¿no?

Saludos!
Si, lo que quiero es acceder a mi LAN para trabajar como si estuviera en casa y además tener acceso a Internet por si quiero consultar algo en ese momento, pero sigo sin acceder a Internet.

1.- He probado poner en Split Include: 0.0.0.0/0 -> No accedo a internet.
2.- He probado poner en Split DNS: 8.8.8.8.8 -> No accedo a internet.

Para poder navegar tengo que salir de la VPN.

1618913753540.png
 

Adjuntos

  • 1618913817785.png
    1618913817785.png
    20.3 KB · Visitas: 128
Si, lo que quiero es acceder a mi LAN para trabajar como si estuviera en casa y además tener acceso a Internet por si quiero consultar algo en ese momento, pero sigo sin acceder a Internet.
Sí, pero ¿qué hacemos con el tráfico de internet (general), lo dejamos que salga en local por esa máquina remota, por la red a la cual está conectada, o lo chutamos todo vía VPN a tu casa? Si lo chutamos todo a tu casa, el split include tiene que ir a 0.0.0.0/0 (o no indicarlo), y podrías usar el system DNS (vas a entregar la IP local del router como servidor DNS). Si por el contrario sólo queremos chutar parte del tráfico, hay que jugar con el split include y la subred a la que quieres dar acceso desde la VPN.

De todas maneras, prueba con esta config, a ver si va a ser la parte de IPv6 la que te está jodiendo al usar el system DNS:

1618915413978.png


Saludos!
 
Ya vamos acercándonos jeje..

Ahora ya tengo ping al dominio google (compartiendo internet al portátil desde mi móvil):

acGOdkzE8K.png


Pero el navegador se queda así:

qvyhQA0ot4.png


Bueno, no te preocupes, probaré a configurar la VPN con el segundo tuto de IKEv2. Gracias.

S@lu2.
 
Ya vamos acercándonos jeje..

Ahora ya tengo ping al dominio google (compartiendo internet al portátil desde mi móvil):

Ver el adjunto 81234

Pero el navegador se queda así:

Ver el adjunto 81237

Bueno, no te preocupes, probaré a configurar la VPN con el segundo tuto de IKEv2. Gracias.

S@lu2.
Joder, ya te está dando la lata...Vuelve a meter el split include a 0.0.0.0/0

Aunque, según la wiki, Windows lo ignora. Es decir, quedaría algo así:

1618934319868.png


Saludos!
 
Arriba