macOS 利用双网卡同时连接内外网

首先查看下路由表

打开终端,输入

1
netstat -rt

原始路由表

介绍一下参数

名称 含义 描述
Destination 目的地 要访问的目标 ip 地址
Gateway 网关 如果要前往目的地,需要从哪个网关走
Flags 标志
Refs 重要性 相同目的地、网关时确定走哪个网卡用的
Use 使用情况
Netif 网卡号 network interface
Expire 过期时间

分析内外网网段

有线网字段

  • 192.168.1.0
  • 192.168.10.0(default)
  • 192.168.20.0
  • 192.168.21.0

无线网字段

  • 192.168.5.0(default)

开始修改

第一步:修改网卡优先级,使无线网卡大于有线网卡(默认有线网卡优先)

系统偏好设置 -> 网络 -> 左下角齿轮 -> 设定服务顺序 -> 拖动无线网卡到有线网卡上面

第二步:修改连接内外网使用的网卡

上面我们已经分析了网段,即 192.168.1.*、192.168.20.*、192.168.21.* 走有线,剩下的走无线。

打开终端,输入

1
2
3
4
5
sudo route add -net 192.168.1.0 -netmask 255.255.255.0 -interface en0

sudo route add -net 192.168.20.0 -netmask 255.255.255.0 -interface en0

sudo route add -net 192.168.21.0 -netmask 255.255.255.0 -interface en0

如果已经存在的话可以 sudo route delete

第三步:重启的时候切换到当前的路由表

mac 每次重启都会重置路由表,所有我们通过自动化脚本来开机设定。

1
2
3
4
5
6
7
8
9
10
on run {input, parameters}

do shell script "route -n add -net 192.168.1.0 -netmask 255.255.255.0 -interface en0" user name "***" password "***" with administrator privileges

do shell script "route -n add -net 192.168.20.0 -netmask 255.255.255.0 -interface en0" user name "***" password "***" with administrator privileges

do shell script "route -n add -net 192.168.21.0 -netmask 255.255.255.0 -interface en0" user name "***" password "***" with administrator privileges

return input
end run

保存成一个应用即可,每次双击运行即可重新恢复路由配置,接下来我们把他加到登录项开机自启。

系统偏好设置 -> 用户与群组 -> 登录项 -> 添加并隐藏

总结

到此就都结束啦,访问了下内网,没问题,访问了下外网,没问题。

哇塞,心里美滋滋~