MANUAL: Mikrotik, VPN tipo RoadWarrior usando WireGuard

Toca retractarse

Acabo de confirmar que en el 4011 tengo una ruta estática que es la que quita doble nat al hap^2

Efectivamente si el OP no tiene acceso al hap en el 3011 no va a hacer nada, no es una solución válida.

La ruta que tenía en el hap^2 no tiene valor, de hecho la he desactivado y todo funciona sin problema

Lamento mi confusión @pokoyo

Saludos
 
Última edición:
Toca retractarse

Acabo de confirmar que en el 4011 tengo una ruta estática que es la que quita doble nat al hap^2

Efectivamente si el OP no tiene acceso al hap en el 3011 no va a hacer nada, no es una solución válida.

La ruta que tenía en el hap^2 no tiene valor, de hecho la he desactivado y todo funciona sin problema

Lamento mi confusión @pokoyo

Saludos
No pasa nada, ya ves tú. Me sonó muy raro cuando lo comentaste la primera vez, por eso pensé que era algún tipo de truco o trampa, por eso le llamé ñapa. Pero no me encajaba, sin tener acceso al primer equipo. No obstante, para una configuración como la que tienes tú, o la que plantea el vídeo, es válida.

Saludos!
 
Efectivamente @pokoyo no puedo acceder al hAP y modificar la configuración. Por eso mismo pensé que la mejor forma seria hacer el NAT en el 3011.

De todas formas, gracias por tu aportación @Otro+, voy a ver si termino de entender tu propuesta aunque solo sea para aprender.
 
Aunque no sé si es el hilo correcto aprovecho para preguntar.

En mi caso que reglas de firewall debería atener en el RB3011 para mantenerlo todo seguro al haber abierto y redirigido el puerto del hap?
 
Aunque no sé si es el hilo correcto aprovecho para preguntar.

En mi caso que reglas de firewall debería atener en el RB3011 para mantenerlo todo seguro al haber abierto y redirigido el puerto del hap?
Las mismas que si tuvieras el equipo expuesto a internet. Las que vienen por defecto.

Saludos!
 
Hola, tengo la VPN configurada pero no consigo tener acceso a la red. El cliente android parece que "se conecta" pero en el tráfico de la interfaz de wg del mikrotik no aparece nada y solamente aumenta el número de TX/Rx Errors. No tengo muy claro como hay que realizar trobleshooting para identificar el problema dentro del mikrotik...
 
pásame un export de router y cliente, sin mostrar la clave privada, y lo miramos.

Saludos!
 
Config Router:

Código:
[admin@MikroTik] > export hide-sensitive
# may/17/2021 17:08:31 by RouterOS 7.1beta5
# software id = SQJM-HXZS
#
# model = RouterBOARD 3011UiAS
# serial number = ............
/interface bridge
add name=bridge1
/interface ethernet
set [ find default-name=ether1 ] comment=WAN
set [ find default-name=ether2 ] comment=LAN
set [ find default-name=sfp1 ] disabled=yes
/interface wireguard
add listen-port=51820 mtu=1420 name=wireguard
/interface wireless security-profiles
set [ find default=yes ] supplicant-identity=MikroTik
/ip pool
add name=poolLAN ranges=192.168.1.15-192.168.1.254
/ip dhcp-server
add address-pool=poolLAN disabled=no interface=bridge1 name=serverDHCPLan
/interface bridge port
add bridge=bridge1 interface=ether2
add bridge=bridge1 interface=ether3
add bridge=bridge1 interface=ether4
add bridge=bridge1 interface=ether5
add bridge=bridge1 interface=ether6
add bridge=bridge1 interface=ether7
add bridge=bridge1 interface=ether8
add bridge=bridge1 interface=ether9
add bridge=bridge1 interface=ether10
/interface detect-internet
set detect-interface-list=all
/interface wireguard peers
add allowed-address=10.10.0.2/32 interface=wireguard public-key="..............................."
/ip address
add address=192.168.1.1/24 interface=bridge1 network=192.168.1.0
add address=192.168.88.2/24 interface=ether1 network=192.168.88.0
add address=10.10.0.1/24 interface=wireguard network=10.10.0.0
/ip cloud
set ddns-enabled=yes ddns-update-interval=1m
/ip dhcp-client
add interface=ether1
/ip dhcp-server network
add address=192.168.1.0/24 dns-server=8.8.8.8,8.8.4.4 gateway=192.168.1.1 netmask=24
/ip firewall nat
add action=masquerade chain=srcnat dst-address=0.0.0.0/0 out-interface=ether1 src-address=192.168.1.0/24
add action=masquerade chain=srcnat src-address=10.10.0.0/24
/ip route
add disabled=no dst-address=0.0.0.0/0 gateway=192.168.88.1 routing-table=main suppress-hw-offload=no
/system clock
set time-zone-name=Europe/Madrid
/system routerboard settings
set auto-upgrade=yes


Config Cliente:

Cliente-wg-1.jpegCliente-wg-2.jpeg
 
Comenta las dos reglas de src-nat y mete una genérica, a ver qué hace. Aparte de no llevar firewall (espero que lo lleve el router que tienes por encima), no le veo nada raro.
Código:
/ip firewall nat
add action=masquerade chain=srcnat comment=masquerade-wan ipsec-policy=\
    out,none out-interface=ether1
add action=masquerade chain=srcnat comment=masquerade-wireguard src-address=10.10.0.0/24

En el móvil, en punto final, metes dominio + dos puntos + puerto ¿verdad? No veo nada más raro.

Comprueba también que has cruzado correctamente las claves públicas. Es decir, que en el móvil has puesto la fe la interfaz wg del router y que cuando diste de alta el peer en el móvil metiste la del móvil. Las privadas no se tocan, cada extremo con la suya.

Saludos!
 
Última edición:
Comenta las dos reglas de src-nat y mete una genérica, a ver qué hace. Aparte de no llevar firewall (espero que lo lleve el router que tienes por encima), no le veo nada raro.
Código:
/ip firewall nat
add action=masquerade chain=srcnat comment=masquerade-wan ipsec-policy=\
    out,none out-interface=ether1
add action=masquerade chain=srcnat comment=masquerade-wireguard src-address=10.10.0.0/24

En el móvil, en punto final, metes dominio + dos puntos + puerto ¿verdad? No veo nada más raro.

Comprueba también que has cruzado correctamente las claves públicas. Es decir, que en el móvil has puesto la fe la interfaz wg del router y que cuando diste de alta el peer en el móvil metiste la del móvil. Las privadas no se tocan, cada extremo con la suya.

Saludos!

Efectivamente el router de delante ya tiene configuradas reglas de firewall.

No termino de entender a que te refieres por una regla de nat generica.

Las claves estan bien cruzadas
 
Efectivamente el router de delante ya tiene configuradas reglas de firewall.

No termino de entender a que te refieres por una regla de nat generica.

Las claves estan bien cruzadas
Las reglas de masquerade son un subgrupo dentro de las reglas de source-nat. Si conoces tu IP pública, como es tu caso (192.168.88.2, que para ese equipo es su ip “pública”), no tiene sentido que apliques un masquerade, aplicas directamente un action=src-nat

El masquerade se inventa par cambiar IP privada por pública cuando no conoces la IP pública o es susceptible de cambiar.

Tu regla es una mezcla de las dos. Y, cómo a priori no sé si tú problema viene de ahí, prefiero que uses una regla genérica como la que te he mandado, que dice: a todo tráfico distinto del ipsec que salga por ether1 (lo del ipsec te lo podrías ahorrar, puesto que en tu router no lo usas ahora mismo), le aplicas un masquerade.

aunque, si yo fuera tú, cambiaría esas dos reglas de masquerade por una única regla de src-nat. Pero esto último lo dejamos para cuando veamos WireGuard funcionando. Pasito a pasito.

A todo esto, funciona, o sigue dando errores? Revisa bien lo de las claves públicas, que no te hayas comido ningún carácter en el copia y pega. El túnel va a levantar siempre, porque se levanta independiente en ambos extremos, y luego intenta comprobar si el otro lado “hace eco eco!!!”

Saludos!
 
He colocado tus reglas de NAT. WG sigue sin funcionar, desde el telefono no puedo hacer ping ni a la 10.10.0.1 (la interfaz de wg)
 
Um.... prueba a cambiar las IP's de la VPN. Por si tu operador está usando esas IP's en parte de su red. No debería afectarte, pero qué se yo, no se me ocurre nada más. Aparentemente lo veo bien. Usa por ejemplo la subred 192.168.23.0/24, a ver qué hace.

No obstante, te voy a hacer una recomendación: ahora mismo tienes ese equipo que ni es un router ni es un switch. Decídete por uno de los dos modelos, y configura el equipo acorde a ello. Si consigues que el operador te configure una DMZ a tu IP, configura ese equipo como router, porque ahora mismo no tienes firewall ninguno.

Saludos!
 
Buenas a todos.

¿Creéis que este tutorial seguirá siendo válido cuando ROS 7.1 esté en la rama estable? O dicho de otro modo, ¿Es aplicable a la RC2 actualmente publicada? Supongo que la respuesta debiera ser sí, puesto que no se ha tocado nada más de la WireGuard desde la beta2 según los changelogs, pero bueno mejor si nos lo asegura un experto.

Por otro lado, tengo dudas en cuanto a la apertura del puerto 12345. ¿Hay que abrirlo en tcp, udp, o ambos? Me quiere sonar que Wireguard utiliza el protocolo udp.

¡Saludos!
 
Buenas a todos.

¿Creéis que este tutorial seguirá siendo válido cuando ROS 7.1 esté en la rama estable? O dicho de otro modo, ¿Es aplicable a la RC2 actualmente publicada? Supongo que la respuesta debiera ser sí, puesto que no se ha tocado nada más de la WireGuard desde la beta2 según los changelogs, pero bueno mejor si nos lo asegura un experto.

Por otro lado, tengo dudas en cuanto a la apertura del puerto 12345. ¿Hay que abrirlo en tcp, udp, o ambos? Me quiere sonar que Wireguard utiliza el protocolo udp.

¡Saludos!
Tal cual esta, funciona. Puerto udp, el que te de la real gana (evita los puertos bajos que suelen estar cogidos y/o registrados para otro tipo de aplicaciones).

Saludos!
 
Hola @pokoyo

Pues nada, no consigo echar a andar Wireguard. Mi configuración es bien simple, tan solo quiero conectarme desde mi móvil a mi router principal, sin routers secundarios de por medio. He repetido todo el proceso varias veces, pero no hay forma, el móvil no conecta y me da el siguiente error:

1631052772738.png


¿Dudas que tengo? Sobre lo de abrir el puerto, he redireccionado el puerto que he elegido para Wireguard, 51820 udp al puerto 51820 de la ip 192.168.33.1 (router).

Otra cosa que me llama la atención es que, al generar la interfaz wireguard, se me genera siempre la clave privada. He intentado borrarla pero no puedo, siempre deja una marcada. He probado a establecer el cliente en el móvil tanto con las privadas como sin ellas, con la misma suerte.

Si es que tampoco tiene esto tanto misterio, pero algun error básico tengo que estar cometiendo que no conecta. ¿Se te ocurre qué puede ser? Si lo necesitas te mando los exports.

Saludos!
 
Hola @pokoyo

Pues nada, no consigo echar a andar Wireguard. Mi configuración es bien simple, tan solo quiero conectarme desde mi móvil a mi router principal, sin routers secundarios de por medio. He repetido todo el proceso varias veces, pero no hay forma, el móvil no conecta y me da el siguiente error:

Ver el adjunto 86022

¿Dudas que tengo? Sobre lo de abrir el puerto, he redireccionado el puerto que he elegido para Wireguard, 51820 udp al puerto 51820 de la ip 192.168.33.1 (router).

Otra cosa que me llama la atención es que, al generar la interfaz wireguard, se me genera siempre la clave privada. He intentado borrarla pero no puedo, siempre deja una marcada. He probado a establecer el cliente en el móvil tanto con las privadas como sin ellas, con la misma suerte.

Si es que tampoco tiene esto tanto misterio, pero algun error básico tengo que estar cometiendo que no conecta. ¿Se te ocurre qué puede ser? Si lo necesitas te mando los exports.

Saludos!
Cuando el propio router mikrotik, el principal, es es receptor del servicio, lo que necesitas es una regla de input que acepte el tráfico al propio router, no una regla de NAT que la redirija hacía abajo. Las reglas de NAT se hacen para mapear puertos a dispositivos que cuelgan del router.
¿te atreves a hacerla tú solo, y a saber dónde ponerla?

Saludos!
 
Arriba