macOS 利用路由表给 VPN 分流

Posted by Charlie Lin on February 28, 2020

macOS 利用路由表给 VPN 分流

因为疫情爆发,在家办公,公司给分配了 L2TP 的 VPN,但是 macOS 连接的时候默认需要勾选“通过 VPN 连接发送所有流量”
这样一来所有的流量都将通过公司的 VPN 访问,速度慢不说,还不能魔法上网。于是通过设置路由表的方式给网络连接分流。内网 ip 走 VPN,外网流量走默认网关。

假设需要访问以下内网 ip:

192.168.181.66
192.168.181.67
192.168.181.120
192.168.181.121

首先,点开 VPN 高级选项,像上图一样把通过 VPN 连接发送所有流量去掉。 接着sudo vi /etc/ppp/ip-up,添加如下内容:

#!/bin/sh
/sbin/route add -net 192.168.181.0/24 -interface ppp0

保存退出。赋权:

sudo chmod 0755 /etc/ppp/ip-up

这个文件以后就会在每次连接VPN的时候执行,把新的路由写入路由表,实现内外网的分流。

重新连接公司 VPN,即可实现内外网分流。