Mac下双网关设置(Wi-Fi 和网线同时访问内网和外网)

MacOS下双网关设置(Wi-Fi 和网线同时访问内网和外网)

公司为了安全,需要在内网环境下使用云桌面进行开发,但是连接网线后 WiFi 就失效,所以需要配置双网关。
目的:通过无线访问外网,有线访问ip地址以50开头的内网,且无线的优先级高。

1.1:首先连接网线查看配置
连接网线后 ip 信息
记下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 的却很少,也是通过到处查询的方式总结出来的这篇文章,其中也踩了不少坑,分享出来希望对大家有所帮助。如果您知道有更好的办法,请不吝赐教?