配置 openvpn 客户端以选择性地使用 openvpn 连接的最佳方法是什么?我想为中国的朋友设置一个 vpn 服务器,但我不希望他们用它来做所有事情,只是让他们可以通过 vpn 在中国访问 youtube、facebook、cnn 等网站(这些网站已被屏蔽)。
如果 vpn 是一个备份就好了,例如,如果他们试图访问 facebook(已被阻止),一旦发现正常连接不起作用,它就会通过 vpn 连接。
这实际上可以节省大量的带宽成本,并为他们提供更好的浏览体验。
这是 iptable 路由吗?还是我推送给客户端的 dns 服务器?
答案1
我建议设立一个透明 Squid 代理在你的终端上通过 VPN 访问,不推送任何路由(显然除了 OpenVPN 子网),并让他们安装类似福克斯代理在 Firefox 中将其作为代理客户端。FoxyProxy 支持模式,因此您可以让他们添加您想要通过 VPN 代理的网站(*.facebook.com 等)。
您还可以享受 Squid 的日志记录(它们仍然是您的朋友)和缓存(至少可以为您节省一些上游带宽)的好处。
答案2
您应该能够直接使用 OpenVPN 执行此操作。有三个步骤:1) 告知 openvpn 服务器有关新路由,2) 告知客户端内核有关新路由,3) 告知 openvpn 服务器的内核有关新路由
route 69.63.189.16 255.255.255.255
在配置文件中添加“ ”- 可以通过添加“
push "route 69.63.189.16 255.255.255.255"
”来实现 - 您必须在选项指定的目录中创建一个客户端配置文件,
client-config-dir
并添加选项“iroute 69.63.189.16 255.255.255.255
”
根据需要添加任意数量的路线,每条路线都位于三个地方。
- 编辑 -
如果您想使用 DNS,您可以添加区域,以便您想要重定向的站点看起来具有 VPN 地址,即 cnn.com -> 10.10.10.10、bbk.co.uk -> 10.10.10.11 等等。然后在防火墙/路由器上,您需要添加 NAT 规则以将这些内部 IP 地址再次转换为真实地址。
答案3
push "dhcp-option DNS 8.8.8.8"
push "dhcp-option DNS 8.8.4.4"
必须重新配置 dnsmasq 和 resolvconf - 这可能只在 Windows 客户端上有效。
然而
push "redirect-gateway bypass-dhcp"
可能会有用。