Idealmente, estou tentando usar meu laptop e um telefone 3G como um roteador WiFi para redirecionar o tráfego HTTP FORWARD, mas não o tráfego HTTPS, para o privoxy, que então encaminha o tráfego através de um túnel SSH para um VPS ziproxy.
por uma questão de simplicidade, o privoxy está atualmente definido como padrão, ou seja, não está encaminhando para outro proxy. com exceção de aceitar interseções 1
também sysctl net.ipv4.ip_forward=1
os seguintes comandos iptable funcionam localmente, mas são ignorados pelo tráfego FORWARD, ou seja, os usuários conectados por wifi não são filtrados pelo privoxy, mas o usuário local é, quero o comportamento oposto
iptables -t nat -A POSTROUTING -o ${INTERNET_IFACE} -j MASQUERADE
iptables -t nat -A OUTPUT -p tcp --dport 80 -m owner --uid-owner privoxy -j ACCEPT
iptables -t nat -A OUTPUT -p tcp --dport 80 -j REDIRECT --to-ports 8118
iptables -A FORWARD -i ${WIFI_IFACE} -j ACCEPT
Como faço para forçar o tráfego FORWARD HTTP a passar pelo privoxy?
Responder1
A razão pela qual isso não funciona é porque você só pode modificar pacotes de determinadas maneiras em determinadas partes da pilha do netfilter. Modificar o destino na saída é tarde demais. Você precisa modificá-lo no caminho.
iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-port 8118
Recomendo pesquisar as diversas tabelas que compõem a pilha do netfilter.