通过VPN连接仅路由某个IP范围

时间:2016-08-04 03:33:36

标签: linux macos networking routing vpn

我们正在使用FortiClient连接到我们客户的VPN之一。遗憾的是,FortiClient正在通过VPN路由所有流量作为默认值

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

sudo route del default ppp0
sudo route add -net 172.20.0.0 netmask 255.255.0.0 dev ppp0

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

现在,我在FortiClient 5.4上使用Mac OS X 10.11.6,我正在尝试将上述内容重新设置为Mac OS X。基本上我甚至在第一步都遇到了问题。我试过了:

sudo route delete -net default -ifp ppp0

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

我做错了什么?谢谢你的帮助!

1 个答案:

答案 0 :(得分:1)

我用this question来帮助我,事实证明我需要一个额外的命令。

基本上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

这基本上意味着:

  1. 删除由ppp0
  2. 设置的接口FortiClient上的默认路由
  3. 为默认界面上的每个IP添加默认路由(对我来说en0
  4. 通过ppp0(FortiClient)界面路由特定IP范围。
  5. 问题中提到的

    Linux等价物是:

    sudo route del default ppp0
    sudo route add -net 172.20.0.0 netmask 255.255.0.0 dev ppp0
    

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

    最后并没那么难。