Pular para o conteúdo

Configuração de proxy SOCKS5 em roteadores OpenWrt/DD-WRT

Инструменты
Configuração de proxy SOCKS5 em roteadores OpenWrt/DD-WRT

Configurar um proxy SOCKS5 no nível do roteador usando firmware OpenWrt ou DD-WRT centraliza o gerenciamento de privacidade da sua rede, roteando o tráfego de todos os dispositivos conectados por um único túnel criptografado. Essa configuração elimina a necessidade de instalar software em cada dispositivo e permite que hardwares como smart TVs, consoles de videogame e dispositivos IoT aproveitem os pools de IPs residenciais ou de datacenter de alta velocidade da GProxy. Usando ferramentas como redsocks ou shadowsocks-libev, você transforma um handshake SOCKS5 padrão em um proxy transparente que lida com tráfego TCP e UDP de forma contínua em toda a sua rede local (LAN).

A arquitetura do proxy SOCKS5 no nível do roteador

Proxies SOCKS5 padrão operam na camada de aplicação, ou seja, cada navegador ou aplicativo precisa ser configurado manualmente para usar o IP e a porta do proxy. Ao mover essa lógica para um roteador rodando OpenWrt ou DD-WRT, a arquitetura passa para um modelo de "proxy transparente". Nesse cenário, o roteador intercepta os pacotes de saída na camada de rede, redireciona-os para um cliente local (como o redsocks), que então encapsula os dados em um cabeçalho SOCKS5 e os encaminha para os servidores GProxy.

Essa abordagem oferece três vantagens claras para usuários avançados:

  • Compatibilidade universal: dispositivos que não suportam configurações de proxy nativamente (por exemplo, PlayStation 5, Apple TV ou geladeiras inteligentes) são roteados automaticamente pelo servidor GProxy.
  • Autenticação centralizada: em vez de gerenciar credenciais em vinte dispositivos diferentes, você gerencia uma única conexão no roteador.
  • Contornar limites de conexão: muitos serviços limitam sessões simultâneas por IP; rotear por um proxy residencial da GProxy no roteador oferece um ponto de saída consistente para toda a casa ou escritório.

Para roteamento de alto desempenho, o OpenWrt geralmente é preferido ao DD-WRT por causa do seu gerenciador de pacotes opkg, que permite instalar binários específicos como redsocks2 ou v2ray-core. O DD-WRT, embora mais amigável para iniciantes, muitas vezes exige injeção manual de scripts na configuração de inicialização para alcançar os mesmos resultados.

Configuração de proxy SOCKS5 em roteadores OpenWrt/DD-WRT

Configuração no OpenWrt: usando o Redsocks para proxy transparente

O OpenWrt não inclui uma opção nativa de "SOCKS5 para proxy transparente" na interface web LuCI. Para preencher essa lacuna, o redsocks é o utilitário padrão do mercado. Ele escuta em uma porta local e redireciona todo o tráfego recebido para o servidor SOCKS5 de sua escolha.

Passo 1: instalando os pacotes necessários

Conecte-se ao seu roteador via SSH e atualize as listas de pacotes. Você vai precisar de redsocks e iptables-mod-nat-extra (ou os equivalentes em nftables, se estiver no OpenWrt 22.03 ou mais recente).

# Representação de comandos de shell para OpenWrt
opkg update
opkg install redsocks iptables-mod-nat-extra ip-full

Passo 2: configurando o Redsocks

O arquivo de configuração fica em /etc/redsocks.conf. Você precisa definir o listener local e os dados do servidor GProxy remoto. Abaixo está um trecho de configuração pronto para produção:

# Exemplo 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; // A porta onde seu roteador intercepta o tráfego
    ip = 45.152.x.x;    // O IP do seu servidor GProxy
    port = 1080;        // Porta SOCKS5 da GProxy
    type = socks5;

    // Autenticação GProxy
    login = "your_username";
    password = "your_password";
}

Depois de editar o arquivo, ative e inicie o serviço: /etc/init.d/redsocks enable && /etc/init.d/redsocks start.

Passo 3: direcionando o tráfego com iptables

Apenas rodar o redsocks não basta; você precisa dizer ao kernel do roteador para enviar o tráfego à local_port definida acima. Isso é feito criando uma nova chain na tabela NAT. É essencial excluir o próprio endereço IP do servidor GProxy desse redirecionamento para evitar um loop infinito de roteamento.

# Cria uma nova chain
iptables -t nat -N REDSOCKS

# Nao redirecionar o trafego destinado ao proprio servidor proxy
iptables -t nat -A REDSOCKS -d 45.152.x.x -j RETURN

# Nao redirecionar o trafego da rede local (LAN)
iptables -t nat -A REDSOCKS -d 192.168.1.0/24 -j RETURN

# Redireciona todo o restante do trafego TCP para a porta do redsocks
iptables -t nat -A REDSOCKS -p tcp -j REDIRECT --to-ports 12345

# Aplica a chain no estagio PREROUTING
iptables -t nat -A PREROUTING -p tcp -j REDSOCKS

Configuração no DD-WRT: implementação baseada em scripts

O DD-WRT não tem a modularidade do opkg do OpenWrt, mas a maioria das builds modernas inclui o ss-redir (parte do Shadowsocks-libev) ou consegue rodar binários estáticos do redsocks. A configuração normalmente é feita pela aba Administration > Commands na interface web.

No DD-WRT, o método mais estável envolve usar um script de inicialização que baixa um binário pré-compilado do redsocks para o diretório /tmp (já que /usr é somente leitura em muitas builds). No entanto, se a sua build do DD-WRT incluir o cliente "Socks5" na aba Services, basta inserir ali as suas credenciais GProxy. Note que o cliente embutido costuma não oferecer controle granular sobre quais dispositivos usam o proxy.

Para garantir uma conexão persistente no DD-WRT, use a seguinte lógica no seu Startup Script:

  1. Verifique a conectividade com a internet.
  2. Baixe o arquivo de configuração de uma fonte local segura ou gere-o com comandos echo.
  3. Inicie o binário com a flag -c apontando para o seu arquivo de configuração.
  4. Execute as regras de iptables semelhantes às usadas no OpenWrt.
Configuração de proxy SOCKS5 em roteadores OpenWrt/DD-WRT

Comparando protocolos de proxy para integração com roteadores

Ao escolher um protocolo para uso no roteador, desempenho e compatibilidade são as principais métricas. Embora a GProxy suporte vários formatos, o SOCKS5 costuma ser superior em roteadores por conseguir lidar tanto com TCP quanto com UDP (via UDP Associate), o que é essencial para jogos e VoIP.

Recurso SOCKS5 (GProxy) Proxy HTTP/HTTPS OpenVPN / WireGuard
Camada OSI Camada 5 (Sessão) Camada 7 (Aplicação) Camada 3 (Rede)
Criptografia Opcional/túnel SSH TLS (HTTPS) Criptografia de túnel completo
Sobrecarga no roteador Baixa Muito baixa Alta (uso intensivo de CPU)
Suporte a UDP Sim (completo) Não Sim
Complexidade de configuração Moderada Fácil Alta

Para usuários com hardware de entrada (por exemplo, roteadores com CPUs MIPS de 600MHz), o SOCKS5 é bem mais eficiente que o OpenVPN. O OpenVPN exige criptografia/descriptografia AES pesada em cada pacote, o que pode reduzir uma conexão de 100Mbps para 15Mbps em hardware antigo. A implementação SOCKS5 da GProxy permite alto throughput sem saturar a CPU do roteador.

Roteamento avançado por políticas (PBR)

Em muitos cenários, você não quer que 100% do seu tráfego passe por um proxy. Por exemplo, você pode querer que seu notebook de trabalho e a smart TV usem os IPs residenciais dos EUA da GProxy, enquanto o PC de jogos mantém uma conexão direta e de baixa latência com servidores locais.

Implementando PBR no OpenWrt

O pacote pbr (Policy Based Routing) do OpenWrt é a forma mais sofisticada de lidar com isso. Ele permite criar regras baseadas no IP de origem do dispositivo na sua casa.

  1. Instale o pacote: opkg install pbr luci-app-pbr.
  2. Na interface LuCI, vá até Network > Routing Policy.
  3. Crie uma interface "Proxy" que aponte para a porta local do redsocks.
  4. Adicione uma regra: IP de origem: 192.168.1.50 (sua smart TV) -> Interface: Proxy.
  5. Todos os outros dispositivos vão usar por padrão o gateway WAN normal.

Esse controle granular garante que tarefas pesadas em banda que não precisam de proxy — como atualizações de sistema ou backups locais — não consumam desnecessariamente o seu plano de dados residenciais da GProxy.

Prevenção de vazamento de DNS

Uma falha comum em configurações SOCKS5 no roteador é o "vazamento de DNS". Mesmo que seus pacotes de dados estejam passando pela GProxy, o roteador pode continuar enviando consultas DNS aos servidores padrão do seu ISP. Isso revela seu histórico de navegação e pode contornar o bloqueio geográfico.

Para corrigir isso no OpenWrt, configure o dnsmasq para encaminhar as consultas pelo proxy. A forma mais eficaz é usar dns-over-https (DoH) ou dnscrypt-proxy. Depois de instalados, você pode rotear o tráfego deles pela mesma chain REDSOCKS do iptables. Como alternativa, se o seu cliente SOCKS5 suportar, ative a resolução remota de DNS para que o servidor GProxy faça a consulta em seu nome.

# Exemplo de script Python para verificar o status do proxy a partir de um cliente da rede
import requests

def check_proxy_status():
    proxy_url = "http://192.168.1.1:12345" # Porta do proxy transparente do seu roteador
    try:
        # Teste contra um servico de eco de IP
        response = requests.get("https://api.ipify.org?format=json", timeout=5)
        print(f"Current Exit IP: {response.json()['ip']}")
    except Exception as e:
        print(f"Error connecting through router proxy: {e}")

if __name__ == "__main__":
    check_proxy_status()

Pontos principais

Configurar SOCKS5 em um roteador é a solução definitiva de "configure e esqueça" para privacidade em toda a rede. Usando OpenWrt ou DD-WRT, você ganha um controle que o firmware de consumo não oferece.

  • O redsocks é essencial: ele funciona como a ponte necessária para transformar uma conexão SOCKS5 padrão da GProxy em um proxy transparente para todo o sistema.
  • Gerenciamento do iptables: sempre exclua o IP de destino do servidor proxy das suas regras de roteamento para evitar loops que travam a pilha de rede do roteador.
  • O hardware importa: se você pretende rotear mais de 50Mbps de tráfego, garanta que seu roteador tenha ao menos uma CPU dual-core para lidar com o redirecionamento de pacotes e a sobrecarga do redsocks.

Dica prática 1: sempre use whitelist de IP no painel GProxy se o seu ISP fornecer um IP estático. Isso elimina a sobrecarga de autenticação por usuário/senha nos arquivos de configuração do roteador, melhorando levemente a velocidade do handshake.

Dica prática 2: teste vazamentos logo após a configuração usando ferramentas como browserleaks.com/dns. Se você vir o nome do seu ISP em qualquer lugar, seu DNS não está sendo roteado pelo túnel SOCKS5 e você precisa ajustar as configurações do dnsmasq.

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