linux - 使用 VPN 连接仅路由特定 IP 范围

标签 linux macos networking routes 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.4Mac OS X 10.11.6我正在尝试重新制作以上内容以处理 Mac OS X .基本上我什至第一步都有问题。我试过:

sudo route delete -net default -ifp ppp0

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

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

最佳答案

我用了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. 删除由 FortiClient 设置的接口(interface) ppp0 上的默认路由
  2. 为默认接口(interface)上的每个 IP 添加默认路由(对我来说 en0)
  3. 通过 ppp0 (FortiClient) 接口(interface)路由特定的 IP 范围。
问题中提到的

Linux 等效项是:

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

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

最后没那么难。

关于linux - 使用 VPN 连接仅路由特定 IP 范围,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38758067/

相关文章:

windows - 适用于 Windows 的自定义 USB 驱动程序?苹果电脑?

linux - 是否可以使用 sudo 执行 makefile 的某些部分,而某些部分不使用 sudo?

linux - 使用 linux 安装 jPOS

java - Linux ./configure 不会检测到 java 或 javac

c - 在我的 Mac 上制作 C 启动器

c++ - 在消息前加上消息的大小

c++ - 为什么 perf 具有如此高的上下文切换?

Swift - 获取当前在另一个应用程序中打开的文档的文件路径

python 3 : No module named 'sklearn.model_selection'

c - 如何在套接字连接中接收 tcp 标志