Redirecionar o tráfego HTTP da caixa LAN para o proxy externo usando iptables no meu roteador

1

Meu objetivo é fazer proxy transparente de todas as solicitações HTTP de um único IP (meu laptop, 192.168.1.134 ) na minha LAN para um IP externo (Internet VPS, digamos X.X.X.X ) executando um servidor proxy (especificamente mitmproxy em execução no modo transparente), ouvindo na porta 80.

Minha LAN doméstica é alimentada por um roteador ASUS RT-N66U executando o firmware Asuswrt-Merlin. O roteador tem o ip 192.168.1.1 e é o gateway padrão de todos os dispositivos da minha rede. Para encaminhar o tráfego, enviei ssh para o meu roteador e executei os seguintes comandos iptables :

iptables -t nat -A PREROUTING -s 192.168.1.134 -p tcp --dport 80 -j DNAT --to X.X.X.X:80
iptables -t nat -A POSTROUTING -j MASQUERADE

Além disso, o encaminhamento de IP está ativado no meu roteador:

admin@RT-N66U:/tmp/home/root# cat /proc/sys/net/ipv4/ip_forward
1

Isso resulta em algo , mas não é o que estou esperando. De 192.168.1.134 (meu laptop), quando faço uma solicitação http simples (por exemplo, curl http://example.com ), posso ver no log de eventos do meu proxy que mitmproxy relata que um cliente se conectou (usando o IP público de NAT do meu router, emitido pelo meu ISP), mas isso é o mais possível. Nunca vai além disso e meu comando de onda apenas espera. Eventualmente, vejo "Conexão redefinida pelo peer" no log do meu proxy e a conexão está fechada.

Qualquer ajuda seria sugerida. Eu devo admitir, eu não sou muito proficiente com iptables .

    
por ccampo 12.10.2017 / 20:14

0 respostas