我在运行 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
.
您绝对可以拦截未加密的流量。也许您会检查以下内容。你能确认一下吗?
确保 Privoxy 正常工作。您可以注释掉
REDIRECT
iptables 中的并将浏览器配置为手动使用代理。如果您可以浏览,则您的 Privoxy 安装工作正常。确保
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 重定向解决了该问题。