仅通过 VPN 连接路由特定 IP 范围

Ata*_*ais 6 networking linux vpn routing macos

我们正在使用FortiClient连接到我们客户的 VPN 之一。不幸的是,默认通过 VPNFortiClient路由所有流量

我们已经找到了解决它的方法,适用于 Linux。与 VPN 连接后,我们运行:

sudo route del default ppp0
sudo route add -net 172.20.0.0 netmask 255.255.0.0 dev ppp0
Run Code Online (Sandbox Code Playgroud)

现在,只有以 开头的地址172.20.x.x才能通过 VPN 连接解析。

现在,我正在使用FortiClient 5.4onMac OS X 10.11.6并且我正在尝试重新制作上述内容以处理Mac OS X. 基本上,即使第一步我也有问题。我试过了:

sudo route delete -net default -ifp ppp0
Run Code Online (Sandbox Code Playgroud)

但是路由仍然无法正常工作。易于测试,因为 VPN 后面没有 Internet 连接 - 我无法浏览/ping 任何网站 :-)。

我究竟做错了什么?感谢帮助!

Ata*_*ais 6

我用这个问题来帮助我,结果我需要一个额外的命令。

基本上工作解决方案Mac OS X 10.11.6如下:

sudo route delete -net default -interface ppp0
sudo route add -net 0.0.0.0 -interface en0
sudo route add -net 172.20.0.0 -netmask 255.255.0.0 -interface ppp0
Run Code Online (Sandbox Code Playgroud)

这基本上意味着:

  1. 删除接口ppp0上设置的默认路由FortiClient
  2. 为默认接口上的每个 IP 添加默认路由(对我而言en0
  3. 通过ppp0(FortiClient) 接口路由特定的 IP 范围。

Linux 正如问题中提到的,等效的是:

sudo route del default ppp0
sudo route add -net 172.20.0.0 netmask 255.255.0.0 dev ppp0
Run Code Online (Sandbox Code Playgroud)

所以你实际上跳过了第 2 步。

最后没有那么难。