将 OpenVPN 网关流量重定向到 Privoxy

将 OpenVPN 网关流量重定向到 Privoxy

我想将通过我的 OpenVPN 网关的流量重定向到 Privoxy,如下所示:

OpenVPN 客户端->Internet->OpenVPN 网关->Privoxy->Internet->Web 服务器(反之亦然)

到目前为止,我设法让 OpenVPN 网关正常工作。连接到 Privoxy 代理似乎也正常工作。但通过 iptables 重定向端口 80 流量就是行不通(无法访问外部 Web 服务器)。我的 iptables 配置文件应该是什么样子?

提前致谢

PS:这是我目前想到的……

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

iptables -I 转发 -i tap0 -j 接受
iptables -I 转发 -o tap0 -j 接受

# 以下行没有成功
iptables -t nat -A PREROUTING -i tap0 -p tcp --dport 80 -j REDIRECT --to-port 8118

答案1

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

从 OpenVPN 访问服务器 Web 界面转到高级 VPN 设置 → 服务器配置指令并使用您的代理 IP/端口信息输入以下指令。

push "dhcp-option PROXY_HTTP 111.222.333.44 8118"

我不确定所有 OpenVPN 客户端是否都支持此配置。但在 IOS 上它运行良好。

答案2

Privoxy 是一个 HTTP 代理。您要尝试做的是向其提供完整的网络数据包,我 99% 肯定,如果没有 iptables 中一些非常复杂的 mangle 规则,它不会接受这一点。相反,您应该将代理公开给 VPN(似乎已经这样做了),并将其作为 DHCP 选项推送到您的 VPN 客户端。

有关通过 OpenVPN 执行此操作的说明可在此处找到https://forums.openvpn.net/topic14829.html如果您已经设置了 ccd 目录,则可以使用该目录针对每个客户端进行操作。

答案3

设置 privoxy 来监听隧道接口上的地址,例如 172.26.0.1,然后将 VPN 流量重定向到该地址:

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

相关内容