Configurar um roteador para rotear todos os dispositivos através de um proxy envolve ajustar as configurações de rede do roteador para redirecionar todo o tráfego de internet de saída dos clientes conectados para um servidor proxy especificado antes que ele chegue ao destino final.
Visão geral do proxy no roteador
Rotear todo o tráfego de rede através de um proxy no nível do roteador oferece controle centralizado do acesso à internet para todos os dispositivos conectados à rede, inclusive aqueles sem opções nativas de configuração de proxy (por exemplo, smart TVs, dispositivos IoT). Esse método garante a aplicação consistente das políticas de proxy, como mascaramento de endereço IP, contorno de restrições geográficas ou filtragem de conteúdo, em toda a rede local (LAN).
Como funciona
Quando um roteador é configurado para usar um proxy, ele intercepta as requisições de rede de saída de qualquer dispositivo conectado. Em vez de enviar essas requisições diretamente para a internet, o roteador as encaminha ao servidor proxy designado. O servidor proxy então faz a requisição à internet em nome do roteador (e, portanto, do dispositivo cliente) e devolve a resposta ao roteador, que a repassa ao cliente original.
Pré-requisitos
Antes de tentar configurar um proxy no roteador, garanta o seguinte:
- Dados do servidor proxy:
- Endereço IP ou hostname do servidor proxy.
- Porta do proxy.
- Credenciais de autenticação (usuário e senha), se exigidas.
- Tipo de proxy (HTTP, HTTPS, SOCKS4, SOCKS5).
- Acesso ao roteador: acesso administrativo à interface de configuração do seu roteador (GUI web ou SSH).
- Capacidades do roteador:
- Firmware customizado: a maioria dos roteadores domésticos não tem suporte nativo a proxy transparente. Firmwares customizados como OpenWrt, DD-WRT ou pfSense/OPNsense (para hardware de roteador dedicado) costumam ser necessários. Esses firmwares oferecem a flexibilidade necessária para instalar softwares de proxy e configurar regras de firewall.
- Processador e memória: rotear todo o tráfego por um proxy, especialmente com interceptação SSL/TLS, consome muitos recursos. Verifique se o roteador tem CPU e RAM suficientes.
- Armazenamento: espaço flash suficiente para instalar os pacotes de proxy (por exemplo, Squid, TinyProxy).
Métodos de implementação de proxy no roteador
A abordagem para configurar um proxy no roteador depende muito do firmware e das capacidades do equipamento.
1. Configurações nativas de proxy (raro)
Alguns roteadores corporativos de alto padrão ou appliances de segurança especializados podem oferecer campos de configuração de proxy embutidos. Isso é incomum em roteadores domésticos. Quando disponível, essas configurações normalmente consistem em informar o IP e a porta do servidor proxy upstream.
2. Proxy transparente via firmware customizado (recomendado para "todos os dispositivos")
Este é o método mais comum e robusto para hardware doméstico rodando firmware customizado. Ele consiste em instalar um servidor proxy local no próprio roteador e então usar regras de firewall para redirecionar todo o tráfego de saída relevante para esse proxy local, que por sua vez o encaminha ao proxy externo (upstream).
Exemplo: OpenWrt/DD-WRT com Squid/TinyProxy e iptables
Este método envolve:
1. Instalar um servidor proxy local: pacotes como squid (mais completo, maior consumo de recursos) ou tinyproxy (leve, apenas HTTP/HTTPS) podem ser instalados no roteador.
2. Configurar o proxy local: o proxy local é configurado para atuar como encaminhador, enviando todas as requisições ao seu servidor proxy externo.
3. Configurar regras de firewall (iptables): as regras são adicionadas para redirecionar o tráfego HTTP (porta 80) e HTTPS (porta 443) dos clientes da LAN para a porta de escuta do proxy local.
Passo a passo (conceitual para OpenWrt):
-
Conecte-se ao roteador via SSH:
bash ssh root@<router_ip> -
Instale o pacote de proxy (por exemplo, TinyProxy):
bash opkg update opkg install tinyproxy
Para o Squid, o processo é parecido, mas a configuração é mais complexa. -
Configure o TinyProxy:
Edite/etc/tinyproxy.conf.- Defina
Portcom uma porta livre (por exemplo,8888). - Defina
Listencomo0.0.0.0ou o IP de LAN do roteador. - Configure
Upstreamapontando para o seu servidor proxy externo:
Upstream <proxy_type> <external_proxy_ip_or_hostname>:<external_proxy_port> # Exemplo para proxy HTTP: # Upstream http proxy.example.com:8080 # Exemplo para proxy SOCKS5: # Upstream socks5 proxy.example.com:1080 - Se o proxy upstream exigir autenticação, configure as diretivas
BasicAuthouDigestAuthconforme a documentação do TinyProxy. - Libere o acesso a partir da sua LAN:
Allow 192.168.1.0/24 # Ajuste para a sub-rede da sua LAN - Reinicie o TinyProxy:
bash /etc/init.d/tinyproxy restart /etc/init.d/tinyproxy enable # Para iniciar junto com o sistema
- Defina
-
Configure o redirecionamento com
iptables:
Adicione regras em/etc/firewall.user(ou viauci, para regras persistentes). Essas regras redirecionam o tráfego HTTP/HTTPS de saída da LAN para a instância local do TinyProxy.```bash
Redireciona HTTP (porta 80) para o TinyProxy (porta 8888)
iptables -t nat -A PREROUTING -i br-lan -p tcp --dport 80 -j REDIRECT --to-port 8888
Redireciona HTTPS (porta 443) para o TinyProxy (porta 8888)
iptables -t nat -A PREROUTING -i br-lan -p tcp --dport 443 -j REDIRECT --to-port 8888
```
Observação: redirecionar tráfego HTTPS de forma transparente exige que o proxy faça interceptação SSL/TLS, o que implica instalar um certificado CA customizado em cada dispositivo cliente para evitar avisos de certificado. Sem isso, apenas o tráfego HTTP será totalmente proxiado de forma transparente, e o tráfego HTTPS pode falhar ou contornar o proxy caso ele não suporte interceptação SSL/TLS transparente ou caso os clientes rejeitem os certificados autoassinados do proxy. -
Reinicie o firewall:
bash /etc/init.d/firewall restart
3. Cliente VPN no roteador (alternativa ao proxy)
Embora não seja estritamente uma "configuração de proxy", configurar um cliente VPN diretamente no roteador alcança um objetivo parecido: rotear todo o tráfego de rede dos dispositivos conectados através de um servidor externo. Muitos firmwares customizados (OpenWrt, DD-WRT) e até alguns firmwares de fábrica suportam configurações de cliente OpenVPN ou WireGuard. Esse método criptografa todo o tráfego e altera o endereço IP aparente de todos os dispositivos sem configuração individual.
Comparação: proxy no roteador vs. VPN no roteador
| Recurso | Proxy no roteador (transparente) | Cliente VPN no roteador |
|---|---|---|
| Tráfego tratado | Normalmente HTTP/HTTPS (pode ser estendido a SOCKS) | Todo o tráfego IP |
| Criptografia | Depende do proxy; normalmente o trecho cliente-proxy não é criptografado, a menos que se use proxy HTTPS | Criptografado do roteador ao servidor VPN |
| Mascaramento de IP | Sim, pelo servidor proxy | Sim, pelo servidor VPN |
| Complexidade de configuração | Alta (instalar proxy local, regras de iptables, configurar o proxy) |
Moderada (configurar o cliente VPN no roteador) |
| Impacto no desempenho | Moderado a alto (processamento do proxy, interceptação SSL/TLS) | Moderado (overhead de criptografia/descriptografia) |
| Casos de uso | Filtragem de conteúdo, redirecionamento de protocolos específicos, cache | Privacidade total, desbloqueio geográfico, túnel seguro para todo o tráfego |
| Configuração no cliente | Nenhuma (transparente) | Nenhuma |
Tipos de proxy e considerações
- Proxies HTTP/HTTPS: projetados principalmente para tráfego web. Proxies HTTP podem armazenar conteúdo em cache, o que pode melhorar o desempenho para recursos acessados com frequência. Proxies HTTPS exigem interceptação SSL/TLS para transparência total.
- Proxies SOCKS (SOCKS4/SOCKS5): mais versáteis, capazes de proxiar qualquer tipo de conexão TCP (e UDP no caso do SOCKS5). Proxies SOCKS operam em um nível mais baixo que os proxies HTTP. Se o seu proxy externo for SOCKS, o proxy local (por exemplo, TinyProxy, Squid) precisa ser configurado para encaminhar a um upstream SOCKS, ou você precisará de um redirecionador compatível com SOCKS.
- Proxy transparente: o dispositivo cliente não sabe que está usando um proxy; todo o redirecionamento acontece no nível do roteador. Esse é o objetivo de "todos os dispositivos através do proxy".
- Proxy explícito: exige configuração manual em cada dispositivo cliente (informando IP e porta do proxy). Não serve para rotear todos os dispositivos pelo roteador sem configuração individual de cada cliente.
Implicações de segurança e desempenho
Segurança
- Confiança: a segurança do seu tráfego depende fortemente da confiabilidade do servidor proxy. Um proxy não confiável pode registrar suas atividades ou injetar conteúdo malicioso.
- Interceptação SSL/TLS: para proxiar HTTPS de forma totalmente transparente, o proxy precisa fazer interceptação SSL/TLS (Man-in-the-Middle). Isso exige instalar o certificado raiz do proxy em todos os dispositivos clientes para evitar avisos de segurança. Sem isso, o tráfego HTTPS pode não ser totalmente proxiado ou gerará erros de certificado.
Desempenho
- Latência: adicionar um salto extra (roteador -> proxy local -> proxy externo -> internet) aumenta a latência por natureza.
- Banda: a banda do servidor proxy pode se tornar um gargalo.
- Recursos do roteador: a CPU e a RAM do roteador são usadas para executar o software de proxy local e processar as regras de firewall. Isso pode causar queda de desempenho se o roteador for fraco ou lidar com tráfego pesado.
Solução de problemas comuns
- Sem acesso à internet:
- Verifique se o servidor proxy externo está online e acessível a partir do roteador.
- Confira as regras de firewall: garanta que estejam corretas e não bloqueiem tráfego legítimo nem a operação do proxy.
- Revise a configuração do proxy: dados de upstream incorretos ou problemas de autenticação.
- Recursos do roteador: o roteador pode estar sobrecarregado.
- Erros SSL/TLS (no tráfego HTTPS):
- Isso é esperado se o proxy estiver fazendo interceptação SSL/TLS sem que o certificado raiz do proxy esteja instalado no dispositivo cliente.
- Ao usar proxy transparente para HTTPS sem interceptação, o tráfego pode falhar ou ser desviado.
- Aplicativos específicos não funcionam:
- Alguns aplicativos usam portas ou protocolos não padronizados que podem não estar cobertos pelas suas regras de redirecionamento do
iptables(por exemplo, redirecionar apenas 80/443). - Aplicativos podem ter detecção de proxy embutida ou exigir tipos específicos de proxy (por exemplo, SOCKS para jogos, certos VoIP).
- Problemas de resolução DNS: verifique se as configurações de DNS do roteador não estão em conflito nem sendo redirecionadas de forma inesperada.
- Alguns aplicativos usam portas ou protocolos não padronizados que podem não estar cobertos pelas suas regras de redirecionamento do
