📌 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
Componente | Función |
---|---|
WireGuard | Establece el túnel con Surfshark |
address-list | Define los dispositivos autorizados |
mangle | Marca el tráfico para enrutarlo por el túnel |
routing-mark | Usa una tabla de rutas personalizada |
NAT | Enmascara el tráfico para que tenga IP válida en el túnel |
MSS | Ajusta el tamaño de paquetes TCP para evitar fragmentación |
FastTrack excluido | Evita que el tráfico por Surfshark se salte las reglas del firewall |
Regla de acceso | Permite explícitamente el tráfico autorizado por el túne |