我有OpenVPN设置来路由所有流量通过VPN。我想知道是否有一种方式来切换,是所有的流量都是路由的,还是每个客户端的那个网络的通信量。
例如,如果我在不受信任的网络上,我希望通过VPN路由我的所有流量。然而,稍后在可信网络上,我可能只想要SSH访问机器,但不希望所有的流量被路由,因为它会不必要地慢。
这个是可能的吗?
发布于 2015-05-26 16:44:55
基于删除@MadHatter提议的路由的想法,我创建了一个别名,其本质是这样做的:
sudo openvpn --config /path/to/config --route-nopull
sudo ip route add x.x.x.x/24 dev tun0其中,x.x.x.x/24是通过VPN连接到的内部网络的路径。
现在,当我只希望内部网络为VPNed时,我可以使用这个别名,如果我希望通过VPN路由所有流量,则可以使用没有--route-nopull的配置。
发布于 2015-05-24 09:49:45
如果服务器向您发布默认路由,则可以忽略它,并使用例如
route delete default tun0您也可以类似地恢复您的预vpn连接默认路由。
另一方面,如果服务器不发布这样的路由,您可以选择通过VPN路由所有流量,不过在这种情况下,您需要确保(a) VPN服务器具备处理此问题的能力,并且知道如何NAT/将您的流量路由到internet,并处理回复,以及(b)确保您没有多条默认路由,并且仍然可以到达VPN端点。
简而言之,假设您控制了您的客户端,您可以控制它的路由表,并且可以根据您的喜好设置它们。按照自己的意愿向服务器发送更少的路由是容易的;路由比它可能需要的更多,至少需要它的能力;但两者都是可能的。
https://serverfault.com/questions/694018
复制相似问题