이상적으로는 내 노트북과 3G폰을 WiFi 라우터로 사용하여 FORWARD HTTP를 리디렉션하지만 HTTPS 트래픽을 privoxy로 리디렉션하지 않고 SSH 터널을 통해 트래픽을 ziproxy VPS로 전달하려고 합니다.
단순화를 위해 privoxy는 현재 기본값으로 설정되어 있습니다. 즉, 다른 프록시로 전달되지 않습니다. Intersept 1을 허용하는 것을 제외하고
또한 sysctl net.ipv4.ip_forward=1
다음 iptable 명령은 로컬에서 작동하지만 FORWARD 트래픽에서는 무시됩니다. 즉, Wi-Fi로 연결된 사용자는 privoxy로 필터링되지 않지만 로컬 사용자는 반대 동작을 원합니다.
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
FORWARD HTTP 트래픽이 privoxy를 통과하도록 하려면 어떻게 해야 합니까?
답변1
작동하지 않는 이유는 netfilter 스택의 특정 부분에서만 특정 방식으로 패킷을 수정할 수 있기 때문입니다. 나가는 길에 목적지를 수정하면 너무 늦습니다. 도중에 수정해야 합니다.
iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-port 8118
netfilter 스택을 구성하는 다양한 테이블을 조사하는 것이 좋습니다.