Voltar ao blog

Proxy transparente no roteador OpenWrt via TPROXY: configuração completa para toda a rede

A configuração de um proxy transparente através do TPROXY no OpenWrt permite que todo o tráfego da rede passe pelo servidor proxy sem a necessidade de configuração manual em cada dispositivo.

📅6 de junho de 2026
```html

Se você deseja que todo o tráfego da sua rede passe por um proxy — sem configuração manual em cada laptop, smartphone ou servidor — um proxy transparente no roteador OpenWrt via mecanismo TPROXY é exatamente o que você precisa. Neste guia, abordaremos a configuração completa: desde a instalação dos pacotes necessários até as regras do iptables e a verificação do funcionamento.

O que é TPROXY e para que serve

TPROXY (Proxy Transparente) é um mecanismo do núcleo Linux que permite interceptar tráfego TCP e UDP sem alterar o endereço IP de destino no pacote. Ao contrário do redirecionamento NAT clássico (REDIRECT), o TPROXY mantém o endereço original do destinatário, o que é crucial para o funcionamento correto do cliente proxy: ele "vê" para onde exatamente o dispositivo na rede está tentando se conectar.

Para que isso é necessário na prática? Imagine: você tem um escritório ou laboratório doméstico com dezenas de dispositivos — computadores, smartphones, dispositivos IoT, máquinas virtuais de teste. Configurar o proxy manualmente em cada um deles é horas de trabalho e uma dor de cabeça constante ao trocar o servidor proxy. Um proxy transparente no roteador resolve o problema de forma centralizada: todo o tráfego da rede passa automaticamente pelo proxy, e os dispositivos nem desconfiam disso.

Cenários típicos de uso do TPROXY no OpenWrt:

  • Roteamento de todo o tráfego através de proxies residenciais ou móveis para contornar bloqueios geográficos
  • Monitoramento e filtragem centralizados do tráfego em uma rede corporativa
  • Teste de aplicativos através de proxies de diferentes regiões sem alterar as configurações nas máquinas clientes
  • Substituição automática de IP para todos os dispositivos conectados ao roteador
  • Trabalho com navegadores anti-detect (Dolphin Anty, AdsPower, GoLogin) através de um único gateway

A principal vantagem do TPROXY em relação ao REDIRECT: suporte a UDP. Isso é importante para protocolos modernos (QUIC, DNS sobre UDP, tráfego de jogos), que o REDIRECT simplesmente não consegue processar corretamente.

Como funciona o proxy transparente no OpenWrt

O esquema de funcionamento do TPROXY no OpenWrt é o seguinte:

  1. Um dispositivo na rede envia um pacote para um endereço IP externo (por exemplo, 93.184.216.34:443).
  2. O roteador intercepta o pacote com a regra iptables TPROXY ainda na cadeia PREROUTING — antes de tomar uma decisão sobre o roteamento.
  3. O pacote é marcado com um fwmark especial e redirecionado para o socket local do cliente proxy (por exemplo, na porta 7893).
  4. O cliente proxy (redsocks, Xray, sing-box) "vê" o endereço original de destino através do mecanismo IP_TRANSPARENT e estabelece uma conexão através do servidor proxy remoto.
  5. A resposta é retornada ao dispositivo — de forma transparente, sem quaisquer alterações do lado do cliente.

💡 Ponto importante

O TPROXY funciona apenas na cadeia PREROUTING da tabela mangle. Isso significa que apenas o tráfego de trânsito (dos dispositivos da rede) é interceptado, mas não o tráfego do próprio roteador. Para interceptar o tráfego do roteador, será necessária uma configuração adicional através do OUTPUT e roteamento através do loopback.

Requisitos: roteador, firmware, pacotes

Antes de começar a configuração, verifique se sua configuração atende aos requisitos mínimos.

Requisitos do roteador

Parâmetro Mínimo Recomendado
RAM 64 MB 256 MB ou mais
Flash / Armazenamento 16 MB 128 MB ou mais
Arquitetura da CPU MIPS, ARM ARM Cortex-A7/A53 e superior
Versão do OpenWrt 21.02 23.05 ou snapshot
Núcleo Linux 5.4 com TPROXY 5.15 / 6.1

Modelos bem recomendados para essa tarefa: GL.iNet GL-MT6000 (Flint 2), Xiaomi AX3000T, Banana Pi BPi-R3, Raspberry Pi 4 com OpenWrt, além de qualquer roteador x86 com RAM suficiente.

Verificação do suporte ao TPROXY no núcleo

Conecte-se ao roteador via SSH e execute:

zcat /proc/config.gz | grep TPROXY

Você deve ver a linha CONFIG_NETFILTER_XT_TARGET_TPROXY=y ou =m. Se a saída estiver vazia — o núcleo não suporta TPROXY e será necessária a recompilação ou troca de firmware.

Instalação dos pacotes necessários

Para o funcionamento do TPROXY no OpenWrt, serão necessários alguns pacotes. Conecte-se via SSH e atualize a lista de pacotes:

opkg update

Instale os componentes necessários:

# Módulo do núcleo para TPROXY
opkg install kmod-nft-tproxy

# Se você estiver usando iptables (pilha antiga)
opkg install iptables-mod-tproxy

# Utilitários ip rule / ip route
opkg install ip-full

# Adicional para trabalhar com fwmark
opkg install kmod-ipt-tproxy

Dependendo do cliente proxy escolhido, instale um dos seguintes pacotes:

Cliente proxy Pacote OpenWrt Suporte a TPROXY
redsocks redsocks TCP (UDP via redsocks2)
Xray-core xray-core TCP + UDP (nativo)
sing-box sing-box TCP + UDP (nativo)
mihomo (Clash Meta) mihomo TCP + UDP (nativo)

Para a maioria das tarefas, recomendamos sing-box ou mihomo — eles suportam TPROXY nativamente, incluindo UDP, e têm um formato de configuração conveniente.

Configuração das regras do iptables e ip rule

Esta é uma etapa crucial. Precisamos fazer três coisas: marcar os pacotes necessários com fwmark, configurar uma tabela de roteamento especial e adicionar uma regra TPROXY no iptables.

Passo 1: Criando a tabela de roteamento

# Adicionando uma rota especial: pacotes marcados vão para o loopback
ip rule add fwmark 1 table 100
ip route add local default dev lo table 100

Isso diz ao núcleo: "todos os pacotes com a marca fwmark=1 devem ser considerados locais e entregues ao loopback". É assim que o cliente proxy poderá aceitá-los através de seu socket.

Passo 2: Regras do iptables (mangle/PREROUTING)

# Criando uma cadeia para TPROXY
iptables -t mangle -N TPROXY_RULES

# Excluindo endereços locais (não os proxy)
iptables -t mangle -A TPROXY_RULES -d 0.0.0.0/8 -j RETURN
iptables -t mangle -A TPROXY_RULES -d 10.0.0.0/8 -j RETURN
iptables -t mangle -A TPROXY_RULES -d 127.0.0.0/8 -j RETURN
iptables -t mangle -A TPROXY_RULES -d 169.254.0.0/16 -j RETURN
iptables -t mangle -A TPROXY_RULES -d 172.16.0.0/12 -j RETURN
iptables -t mangle -A TPROXY_RULES -d 192.168.0.0/16 -j RETURN
iptables -t mangle -A TPROXY_RULES -d 224.0.0.0/4 -j RETURN
iptables -t mangle -A TPROXY_RULES -d 240.0.0.0/4 -j RETURN

# Redirecionando TCP para a porta do cliente proxy (7893)
iptables -t mangle -A TPROXY_RULES -p tcp \
  -j TPROXY --on-port 7893 --on-ip 127.0.0.1 --tproxy-mark 1

# Redirecionando UDP para a porta do cliente proxy (7893)
iptables -t mangle -A TPROXY_RULES -p udp \
  -j TPROXY --on-port 7893 --on-ip 127.0.0.1 --tproxy-mark 1

# Aplicando a cadeia ao tráfego de trânsito
iptables -t mangle -A PREROUTING -j TPROXY_RULES

📌 Porta 7893

A porta 7893 é a porta na qual o cliente proxy (sing-box, mihomo, Xray) escuta em modo tproxy. Certifique-se de que ela corresponda às configurações do seu cliente.

Passo 3: Salvando as regras na reinicialização

Crie um script de inicialização em /etc/init.d/tproxy ou adicione os comandos em /etc/rc.local. Para OpenWrt 23.05 com nftables em vez de iptables, use regras semelhantes na sintaxe nft:

nft add table ip tproxy_table
nft add chain ip tproxy_table prerouting \
  '{ type filter hook prerouting priority mangle; policy accept; }'
nft add rule ip tproxy_table prerouting \
  ip daddr { 10.0.0.0/8, 127.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16 } return
nft add rule ip tproxy_table prerouting \
  tcp tproxy to 127.0.0.1:7893 meta mark set 1
nft add rule ip tproxy_table prerouting \
  udp tproxy to 127.0.0.1:7893 meta mark set 1

Configuração do cliente proxy: redsocks, Xray, sing-box

O cliente proxy no roteador é um programa que aceita o tráfego interceptado e o envia através de um servidor proxy remoto. Vamos considerar a configuração para as opções mais populares.

Opção 1: redsocks (simples, apenas TCP)

Adequado para tarefas básicas com proxy SOCKS5. O arquivo de configuração /etc/redsocks.conf:

base {
    log_debug = off;
    log_info = on;
    log = "file:/var/log/redsocks.log";
    daemon = on;
    redirector = tproxy;
}

redsocks {
    local_ip = 127.0.0.1;
    local_port = 7893;

    // Endereço do seu proxy SOCKS5
    ip = 185.220.101.50;
    port = 1080;
    type = socks5;

    // Se o proxy requer autenticação:
    login = "seu_login";
    password = "sua_senha";
}

Opção 2: sing-box (recomendado — TCP + UDP)

O sing-box suporta TPROXY nativamente e funciona com a maioria dos tipos de proxy: SOCKS5, HTTP, Shadowsocks, VLESS, Trojan. Exemplo de configuração /etc/sing-box/config.json:

{
  "inbounds": [
    {
      "type": "tproxy",
      "listen": "127.0.0.1",
      "listen_port": 7893,
      "tcp_fast_open": false,
      "udp_fragment": true,
      "sniff": true
    }
  ],
  "outbounds": [
    {
      "type": "socks",
      "tag": "proxy-out",
      "server": "185.220.101.50",
      "server_port": 1080,
      "version": "5",
      "username": "seu_login",
      "password": "sua_senha"
    },
    {
      "type": "direct",
      "tag": "direct"
    }
  ],
  "route": {
    "rules": [
      {
        "geoip": ["private"],
        "outbound": "direct"
      }
    ],
    "final": "proxy-out"
  }
}

Inicie o sing-box e adicione à inicialização automática:

/etc/init.d/sing-box enable
/etc/init.d/sing-box start

Opção 3: mihomo / Clash Meta

O mihomo é um fork do Clash com recursos expandidos. Na seção tproxy-port, especifique a porta para interceptação:

mixed-port: 7890
tproxy-port: 7893
allow-lan: false
mode: rule
log-level: info

proxies:
  - name: "meu-socks5"
    type: socks5
    server: 185.220.101.50
    port: 1080
    username: seu_login
    password: sua_senha
    udp: true

proxy-groups:
  - name: "PROXY"
    type: select
    proxies:
      - meu-socks5

rules:
  - IP-CIDR,192.168.0.0/16,DIRECT
  - IP-CIDR,10.0.0.0/8,DIRECT
  - MATCH,PROXY

Proteção contra vazamentos de DNS

Um proxy transparente sem a configuração correta de DNS é uma vulnerabilidade séria. Se as consultas DNS estão indo diretamente através do provedor, e não através do proxy, a localização real é revelada, apesar da substituição do IP. Isso é crítico para tarefas onde a anonimidade ou a substituição geográfica são importantes.

Método 1: Interceptação de DNS via TPROXY

Adicione uma regra para interceptar tráfego UDP na porta 53:

# Interceptando consultas DNS dos dispositivos da rede
iptables -t mangle -A TPROXY_RULES -p udp --dport 53 \
  -j TPROXY --on-port 7893 --on-ip 127.0.0.1 --tproxy-mark 1

Método 2: DNS via sing-box / mihomo

O sing-box e o mihomo podem processar consultas DNS de forma independente e enviá-las através do proxy. No config do sing-box, adicione a seção DNS:

"dns": {
  "servers": [
    {
      "tag": "remote",
      "address": "8.8.8.8",
      "detour": "proxy-out"
    },
    {
      "tag": "local",
      "address": "192.168.1.1",
      "detour": "direct"
    }
  ],
  "rules": [
    {
      "geoip": ["private"],
      "server": "local"
    }
  ],
  "final": "remote",
  "independent_cache": true
}

Método 3: dnsmasq com upstream via proxy

Se você não estiver usando sing-box/mihomo, configure o dnsmasq (servidor DNS padrão do OpenWrt) para encaminhar consultas para um servidor DNS criptografado. No arquivo /etc/dnsmasq.conf:

# Desativando o uso de DNS do provedor
no-resolv

# Usando DoH/DoT através do resolvedor local
server=127.0.0.1#5335

# Proibindo dispositivos de usar DNS externo diretamente
# (regra iptables para bloquear consultas DNS diretas)
# iptables -t nat -A PREROUTING -p udp --dport 53 ! -d 192.168.1.1 -j DNAT --to 192.168.1.1

Verificação e depuração

Após a configuração, verifique se o proxy transparente está funcionando corretamente. Aqui está uma lista de verificação passo a passo.

Passo 1: Verificação das regras do iptables

# Verificando a cadeia TPROXY_RULES
iptables -t mangle -L TPROXY_RULES -v -n

# Verificando a tabela de roteamento 100
ip rule show
ip route show table 100

Passo 2: Verificando se o cliente proxy está escutando na porta

ss -tlnp | grep 7893
# ou
netstat -tlnp | grep 7893

Você deve ver o processo sing-box, mihomo ou redsocks escutando em 127.0.0.1:7893.

Passo 3: Verificando o IP do dispositivo cliente

Conecte-se ao roteador a partir de qualquer dispositivo na rede e abra no navegador ifconfig.me ou 2ip.ru. O IP exibido deve corresponder ao IP do seu servidor proxy, e não ao IP real do provedor.

Passo 4: Verificando vazamentos de DNS

Acesse dnsleaktest.com e execute o teste avançado. Os servidores DNS nos resultados devem pertencer ao seu provedor de proxy ou ao servidor DoH escolhido, mas não ao seu provedor de internet.

Problemas comuns e suas soluções

Sintoma Causa Solução
A internet não funciona de forma alguma O cliente proxy não está em execução Verifique o status do serviço, os logs do cliente
IP não muda As regras do iptables não foram aplicadas Verifique iptables -t mangle -L -v
UDP não funciona redsocks não suporta UDP Mude para sing-box ou mihomo
Loop de roteamento O tráfego do cliente proxy também está sendo interceptado Exclua o UID ou cgroup do cliente proxy das regras
Erro no alvo TPROXY O módulo do núcleo não está carregado modprobe xt_TPROXY

Qual tipo de proxy é adequado para TPROXY no OpenWrt

A escolha do tipo de proxy afeta criticamente o resultado. Para um proxy transparente no roteador, nem todas as opções são adequadas — é importante considerar o protocolo, a estabilidade da conexão e a tarefa.

Proxy SOCKS5

A opção mais versátil para TPROXY. Suporta TCP e UDP (quando usando sing-box/mihomo). Adequado para a maioria das tarefas: contornar bloqueios geográficos, substituição de IP para toda a rede, trabalho com marketplaces. Proxies de data center no formato SOCKS5 oferecem alta velocidade e estabilidade — a escolha ideal se a prioridade for a velocidade, e não a camuflagem como um usuário real.

Proxies residenciais

Proxies residenciais usam endereços IP de usuários domésticos reais. Ao roteá-los através do TPROXY no roteador, isso significa que todo o tráfego da sua rede parecerá tráfego de um usuário de internet doméstico comum do país desejado. Ideal para:

  • Monitoramento de preços em marketplaces estrangeiros (Amazon, eBay, Zalando)
  • Teste de anúncios em diferentes regiões
  • Trabalho com plataformas que bloqueiam ativamente IPs de data center
  • Tarefas que requerem máxima camuflagem como um usuário real

Proxies móveis

Proxies móveis operam através de IPs de operadores de telefonia móvel (4G/5G). Eles têm o mais alto nível de confiança por parte das plataformas — Facebook, Instagram, TikTok raramente bloqueiam IPs móveis, pois um único endereço pode representar milhares de usuários reais. Ao usar através do TPROXY no roteador, todo o tráfego da sua rede recebe um IP móvel, o que é crítico para:

  • Arbitragem de tráfego através do Facebook Ads e TikTok Ads
  • Criação de contas em redes sociais
  • Trabalho com navegadores anti-detect (Dolphin Anty, AdsPower, GoLogin) através de um único gateway
Tipo de proxy Velocidade Confiança das plataformas Melhor cenário
Data center ⚡ Alta ★★☆☆☆ Raspagem, monitoramento de preços
Residenciais ⚡⚡ Média ★★★★☆ Teste geográfico, e-commerce
Móveis ⚡ Média ★★★★★ Redes sociais, arbitragem de tráfego

Conclusão

Um proxy transparente via TPROXY no OpenWrt é uma ferramenta poderosa para gerenciamento centralizado do tráfego de toda a rede. As principais vantagens da abordagem: não é necessário configurar o proxy em cada dispositivo separadamente, suporta tráfego tanto TCP quanto UDP, e a configuração é flexivelmente escalável para qualquer tarefa — desde uso doméstico até infraestrutura corporativa.

Os passos-chave que abordamos: verificação do suporte ao TPROXY no núcleo do OpenWrt, instalação dos pacotes necessários, configuração das regras do iptables/nftables com o fwmark correto, configuração do cliente proxy (redsocks, sing-box ou mihomo) e proteção contra vazamentos de DNS. Cada uma dessas etapas é importante — pular qualquer uma levará a um funcionamento incorreto ou vazamento do IP real.

Se sua tarefa é roteirizar o tráfego de toda a rede através de um proxy com o máximo nível de confiança por parte das plataformas (Facebook, Instagram, TikTok, marketplaces estrangeiros), recomendamos usar proxies residenciais — eles fornecem IPs domésticos reais do país desejado e o risco mínimo de bloqueios ao trabalhar através de um proxy transparente no roteador.

```