Mac需通过调整服务顺序(Wi-Fi置顶)并配置静态路由实现双网卡分流:Wi-Fi走外网,有线走内网;用networksetup -setadditionalroutes可持久化内网路由,避免重启失效。

Mac同时插着网线访问公司内网、连着Wi-Fi访问互联网,但默认会全部走有线导致上不了外网,必须手动配置网络优先级和静态路由才能让流量按需分流。
调整网络服务顺序
点击左上角 → 系统设置 → 网络 → 点击右下角「…」→ 选择「设定服务顺序」。
把「Wi-Fi」拖到最顶部,确保它排在「以太网」或你实际使用的有线连接名称(如「AX88772A」「USB 10/100/1000 LAN」)之上。
点击「好」保存。这一步生效后,所有未明确指定目标的流量(比如打开百度、微信、App Store)都会自动走 Wi-Fi,【否则系统默认优先用有线,外网请求全被发往内网网关而失败】。
确认内网网卡参数
回到「网络」设置页面,选中你的有线连接(不是Wi-Fi),点右侧「详细信息」→「TCP/IP」标签页。
记下「路由器」字段的IP地址——这就是你的内网网关,例如 172.16.74.254;再看「子网掩码」,常见为 255.255.255.0。
接着切换到「DNS」或「高级」→「DNS」,查看是否有已填入的DNS服务器;如有且仅指向内网DNS(如 172.16.74.10),建议临时删掉,避免外网域名解析失败。
添加内网静态路由
打开终端(Command + 空格 → 输入「终端」→ 回车)。
输入以下命令(替换其中的网段、子网掩码和网关为你自己的值):
sudo route add -net 172.16.254.0 -netmask 255.255.255.0 172.16.74.254
如果内网还有多个网段需要访问(比如 10.90.20.0/24、192.168.100.0/24),每段单独执行一条 sudo route add 命令。
输入密码时屏幕不显示字符,正常输完回车即可。这条命令只在当前会话生效,重启后需重配——若需永久生效,请跳至下一步。
让路由配置开机自动加载
方法一:用 networksetup 命令写入系统配置(推荐)
先查出有线接口名:在终端运行 networksetup -listallnetworkservices,找到类似「以太网」「AX88772A」「USB 10/100/1000 LAN」的名称。
假设接口名为「以太网」,要添加两个内网段 172.16.254.0/24 和 10.90.20.0/24,对应网关都是 172.16.74.254,则运行:
sudo networksetup -setadditionalroutes "以太网" 172.16.254.0 255.255.255.0 172.16.74.254 10.90.20.0 255.255.255.0 172.16.74.254
方法二:创建开机启动脚本(适合高级用户)
新建文件 /Library/Scripts/add-intranet-routes.sh,写入路由命令,chmod +x,再用 launchd 注册为开机任务。此方式略复杂,非必要不启用。
执行完方法一后,重启验证:拔掉网线再重插,打开终端运行 netstat -rn | grep 172.16,能看到对应路由行即表示写入成功。

















