Mac内外网共存需绕过服务顺序,通过networksetup为有线服务添加永久静态路由(如10.0.0.0/8走10.8.15.1),Wi-Fi保留唯一default网关,再验证各段流量出口正确。

Mac 同时连 Wi-Fi 和有线网卡时,系统默认只走一个默认网关,导致内外网不能共存。真正可行的分流不是靠拖拽服务顺序,而是靠精准控制路由表——让特定 IP 段流量强制走指定网卡,其余流量走另一张网卡。
看清当前路由状态
打开终端,先执行:
netstat -rn | grep -E "(default|10\.|192\.168\.)"
你会看到类似这样的关键行:
- default 192.168.1.1 UGScg en0(Wi-Fi 默认路由)
- default 10.8.15.1 UGScg en8(有线默认路由)
- 10.0.0.0/8 link#8 UCS en8(可能不完整或缺失)
如果只有 default 路由,没有明确指向 10.0.0.0/8 的静态路由,说明图形界面配置没生效,必须手动补全。
用 networksetup 添加精准内网路由
这是最稳定、可持久的方法。先确认你的有线网络服务名:
networksetup -listallnetworkservices
常见名称如 "USB10/100/1000LAN" 或 "以太网"(含空格需加引号)。然后执行:
sudo networksetup -setadditionalroutes "USB10/100/1000LAN" 10.0.0.0 255.0.0.0 10.8.15.1
这条命令含义是:所有目标为 10.0.0.0/8 的流量,下一跳网关设为 10.8.15.1,且强制走该服务对应的物理接口。它会写入系统配置,重启后依然有效。
支持批量添加,例如再加一条内网段:
sudo networksetup -setadditionalroutes "USB10/100/1000LAN" 172.16.0.0 255.240.0.0 10.8.15.1
避免默认路由冲突
如果 Wi-Fi 和有线都自动获取了 DHCP,默认网关容易打架。建议:
- 将有线网络设为手动配置 IP + 手动网关,但不勾选“配置 IPv4”里的“使用此地址作为路由器”(即不设默认网关)
- Wi-Fi 保持 DHCP,让它提供唯一的 default 路由,负责所有非内网流量
- 这样路由表里就只有一条 default(走 Wi-Fi),其余内网段全部靠上面添加的 -setadditionalroutes 控制
验证与排错要点
配置完后,分三步验证:
- ping 10.11.206.141 —— 应通,且 route get 10.11.206.141 显示 interface: en8,gateway: 10.8.15.1
- ping 8.8.8.8 —— 应通,且 route get 8.8.8.8 显示 interface: en0,gateway: 192.168.1.1
- curl ifconfig.me —— 返回公网 IP,确认外网出口正确
若某段内网不通,检查子网掩码是否匹配(比如 10.11.206.141 属于 /8,但若公司实际用的是 10.11.0.0/16,则应改用 255.255.0.0)


















