Ir al contenido

Configuración de Proxy SOCKS5 en routers OpenWrt/DD-WRT

Инструменты
Configuración de Proxy SOCKS5 en routers OpenWrt/DD-WRT

Configurar un proxy SOCKS5 a nivel de router utilizando firmware OpenWrt o DD-WRT centraliza la gestión de la privacidad de su red, enrutando todo el tráfico de los dispositivos conectados a través de un único túnel cifrado. Esta configuración elimina la necesidad de instalar software en cada dispositivo y permite que hardware como smart TVs, consolas de videojuegos y dispositivos IoT se beneficien de los pools de IPs residenciales o de datacenter de alta velocidad de GProxy. Al aprovechar herramientas como redsocks o shadowsocks-libev, puede transformar un apretón de manos SOCKS5 estándar en un proxy transparente que gestiona el tráfico TCP y UDP sin interrupciones en toda su red de área local (LAN).

La arquitectura del proxy SOCKS5 a nivel de router

Los proxies SOCKS5 estándar operan en la capa de aplicación, lo que significa que cada navegador o aplicación debe configurarse manualmente para usar la IP y el puerto del proxy. Al trasladar esta lógica a un router con OpenWrt o DD-WRT, la arquitectura cambia a un modelo de "proxy transparente". En este escenario, el router intercepta los paquetes salientes en la capa de red, los redirige a un cliente local (como redsocks), que luego envuelve los datos en una cabecera SOCKS5 y los reenvía a los servidores de GProxy.

Este enfoque ofrece tres ventajas distintivas para los usuarios avanzados:

  • Compatibilidad universal: Los dispositivos que no admiten de forma nativa la configuración de proxy (por ejemplo, PlayStation 5, Apple TV o frigoríficos inteligentes) se enrutan automáticamente a través del servidor de GProxy.
  • Autenticación centralizada: En lugar de gestionar credenciales en veinte dispositivos diferentes, gestiona una sola conexión en el router.
  • Omisión de límites de conexión: Muchos servicios limitan las sesiones concurrentes por IP; el enrutamiento a través de un proxy residencial de GProxy en el router proporciona un punto de salida consistente para todo el hogar u oficina.

Para un enrutamiento de alto rendimiento, generalmente se prefiere OpenWrt sobre DD-WRT debido a su gestor de paquetes opkg, que permite la instalación de binarios específicos como redsocks2 o v2ray-core. DD-WRT, aunque es más amigable para principiantes, a menudo requiere la inyección manual de scripts en la configuración de inicio para lograr los mismos resultados.

Configuración de proxy SOCKS5 en routers OpenWrt/DD-WRT

Configuración en OpenWrt: Uso de Redsocks para proxy transparente

OpenWrt no incluye un interruptor nativo de "SOCKS5 a Proxy Transparente" en la interfaz web LuCI. Para cerrar esta brecha, redsocks es la utilidad estándar de la industria. Escucha en un puerto local y redirige cualquier tráfico que reciba al servidor SOCKS5 de su elección.

Paso 1: Instalación de los paquetes necesarios

Conéctese a su router a través de SSH y actualice las listas de paquetes. Necesitará redsocks e iptables-mod-nat-extra (o equivalentes de nftables si utiliza OpenWrt 22.03 o posterior).

# Esta es una representación de comandos de shell para OpenWrt
opkg update
opkg install redsocks iptables-mod-nat-extra ip-full

Paso 2: Configuración de Redsocks

El archivo de configuración se encuentra en /etc/redsocks.conf. Debe definir el listener local y los detalles del servidor remoto de GProxy. A continuación, se muestra un fragmento de configuración listo para producción:

# Ejemplo de /etc/redsocks.conf para GProxy
base {
    log_debug = off;
    log_info = on;
    log = "syslog:daemon";
    daemon = on;
    redirector = iptables;
}

redsocks {
    local_ip = 127.0.0.1;
    local_port = 12345; // El puerto donde su router intercepta el tráfico
    ip = 45.152.x.x;    // Su IP de servidor GProxy
    port = 1080;        // Puerto SOCKS5 de GProxy
    type = socks5;
    
    // Autenticación de GProxy
    login = "tu_usuario";
    password = "tu_password";
}

Después de editar el archivo, habilite e inicie el servicio: /etc/init.d/redsocks enable && /etc/init.d/redsocks start.

Paso 3: Dirección del tráfico mediante Iptables

Simplemente ejecutar redsocks no es suficiente; debe indicarle al kernel del router que envíe el tráfico al local_port definido anteriormente. Esto se hace creando una nueva cadena en la tabla NAT. Es vital excluir la propia dirección IP del servidor GProxy de esta redirección para evitar un bucle de enrutamiento infinito.

# Crear una nueva cadena
iptables -t nat -N REDSOCKS

# No redirigir el tráfico destinado al propio servidor proxy
iptables -t nat -A REDSOCKS -d 45.152.x.x -j RETURN

# No redirigir el tráfico de la red local (LAN)
iptables -t nat -A REDSOCKS -d 192.168.1.0/24 -j RETURN

# Redirigir todo el resto del tráfico TCP al puerto de redsocks
iptables -t nat -A REDSOCKS -p tcp -j REDIRECT --to-ports 12345

# Aplicar la cadena a la etapa de PREROUTING
iptables -t nat -A PREROUTING -p tcp -j REDSOCKS

Configuración en DD-WRT: Implementación basada en scripts

DD-WRT carece de la modularidad del opkg de OpenWrt, pero la mayoría de las compilaciones modernas incluyen ss-redir (parte de Shadowsocks-libev) o pueden ejecutar binarios estáticos de redsocks. La configuración se gestiona normalmente a través de la pestaña Administración > Comandos en la interfaz web.

Para DD-WRT, el método más estable implica el uso de un script de inicio que descarga un binario de redsocks precompilado al directorio /tmp (ya que /usr es de solo lectura en muchas compilaciones). Sin embargo, si su compilación de DD-WRT incluye el cliente "Socks5" en la pestaña Servicios, simplemente puede ingresar sus credenciales de GProxy allí. Tenga en cuenta que el cliente integrado a menudo carece de control granular sobre qué dispositivos se pasan por el proxy.

Para asegurar una conexión persistente en DD-WRT, utilice la siguiente lógica en su Script de Inicio:

  1. Verificar la conectividad a Internet.
  2. Descargar el archivo de configuración desde una fuente local segura o generarlo mediante comandos echo.
  3. Lanzar el binario con el flag -c apuntando a su configuración.
  4. Ejecutar las reglas de iptables similares a las utilizadas en OpenWrt.
Configuración de proxy SOCKS5 en routers OpenWrt/DD-WRT

Comparación de protocolos proxy para integración en routers

Al seleccionar un protocolo para el despliegue a nivel de router, el rendimiento y la compatibilidad son las métricas principales. Aunque GProxy admite múltiples formatos, SOCKS5 es generalmente superior para routers debido a su capacidad para manejar tanto TCP como UDP (vía UDP Associate), lo cual es crítico para juegos y VoIP.

Característica SOCKS5 (GProxy) Proxy HTTP/HTTPS OpenVPN / WireGuard
Capa OSI Capa 5 (Sesión) Capa 7 (Aplicación) Capa 3 (Red)
Cifrado Opcional/Túnel SSH TLS (HTTPS) Cifrado de túnel completo
Carga del router Baja Muy baja Alta (Intensiva en CPU)
Soporte UDP Sí (Completo) No
Complejidad de configuración Moderada Fácil Alta

Para usuarios con hardware de nivel de entrada (por ejemplo, routers con CPUs MIPS de 600MHz), SOCKS5 es significativamente más eficiente que OpenVPN. OpenVPN requiere un fuerte cifrado/descifrado AES en cada paquete, lo que puede reducir una conexión de 100Mbps a 15Mbps en hardware antiguo. La implementación SOCKS5 de GProxy permite un alto rendimiento sin saturar la CPU del router.

Enrutamiento avanzado basado en políticas (PBR)

En muchos escenarios, no querrá que el 100% de su tráfico pase por un proxy. Por ejemplo, es posible que desee que su portátil de trabajo y su Smart TV utilicen las IPs residenciales de GProxy basadas en EE. UU., mientras que su PC de juegos mantiene una conexión directa de baja latencia con los servidores locales.

Implementación de PBR en OpenWrt

El paquete pbr (Policy Based Routing) en OpenWrt es la forma más sofisticada de gestionar esto. Le permite crear reglas basadas en la IP de origen del dispositivo en su hogar.

  1. Instale el paquete: opkg install pbr luci-app-pbr.
  2. En la interfaz LuCI, navegue a Red > Política de enrutamiento.
  3. Cree una interfaz "Proxy" que apunte a su puerto local de redsocks.
  4. Añada una regla: IP de origen: 192.168.1.50 (su Smart TV) -> Interfaz: Proxy.
  5. Todos los demás dispositivos usarán por defecto la puerta de enlace WAN estándar.

Este control granular garantiza que las tareas que consumen mucho ancho de banda y no requieren un proxy —como las actualizaciones del sistema operativo o las copias de seguridad locales— no consuman innecesariamente su plan de datos residenciales de GProxy.

Prevención de fugas de DNS

Un fallo común en las configuraciones de routers SOCKS5 es la "fuga de DNS". Incluso si sus paquetes de datos se mueven a través de GProxy, su router podría seguir enviando consultas DNS a los servidores predeterminados de su ISP. Esto revela su historial de navegación y puede eludir el geobloqueo.

Para solucionar esto en OpenWrt, debe configurar dnsmasq para reenviar las consultas a través del proxy. La forma más efectiva es usar dns-over-https (DoH) o dnscrypt-proxy. Una vez instalados, puede enrutar su tráfico a través de la misma cadena de iptables REDSOCKS. Alternativamente, si su cliente SOCKS5 lo admite, habilite la resolución DNS remota para que el servidor de GProxy realice la búsqueda por usted.

# Ejemplo de script en Python para verificar el estado del proxy desde un cliente de red
import requests

def check_proxy_status():
    proxy_url = "http://192.168.1.1:12345" # El puerto de proxy transparente de su router
    try:
        # Probando contra un servicio de eco de IP
        response = requests.get("https://api.ipify.org?format=json", timeout=5)
        print(f"IP de salida actual: {response.json()['ip']}")
    except Exception as e:
        print(f"Error al conectar a través del proxy del router: {e}")

if __name__ == "__main__":
    check_proxy_status()

Conclusiones clave

Configurar SOCKS5 en un router es la solución definitiva de "configurar y olvidar" para la privacidad en toda la red. Al usar OpenWrt o DD-WRT, obtiene un control que el firmware de consumo no puede proporcionar.

  • Redsocks es esencial: Actúa como el puente necesario para convertir una conexión SOCKS5 estándar de GProxy en un proxy transparente para todo el sistema.
  • Gestión de Iptables: Asegúrese siempre de excluir la IP de destino del servidor proxy de sus reglas de enrutamiento para evitar bucles que bloqueen la pila de red del router.
  • El hardware importa: Si planea enrutar más de 50Mbps de tráfico, asegúrese de que su router tenga al menos una CPU de doble núcleo para manejar la redirección de paquetes y la carga de redsocks.

Consejo práctico 1: Utilice siempre la Lista blanca de IPs en el panel de GProxy si su ISP le proporciona una IP estática. Esto elimina la carga de la autenticación de usuario/contraseña en los archivos de configuración de su router, mejorando ligeramente la velocidad del apretón de manos de la conexión.

Consejo práctico 2: Compruebe si hay fugas inmediatamente después de la configuración utilizando herramientas como browserleaks.com/dns. Si ve el nombre de su ISP en cualquier lugar, su DNS no se está enrutando a través del túnel SOCKS5 y necesita ajustar la configuración de dnsmasq.

support_agent
GProxy Support
Usually replies within minutes
Hi there!
Send us a message and we'll reply as soon as possible.