[Mac] 多网卡路由表配置(兼容内网与外网)
由于新接了所里的项目,要接入内网,同时又想要链接到外网。采用WIFI+LAN的方式,用LAN进入内网,用WIFI链接外网。
参考
https://docs.freebsd.org/doc/6.0-RELEASE/usr/share/doc/handbook/network-routing.html
https://zhuanlan.zhihu.com/p/163103180
https://www.linuxcool.com/netstat
一、Mac本身的Network系统设置
Mac本身的Network配置直接影响到,Mac路由表上的走默认default的顺序。由于平时走外网较多,所以走WIFI网络的优先级高于LAN,所以把WIFI放在LAN前面,如图中所示(更改的方式就是点击红圈所示的按钮,同时修改后点击Apply确认)。
修改后系统配置后的路由表如下
~/bin ❯ netstat -rn 6s base
Routing tables
Internet:
Destination Gateway Flags Netif Expire
default 192.168.16.1 UGScg en0
default 10.16.1.1 UGScIg en9
可以看到走en0无线网卡的,是提前于走en9以太网接口。
二、路由表的更改
netstat -rn ## 打开路由表
~/bin ❯ netstat -rn 6s base
Routing tables
Internet:
Destination Gateway Flags Netif Expire
default 192.168.16.1 UGScg en0
default 10.16.1.1 UGScIg en9
10.16.1/24 link#14 UCS en9 !
10.16.1.1/32 link#14 UCS en9 !
10.16.1.1 c0:b8:e6:4a:f1:ea UHLWIir en9 874
10.16.1.15/32 link#14 UCS en9 !
127 127.0.0.1 UCS lo0
127.0.0.1 127.0.0.1 UH lo0
169.254 link#13 UCS en0 !
169.254 link#14 UCSI en9 !
172.18.22/24 10.16.1.1 UGSc en9
172.18.23/24 10.16.1.1 UGSc en9
注意
- 路由表本身是除了在表中所显示的如10.16.1/24这种网络走特定的外,其余均走default,并且default的先后具有顺序优先级
- Netif这一项指网络接口
- 其中对于特定网段的路由规则需要人手工添加
路由规则command
sudo route add -net 172.18.23.0 -netmask 255.255.255.0 10.16.1.1
sudo route add -net 172.18.22.0 -netmask 255.255.255.0 10.16.1.1
注意:在添加时,已经接入了LAN,否则当Mac中不存在10.16.1.1走en9的规则时,加入上述规则回误认为是走en0(踩坑经历)