理想情况下,我尝试使用我的笔记本电脑和 3G 手机作为 WiFi 路由器,将转发 HTTP(而不是 HTTPS)流量重定向到 privoxy,然后通过 SSH 隧道将流量转发到 ziproxy VPS。
为了简单起见,privoxy 当前设置为默认值,即不转发到另一个代理。但接受相交 1 除外
还有 sysctl net.ipv4.ip_forward=1
以下 iptable 命令在本地工作,但被转发流量忽略,即通过 wifi 连接的用户不会被 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 堆栈的各种表。