我如何设置代理/路由器,以便一些请求转到慢速 VPN,其余请求转到快速的本地连接?

我如何设置代理/路由器,以便一些请求转到慢速 VPN,其余请求转到快速的本地连接?

我可以访问两个网关 - 一个是慢速 VPN,另一个是阻止某些主机名的快速连接(我在中国防火墙(gfw)后面)。

我想设置一些东西(隧道/路由器/代理)来接收请求,如果它们与其中一个被阻止的主机名匹配,则将它们发送到 VPN,否则,将它们发送到快速的本地连接。我有 Linux 和 Windows 服务器可用于此,以及各种路由器(tomato)。

解决方案可以是路由器,也可以是拦截请求并重定向的程序,甚至可以是自动创建路由语句的东西。

在这里使用 VPN 绕过 gfw 是很常见的,但用它做所有事情似乎效率很低。我也希望有人能指点我正在寻找的正确术语。

答案1

出于显而易见的原因,这种问题无法在网络层解决。我认为你需要的是两个简单的转发代理。一个通过网络获取页面,另一个通过 VPN 获取页面。在该设置前面,你应该放置一个实例。您可以设置 varnish,以便在一个后端发生故障时回退到其他后端,这正是您的配置中所需要的。您的客户端应该使用 Varnish 作为代理。

这样的设置不需要任何类型的列表。

答案2

好的,现在解决了。我们的设置是 Tomato 路由器,启用了 ssh 访问,并设置为自动启动 strongvpn 客户端。

一旦启动,您就可以登录并使 vpn 仍然处于启动状态,但默认情况下不会路由流量(我在 tomato 中找不到任何设置),因此我只需执行以下操作:

route del -net 0.0.0.0 netmask 128.0.0.0

然后,您必须为每个应该通过 vpn 的主机名(在中国被阻止的主机名)设置路由。

每隔几分钟就会运行一个脚本,对列表中的所有内容进行 DNS 查找。对于每个 DNS,它会向路由器添加一条路由,如下所示:

ssh [email protected] route add -host [IP] tun12;

路由器使用 google dns 8.8.8.8 和 8.8.4.4

并且将这些 IPS 设置为通过 VPN 非常重要,以便 gfw DNS 阻止程序无法击中它们(这仅适用于他们真正不喜欢的网站)

因此结果是无需配置绕过 gfw 的无线路由!

相关内容