🛡️Configurar Surfshark VPN en MikroTik con WireGuard, mangle y FastTrack correctamente

📌 Introducción

Cuando usamos MikroTik con Surfshark VPN (especialmente con WireGuard), es habitual querer enrutar solo ciertos dispositivos por el túnel. Para ello, se emplean reglas de mangle que marcan paquetes, rutas personalizadas y NAT. Sin embargo, si FastTrack está activo, puede romper esta lógica y provocar que el tráfico no se enrute correctamente.

Además, para reforzar la seguridad, es recomendable controlar qué dispositivos pueden usar la VPN mediante una address-list y reglas de filtrado que permitan explícitamente el acceso.


⚙️ Paso a paso: Configuración técnica

1. 🔧 Configurar WireGuard con Surfshark

/interface/wireguard/add name=surfshark listen-port=51820 private-key="TU_CLAVE_PRIVADA"
/interface/wireguard/peers/add interface=surfshark public-key="CLAVE_PUBLICA_SURFSHARK" \
  endpoint-address=XXX.XXX.XXX.XXX endpoint-port=51820 allowed-address=0.0.0.0/0

2. 🧠 Crear una address-list para controlar acceso

Define los dispositivos que sí pueden usar Surfshark:

/ip/firewall/address-list/add list=surfshark-users address=192.168.50.10 comment="PC de alozanox"
/ip/firewall/address-list/add list=surfshark-users address=192.168.50.20 comment="NAS"

3. 🎯 Marcar tráfico con mangle

Marca solo el tráfico que esté en esa lista:

/ip/firewall/mangle/add chain=prerouting src-address-list=surfshark-users \
  action=mark-routing new-routing-mark=SURFSHARK

4. 🚪 Crear ruta por el túnel

/ip/route/add dst-address=0.0.0.0/0 gateway=surfshark routing-table=SURFSHARK

5. 🔁 Aplicar NAT para tráfico marcado

/ip/firewall/nat/add chain=srcnat routing-mark=SURFSHARK action=masquerade

6. ⚡ Ajustar MSS para evitar fragmentación

/ip/firewall/mangle/add chain=forward action=change-mss new-mss=1320 passthrough=yes \
  protocol=tcp tcp-flags=syn routing-mark=SURFSHARK

7. 🚫 Excluir Surfshark de FastTrack

Para evitar que el tráfico por el túnel se salte las reglas del firewall:

/ip/firewall/filter/add chain=forward action=fasttrack-connection \
  connection-state=established,related \
  in-interface=!surfshark out-interface=!surfshark

Esto mantiene FastTrack activo para el resto del tráfico, pero lo excluye cuando entra o sale por la interfaz de Surfshark.


8. ✅ Permitir explícitamente el acceso a Surfshark

En lugar de bloquear lo no autorizado, se permite solo lo que está en la lista:

/ip/firewall/filter/add chain=forward out-interface=surfshark \
  src-address-list=surfshark-users action=accept \
  comment="Permitir acceso autorizado a Surfshark"

Esto garantiza que solo los dispositivos definidos en surfshark-users puedan enviar tráfico por el túnel VPN.


✅ Resultado final

  • Solo los dispositivos definidos en surfshark-users usan la VPN
  • El tráfico se marca, enruta y enmascara correctamente
  • FastTrack sigue activo para el resto del tráfico, sin romper la lógica del túnel
  • Seguridad reforzada mediante reglas de acceso explícito

🧠 Recapitulación técnica

ComponenteFunción
WireGuardEstablece el túnel con Surfshark
address-listDefine los dispositivos autorizados
mangleMarca el tráfico para enrutarlo por el túnel
routing-markUsa una tabla de rutas personalizada
NATEnmascara el tráfico para que tenga IP válida en el túnel
MSSAjusta el tamaño de paquetes TCP para evitar fragmentación
FastTrack excluidoEvita que el tráfico por Surfshark se salte las reglas del firewall
Regla de accesoPermite explícitamente el tráfico autorizado por el túne
Scroll al inicio
Resumen de privacidad

Esta web utiliza cookies para que podamos ofrecerte la mejor experiencia de usuario posible. La información de las cookies se almacena en tu navegador y realiza funciones tales como reconocerte cuando vuelves a nuestra web o ayudar a nuestro equipo a comprender qué secciones de la web encuentras más interesantes y útiles.

WordPress Appliance - Powered by TurnKey Linux