Artículos Guías Manuales Sistemas Linux Windows Redes MySql Binario 0 Binario Cero
Artículos Guías Manuales Sistemas Linux Windows Redes MySql Binario 0 Binario Cero

Redirigir únicamente el tráfico hacia Cloudflare mediante VPN en pfSense

Loading

Cuando se producen bloqueos hacia servicios protegidos por Cloudflare, muchos usuarios optan por activar una VPN global. El inconveniente es claro: todo el tráfico pasa por el túnel, afectando rendimiento y latencia.

La solución que vamos a implementar aquí consiste en aplicar policy routing, enviando exclusivamente el tráfico cuyo destino sean redes de Cloudflare a través de una VPN WireGuard, manteniendo el resto del tráfico por la salida WAN habitual.

El procedimiento está probado sobre:

  • pfSense CE 2.8.1
  • pfSense Plus
  • OPNsense
  • RouterOS

Nivel técnico requerido

Esta configuración no es básica. Es necesario conocer:

  • Creación de interfaces virtuales
  • Gestión avanzada de gateways
  • Reglas de firewall con gateway específico
  • Conceptos de WireGuard
  • Alias dinámicos

Se recomienda probar primero en laboratorio.

1. Requisitos previos

Router compatible

No es viable en routers domésticos convencionales. Se requiere:

  • Cliente WireGuard u OpenVPN
  • Soporte de interfaz virtual del túnel
  • Creación de alias
  • Policy routing por gateway

Hardware mínimo recomendado

ElementoMínimoRecomendado
CPUx86-64 1 GHzIntel i5 o superior
RAM2 GB4–8 GB
Disco32 GB256 GB
Interfaces23 o más

2. Servicio VPN

Necesitamos un proveedor que ofrezca configuración WireGuard descargable.

Opciones habituales:

AlternativaProtocoloCosteUso recomendado
Cloudflare WARPWireGuardGratisPruebas

3. Instalación de WireGuard en pfSense

Acceder a:

System → Package Manager → Available Packages

Instalar paquete WireGuard.

4. Configuración del túnel WireGuard

Ir a:

VPN → WireGuard → Add Tunnel

Ejemplo de archivo de configuración

Este sería un ejemplo típico proporcionado por el proveedor:

[Interface]
PrivateKey = xxxxx
Address = 10.10.0.2/32
DNS = 1.1.1.1[Peer]
PublicKey = yyyyy
PresharedKey = zzzzz
AllowedIPs = 0.0.0.0/0
Endpoint = vpn.ejemplo.com:51820
PersistentKeepalive = 25

Parámetros del túnel

En la sección Add Tunnel:

  • Enable → activado
  • Description → WG_TUNEL
  • Listen Port → opcional
  • Interface Keys → pegar PrivateKey

Guardar.

Configuración del Peer

Seleccionar Add Peer y definir:

  • Enable → activado
  • Tunnel → WG_TUNEL
  • Dynamic Endpoint → desactivado
  • Endpoint → vpn.ejemplo.com
  • Port → 51820
  • Keepalive → 25
  • Public Key → yyyyy
  • Preshared Key → zzzzz (si existe)
  • Allowed IPs → 0.0.0.0 / 0

Guardar.

Activar servicio

Ir a:

VPN → WireGuard → Settings

Marcar Enable.

Verificar estado en:

Status → WireGuard

Debe existir intercambio de handshake.

5. Asignación de interfaz

Ruta:

Interfaces → Assignments

En Available Network Ports seleccionar:

tun_wg0

Add → Save → Apply.

Editar interfaz creada:

  • Enable
  • Description → WG_TUNEL
  • IPv4 Configuration Type → Static IPv4
  • IPv6 → None
  • IPv4 Address → 10.10.0.2 /32

Guardar y aplicar.

6. Configuración del Gateway

Ir a:

System → Routing → Gateways → Add

Definir:

  • Interface → WG_TUNEL
  • Address Family → IPv4
  • Name → GW_WIREGUARD
  • Gateway → 10.10.0.2
  • Monitor IP → 10.10.0.1
  • Gateway Monitoring → desactivado
  • Gateway Action → desactivado

En Advanced activar:

✔ Use non-local gateway through interface specific route

Guardar y aplicar cambios.

7. Creación de Alias

Ir a:

Firewall → Aliases

Alias de origen

Nombre: ORIGEN_VPN
Tipo: Host(s)

Añadir IPs locales que queremos que puedan tunelizar tráfico hacia Cloudflare.

Guardar.

Alias de destino (Cloudflare)

Obtener listado oficial de redes IPv4 desde:

Cloudflare

URL:

https://www.cloudflare.com/ips-v4/

Crear alias:

  • Nombre → REDES_CLOUDFLARE
  • Tipo → Network(s)

Importar todas las subredes manualmente
o usar tipo URL con actualización cada 1 día.

Guardar y Apply Changes.

8. Creación de regla de firewall

Acceder a:

Firewall → Rules → LAN

Crear nueva regla (Add, al final inicialmente):

  • Action → Pass
  • Interface → LAN
  • Address Family → IPv4
  • Protocol → any
  • Source → ORIGEN_VPN
  • Destination → REDES_CLOUDFLARE

En Advanced Options:

  • Gateway → GW_WIREGUARD

Guardar.

⚠ Reordenar la regla y colocarla en segunda posición.

Si permanece al final, quedará anulada por reglas superiores.

9. Comprobación del funcionamiento

Ejecutar desde un equipo cliente:

tracert 104.16.0.1

La ruta debe salir por el túnel VPN.

Probar con otro destino fuera de Cloudflare: debe salir por WAN.

Problemas frecuentes

SíntomaPosible causa
No pasa tráfico por VPNRegla mal posicionada
Gateway aparece DownMonitor IP incorrecta
Sin handshakeEndpoint o claves erróneas
Todo el tráfico usa VPNAllowedIPs mal definido

Resultado final

Tras completar la configuración:

  • Solo tráfico con destino a Cloudflare se enruta por VPN
  • El resto mantiene la salida normal
  • Se minimiza impacto en latencia
  • No se altera geolocalización general

You may also like...