WireGuard no funciona como cliente en mi red MicroTik

Hola. Llevo dias intentando acceder a servidores WireGuard y me es imposible desde mi red con el router MicroTik RB760iGS. Ni con Windows, Linux, Android ni por Wifi o por cable Ethernet. Aparentemente conecta, pero no hay Internet ni acceso a la red local, nada por red funciona. En tranferir siempre marca 0 Bytes recibidos.
Con el móvil en 4G/5G accedo sin problemas a esos mismos servidores WireGuard.
El acceso mediante OpenVPN tampoco tengo problema.
Así que pensé que debe haber algo en mi config que me lo impide. Y es por eso que les pido ayuda.

Código:
# nov/13/2022 01:54:07 by RouterOS 6.49.6
# software id = FYJ9-1MIN
#
# model = RB760iGS
# serial number = *
/interface bridge
add admin-mac=* auto-mac=no comment=defconf name=bridge \
    protocol-mode=none
/interface vlan
add interface=ether1 name=vlan3 vlan-id=3
add interface=ether1 name=vlan6 vlan-id=6
/interface pppoe-client
add add-default-route=yes allow=pap,chap disabled=no interface=vlan6 \
    keepalive-timeout=60 max-mru=1492 max-mtu=1492 name=pppoe-out1 \
    use-peer-dns=yes user=adslppp@telefonicanetpa
/interface list
add comment=defconf name=WAN
add comment=defconf name=LAN
/interface wireless security-profiles
set [ find default=yes ] supplicant-identity=MikroTik
/ip pool
add name=dhcp ranges=192.168.88.31-192.168.88.254
/ip dhcp-server
add address-pool=dhcp disabled=no interface=bridge name=defconf
/interface bridge port
add bridge=bridge comment=defconf interface=ether2
add bridge=bridge comment=defconf interface=ether3
add bridge=bridge comment=defconf interface=ether4
add bridge=bridge comment=defconf interface=ether5
add bridge=bridge comment=defconf interface=sfp1
/ip neighbor discovery-settings
set discover-interface-list=LAN
/interface list member
add comment=defconf interface=bridge list=LAN
add comment=defconf interface=ether1 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
add address=192.168.1.1/24 interface=bridge network=192.168.1.0
add address=192.168.100.2/24 interface=ether1 network=192.168.100.0
add address=192.168.0.1/24 interface=bridge network=192.168.0.0
/ip cloud
set ddns-enabled=yes
/ip dhcp-client
add comment=defconf disabled=no interface=ether1
add add-default-route=no disabled=no interface=vlan3 use-peer-ntp=no
/ip dhcp-server lease
/ip dhcp-server network
add address=192.168.88.0/24 comment=defconf dns-server=\
    192.168.88.20,192.168.88.1 gateway=192.168.88.1
/ip dns
set allow-remote-requests=yes
/ip dns static
add address=192.168.88.1 comment=defconf name=router.lan
add address=192.168.88.20 name=osmc
/ip firewall address-list
add address=*.sn.mynetname.net list=public-ip
/ip firewall filter
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=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=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=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 mangle
add action=set-priority chain=postrouting new-priority=4 out-interface=vlan3
add action=set-priority chain=postrouting new-priority=1 out-interface=\
    pppoe-out1
/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=masquerade chain=srcnat comment="default configuration" \
    out-interface=pppoe-out1
add action=masquerade chain=srcnat comment="default configuration" \
    out-interface=vlan3
add action=dst-nat chain=dstnat comment=OSMC-P2P dst-port=49140-49152 \
    protocol=tcp to-addresses=192.168.88.20
add action=dst-nat chain=dstnat comment="OSMC-P2P(udp)" dst-port=49140-49152 \
    protocol=udp to-addresses=192.168.88.20
add action=dst-nat chain=dstnat comment=TVH-Audio disabled=yes dst-port=\
    6576-6577 protocol=tcp to-addresses=192.168.88.20 to-ports=9981
add action=dst-nat chain=dstnat comment=OSMC-WireGuard dst-port=51820 \
    protocol=udp to-addresses=192.168.88.20 to-ports=51820
/routing rip interface
add interface=vlan3 passive=yes receive=v2
/routing rip network
add network=10.0.0.0/8
/system clock
set time-zone-name=Europe/Madrid
/tool mac-server
set allowed-interface-list=LAN
/tool mac-server mac-winbox
set allowed-interface-list=LAN
 
Pásame el detalle de la conexión que estás intentando hacer. Doy por hecho que tú eres cliente (cualquier equipo debajo del router), y que el servidor está fuera de tu red, ¿correcto? Sin ver nada en mucho detalle, diría que tienes secuestrado el puerto.

Saludos!
 
No hay mucha historia en eso, porque ademas esos conf, funcionan en 4G:


Código:
[Interface]
PrivateKey = CLAVE PRIVADA
Address = 10.169.114.2/24
DNS = 1.1.1.1, 1.0.0.1

[Peer]
PublicKey = CLAVE PUBLICA
PresharedKey = CLAVE Precompartida
AllowedIPs = 0.0.0.0/0
Endpoint = ip-servidor:51820

El registro es:
Código:
2022-11-14 12:53:04.430: [TUN] [Conex-WG] Starting WireGuard/0.5.3 (Windows 10.0.19045; amd64)
2022-11-14 12:53:04.430: [TUN] [Conex-WG] Watching network interfaces
2022-11-14 12:53:04.431: [TUN] [Conex-WG] Resolving DNS names
2022-11-14 12:53:04.486: [TUN] [Conex-WG] Creating network adapter
2022-11-14 12:53:04.571: [TUN] [Conex-WG] Using existing driver 0.10
2022-11-14 12:53:04.578: [TUN] [Conex-WG] Creating adapter
2022-11-14 12:53:04.740: [TUN] [Conex-WG] Using WireGuardNT/0.10
2022-11-14 12:53:04.740: [TUN] [Conex-WG] Enabling firewall rules
2022-11-14 12:53:04.719: [TUN] [Conex-WG] Interface created
2022-11-14 12:53:04.744: [TUN] [Conex-WG] Dropping privileges
2022-11-14 12:53:04.744: [TUN] [Conex-WG] Setting interface configuration
2022-11-14 12:53:04.744: [TUN] [Conex-WG] Peer 1 created
2022-11-14 12:53:04.751: [TUN] [Conex-WG] Interface up
2022-11-14 12:53:04.751: [TUN] [Conex-WG] Monitoring MTU of default v6 routes
2022-11-14 12:53:04.752: [TUN] [Conex-WG] Setting device v6 addresses
2022-11-14 12:53:04.753: [TUN] [Conex-WG] Monitoring MTU of default v4 routes
2022-11-14 12:53:04.754: [TUN] [Conex-WG] Setting device v4 addresses
2022-11-14 12:53:04.757: [TUN] [Conex-WG] Startup complete
2022-11-14 12:53:04.775: [TUN] [Conex-WG] Sending handshake initiation to peer 1 (Mi.IP:51820)
2022-11-14 12:53:09.785: [TUN] [Conex-WG] Sending handshake initiation to peer 1 (Mi.IP:51820)
2022-11-14 12:53:14.923: [TUN] [Conex-WG] Handshake for peer 1 (Mi.IP:51820) did not complete after 5 seconds, retrying (try 2)
2022-11-14 12:53:14.923: [TUN] [Conex-WG] Sending handshake initiation to peer 1 (Mi.IP:51820)
2022-11-14 12:53:15.730: [TUN] [Conex-WG] Shutting down
2022-11-14 12:53:15.730: [MGR] [Conex-WG] Tunnel service tracker finished

Tengo en una Raspberry Pi un servidor WireGuard y desde fuera de la red funciona sin problemas.
Pero como cliente hacia distintos servidores WireGuard, fuera de mi red, no funciona.
 
Me tempo que sí hay historia, sí: mira lo que tienes en el NAT:

add action=dst-nat chain=dstnat comment=OSMC-WireGuard dst-port=51820 \
protocol=udp to-addresses=192.168.88.20 to-ports=51820


Estás secuestrando el tráfico del puerto 51820, el mismo puerto que luego usas como cliente. Si tu servidor usa el mismo puerto que tu cliente, abre eso usando un filtro que especifique que ese puerto se mapea contra esa IP sólo en sentido Internet -> LAN. Es decir, modifica la regla para que quede así:
Código:
/ip firewall nat
add action=dst-nat chain=dstnat comment=OSMC-WireGuard dst-port=51820 \
    protocol=udp to-addresses=192.168.88.20 to-ports=51820 in-interface-list=WAN

Saludos!
 
Solucionado, gracias Pocoyo.
Mis conocimientos de redes son muy básicos, pensaba que el puerto del cliente era distinto.
Creo recordar que con OpenVPN con clientes y servidor en la misma red no pasaba esto.

PD. Me gustaria disponer de WireGuard en el MicroTik, no sé si querará mucho tiempo para que lo incorporen a la rama stable
 
Solucionado, gracias Pocoyo.
Mis conocimientos de redes son muy básicos, pensaba que el puerto del cliente era distinto.
Creo recordar que con OpenVPN con clientes y servidor en la misma red no pasaba esto.
El problema no era el tipo de cliente ni el puerto, sino la regla de NAT, que estaba mal hecha.

PD. Me gustaria disponer de WireGuard en el MicroTik, no sé si querará mucho tiempo para que lo incorporen a la rama stable
Es ya hace tiempo que pasó.

Saludos
 
Arriba