将OpenVPN网关stream量redirect到Privoxy

我想将通过我的OpenVPN网关的stream量redirect到Privoxy,如下所示:

OpenVPN的客户端 – >互联网 – > OpenVPN网关 – > Privoxy – >互联网 – > Web服务器(反之亦然)

到目前为止,我设法让OpenVPN网关正常工作。 连接到Privoxy代理似乎也在工作。 但通过iptablesredirect端口80的stream量不会工作(外部networking服务器无法访问)。 我的iptablesconfiguration文件必须看起来像什么?

提前致谢

PS:这是我到目前为止…

  iptables -t nat -A POSTROUTING -o eth0 -s 10.10.10.0/24 -j MASQUERADE

 iptables -I FORWARD -i tap0 -j ACCEPT
 iptables -I FORWARD -o tap0 -j ACCEPT

 #以下行不成功
 iptables -t nat -A PREROUTING -i tap0 -p tcp --dport 80 -j REDIRECT  - 到端口8118 

您可以将代理configuration推送到OpenVPN客户端。

从OpenVPN接入服务器Web界面转到高级VPN设置→服务器configuration指令,并input以下指令与您的代理IP /端口信息。

 push "dhcp-option PROXY_HTTP 111.222.333.44 8118" 

我不确定是否所有的OpenVPN客户端都支持这个configuration。 但在IOS上运行良好。

Privoxy是一个HTTP代理。 你要做的是给它提供完整的networking数据包,我99%肯定它不会接受,如果没有在iptables中的一些非常复杂的mangle规则。 相反,您应该将代理暴露给VPN(看起来已经是这样了),并将其作为DHCP选项推送给您的VPN客户端。

通过OpenVPN做到这一点的说明可以在这里findhttps://forums.openvpn.net/topic14829.html和它可以完成的客户端的客户端使用ccd目录,如果你有这样的设置。

设置privoxy监听隧道接口上的地址,例如172.26.0.1,然后将VPN通信redirect到它:

 sudo iptables -t nat -A PREROUTING --source 172.26.0.0/16 -p tcp -m tcp --dport 80 -j DNAT --to 172.26.0.1:8118