![通过 OpenVpn 重定向 Privoxy 流量](https://linux22.com/image/705585/%E9%80%9A%E8%BF%87%20OpenVpn%20%E9%87%8D%E5%AE%9A%E5%90%91%20Privoxy%20%E6%B5%81%E9%87%8F.png)
我不确定这是否可行,但我想通过我的 OpenVpn 连接将来自 FireFox 的所有流量路由到 HideMyAss。
基本上,我的设置是,我正在通过 HideMyAss 使用 OpenVpn 运行连接,我已经编辑了 ovpn 文件并添加了“route-nopull”,以便在使用 Chrome、IE 等时。我使用本地连接,我已经安装了 Privoxy 并设置 FireFox 以使用该代理,然后我想要做的是让所有流量都通过 FireFox 正在使用的代理使用 OpenVpn 连接进行请求。
请原谅我,因为我对此还很陌生,这可能吗?
答案1
是的,这是可能的。OpenVPN 在网络级别工作,因此您不能将其安装在您的正常默认连接所经过的同一台机器上。您不能在计算机上有两个默认网关并告诉代理只使用其中一个,而这正是您要尝试做的。
您需要在单独的网络上设置另一台机器来执行此操作。然后在另一台机器上设置代理和 OpenVPN,然后通过它代理 FireFox 流量。
答案2
与 @illandous 的回答相反,我认为在一台机器上完成你想做的事情是完全有可能的。我无法给你一个具体的分步教程,这不是这个网站的目的,但至少这里有一些想法:
- 使用
iptables
并利用owner
模块(通过选项匹配流程--pid
)仅发送Privoxy
至OpenVPN
网关生成的流量。 - 绑定
Privoxy
到你的OpenVPN
界面,确保阻止访问从OpenVPN 网络连接到您的Privoxy
,并且,如果您从提供商处获取的 IP 发生变化,请找到一种方法来动态更新Privoxy
和Firefox
配置,以通知他们有关更新后的 IP。 - ...
我想还有更多可能的方法。无论哪种情况,这都需要编写一些脚本,但并不是什么高深的科学,而且我确信如果您遇到具体问题,您会得到帮助。祝你好运!
答案3
首先,你应该问这个问题https://superuser.com。那里还有更多有关 privoxy 的问题。
是的,这会起作用,并且您可以在同一台机器上使用它。
这里有三个活动部件,如果我不冻结其中一个,这篇文章将会太长,所以我们假设您正在运行一个开箱即用的 vanilla privoxy,仅绑定到 127.0.0.1 ipv4,端口 8118。
重要的 openvpn 选项(除了 hidemyass 提供给您的选项之外) 以及或route-nopull
之一。 redirect-gateway def1
redirect-gateway block-local
route-nopull
阻止你的客户端接受来自 hidemyass 的路线(他们可能只会给你一个默认路线,他们没有太多其他可以做的事情)。
redirect-gateway def1
为您提供一条到 0.0.0.0/1 的路由,以 hidemyass 为网关:它比您 LAN 上现有的默认路由略微具体一些(它的掩码更小)
第二个选项,redirect-gateway block-local
我想你会想要的,当你连接到 VPN 时,它会阻止到 LAN 的流量(VPN 除外)。它通过添加到 0.0.0.0/1 的路由来实现这一点和以 hidemyass 作为网关的到 LAN 子网的路由。如果您想要为 LAN 上的其他计算机提供代理服务,则不会使用此项,并且您会将 privoxy 配置为监听您的 LAN ip 地址和 lo 接口。
因此,所有浏览器(LAN 或仅您自己,无论您喜欢哪种设置)都已配置为使用您的本地 IP:8118 作为代理服务器。您实际上并没有在这里进行任何路由或数据包转发(代理不是路由)。
第三个移动部分,即路由其他内容,我甚至无法解决,因为除了 Chrome 和 IE 作为线索之外,您没有告诉我们您运行的是什么操作系统。那么您运行的是什么操作系统?
答案4
虽然实际上从技术上来说,通过一些努力是可以做到这一点的(例如使用 @gf_ 建议的方法),但不幸的是,这也很容易出错,而且几乎不可能验证你是否 100% 正确。例如,访问网页可能会加载一个插件,而这个插件可能无法通过 VPN 正确捕获。
如果您真正想要的是能够在同一台计算机上同时通过 VPN 进行私密浏览和非私密浏览,那么设置虚拟机更能实现您的目标。然后,您将运行 OpenVPN 客户端和私密 Web 浏览器,而不是该 VM。这比您建议的要容易得多,也更安全。