通过 OpenVPN 连接到我的 VPS 时,如何将网络流量重定向到 Privoxy

通过 OpenVPN 连接到我的 VPS 时,如何将网络流量重定向到 Privoxy

我在运行 OpenVPN、Privoxy 和 CSF 的 OpenVZ VPS 上安装了 CentOS 7。

当将 OpenVPN 的网络流量重定向到 Privoxy 时,使用我当前的配置,我无法访问互联网。

从我的csfpre.sh

iptables -A FORWARD -s 172.27.1.0/24 -j ACCEPT
iptables -A FORWARD -i as0t0 -o venet0:0 -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -A FORWARD -i venet0:0 -o as0t0 -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -t nat -A PREROUTING -i as0t0 -p tcp -m multiport --dports 80,443 -j REDIRECT --to-ports 8118
iptables -t nat -A POSTROUTING -s 172.27.1.0/24 -o venet0:0 -j MASQUERADE
iptables -A OUTPUT -o as0t0 -j ACCEPT

当我注释掉该REDIRECT行时,我可以通过 OpenVPN 连接访问互联网。

我想将 OpenVPN 的网络流量重定向到 Privoxy,并且仍然能够访问互联网。


更新:我删除了 443 端口重定向,因此该REDIRECT行现在是:

iptables -t nat -A PREROUTING -i as0t0 -p tcp --dport 80 -j REDIRECT --to-port 8118

这解决了问题!

答案1

你问的没有任何意义。您无法“通过 Privoxy 过滤 OpenVPN 的流量”,因为 OpenVPN 流量不是 HTTP/HTML。 (您可以通过 Privoxy 代理 OpenVPN,但 Privoxy 无法检查流量;它最多只能盲目地通过。)

您可以过滤通过 Privoxy 通过 OpenVPN 隧道路由的 HTTP 流量,但这不是您所要求的。如果这是您想要的,那么您的系统应该已经为您执行此操作,除非您故意避免此类流量的 Privoxy。

答案2

据我记得,Privoxy 不https protocol支持intercepting mode.

您绝对可以拦截未加密的流量。也许您会检查以下内容。你能确认一下吗?

  1. 确保 Privoxy 正常工作。您可以注释掉REDIRECTiptables 中的并将浏览器配置为手动使用代理。如果您可以浏览,则您的 Privoxy 安装工作正常。

  2. 确保Privoxy配置文件中有以下条目。

accept-intercepted-requests 1

答案3

我编辑了该REDIRECT行:

iptables -t nat -A PREROUTING -i as0t0 -p tcp -m multiport --dports 80,443 -j REDIRECT --to-ports 8118

至以下内容:

iptables -t nat -A PREROUTING -i as0t0 -p tcp --dport 80 -j REDIRECT --to-port 8118

删除 https 重定向解决了该问题。

相关内容