Mac下双网关设置(Wi-Fi 和网线同时访问内网和外网)
MacOS下双网关设置(Wi-Fi 和网线同时访问内网和外网)
公司为了安全,需要在内网环境下使用云桌面进行开发,但是连接网线后 WiFi 就失效,所以需要配置双网关。
目的:通过无线访问外网,有线访问ip地址以50开头的内网,且无线的优先级高。
1.1:首先连接网线查看配置
记下ip 地址,子网掩码和路由器。后面配置使用。
1.2:打开终端,输入
netstat -rt
解释一下与本次有关的几个参数
Destination:后面的参数代表着,如果前往这个ip的话,应该如何分配网关,网卡等,以及状态信息,都是针对前往这个ip的情况的
Gateway:如果需要前往这个ip,应该从哪个网关过去,这里有两种情况,即有内外网用不同网关的,也有内外网用相同网关的。
Netif,en0,en2分别代表了我的两张网卡,不同的机器名称不同,结合自己电脑情况而定。
此时连接网线情况是,可以访问内网不能访问外网。
1.3: 写入网关
此时只需要修改前往公司内网地址的网关就可以了,比如你需要访问的内网地址是50.12.15.*,而公司的内网网关是14.10.9.254,那么就这样写
sudo route add 50.0.0.0 14.10.9.254
- 写成 50.0.0.0 的原因是只要 50 开头的地址都可以访问,省去反复配置的麻烦
输入命令后回车,需要输入电脑密码,这里我已经配置过了所以提示已经存在。
如果未配置过也提示已存在可以使用以下命令删除一下
sudo route delete 50.0.0.0 14.10.9.254
此时再通过 netstat -rt
查看一下
如已经出现,就是写入成功。如果没写入成功反复执行以上步骤,直到写入成功。
- 注意:此时一定是连接着网线进行写入的,否则可能会不生效。
1.4:修改无线网卡的优先级,使之大于有线网卡
打开网络
左下角的齿轮,更改服务顺序,拖动wifi到有线网卡上面就可以了(我的有线网卡是AX88772D)
此时变成的状态是连着无线,插着网卡,以无线网卡优先,既可以访问内网,也可以上外网(苹果默认的是插上有线网络有线优先)
1.5:每次重启电脑或拔下网线配置会失效,所以配置一个自动执行脚本
打开Mac 自带的自动操作
小机器人(Automator)。
找到第二列的AppleScript,随后我们就要在Automator中编写一段mac的自动化脚本。
on run {input, parameters}
do shell script "route add 50.1.0.0/32 14.10.9.254" user name "用户名" password "密码" with administrator privileges
do shell script "route add 50.0.0.0 14.10.9.254" user name "用户名" password "密码" with administrator privileges
return input
end run
把我们刚刚编辑的内容都用系统管理员权限写入脚本,并保存成一个应用程序就可以了,以后每次开机,都只需要双击就可以重新恢复路由配置。还可以更简便,将这个应用程序添加到开机启动项中,每次开机后就会自动执行了。
总结:市面上 Windows 配置双网关的教程有很多,Mac 的却很少,也是通过到处查询的方式总结出来的这篇文章,其中也踩了不少坑,分享出来希望对大家有所帮助。如果您知道有更好的办法,请不吝赐教?