openvpn和select性路由

什么是最好的方式来configurationopenvpn客户端有select地去使用openvpn连接? 我想为在中国的朋友build立一个VPN服务器,但我不希望他们使用它的一切,只是让他们可以访问像YouTube,Facebook,CNN等网站,而他们在中国通过VPN(这些被阻止)。

如果vpn是一个备份,这将是很好,所以例如,如果他们试图去Facebook(这是封锁),它会通过VPN连接一旦发现正常的连接不起作用。

这实际上会节省大量的带宽成本,并给他们更好的浏览体验。

这是一个iptable路线的事情? 或者我推送给我的客户的DNS服务器?

我build议在您的端可以通过VPN设置一个透明的Squid代理 ,而不是推送任何路由(除了OpenVPN子网显然),并让他们在Firefox中安装类似FoxyProxy的代理客户端。 FoxyProxy支持模式,所以你可以让他们通过你的VPN添加你想要代理的网站(* .facebook.com等)。

你还可以利用Squidlogging(他们是你的朋友,但仍然)和caching(至less为你节省一些上行带宽)的好处。

你应该可以直接使用OpenVPN。 有三个步骤:1)告诉openvpn服务器关于新的路由,2)告诉客户端内核关于新的路由,3)告诉openvpn服务器的内核关于新的路由

  1. 在configuration文件中添加“ route 69.63.189.16 255.255.255.255
  2. 可以添加一个“ push "route 69.63.189.16 255.255.255.255"
  3. 您必须在client-config-dir选项指定的目录中创build一个客户端configuration文件,并添加选项“ iroute 69.63.189.16 255.255.255.255

添加尽可能多的路线,每个都在三个地方。

– 编辑 –

如果你想使用DNS,你可以添加区域,使你想要redirect的网站显示有VPN地址,即cnn.com – > 10.10.10.10,bbk.co.uk – > 10.10.10.11等等。 然后在防火墙/路由器上,您需要添加NAT规则以将这些内部IP地址重新转换为实际地址。

 push "dhcp-option DNS 8.8.8.8" push "dhcp-option DNS 8.8.4.4" 

必须重新configurationdnsmasq和resolvconf – 这可能只适用于Windows客户端。

然而

 push "redirect-gateway bypass-dhcp" 

可能会工作。