macOS 默认路由由网络服务顺序决定,顶部接口即为 default route 承载者;调整顺序需在「系统设置→网络→设定服务顺序」中拖动接口至顶端;验证用 route get default 和 ifconfig;静态路由可分流内网流量,Wi-Fi 自动连接依赖「首选网络」列表排序。

macOS 不会自动判断哪条网络更“快”或更“稳”,它只认一个规则:谁排在服务顺序最上面,谁就是默认出口。这个顺序直接决定所有未明确指定目标的流量走哪条路——比如网页、邮件、App Store 下载,全按这个顺序来。
调整服务顺序决定默认路由
这是控制多网卡优先级最直接有效的方式。系统严格按列表从上到下匹配,顶部接口即为 default route 的承载者。
- 打开「系统设置」→「网络」
- 点击右上角 ⋯ 图标 → 选择「设定服务顺序」
- 在弹出窗口中,拖动 Wi-Fi、以太网、Thunderbolt 桥接等服务项,把你要设为默认的接口拖到最顶端
- 点「完成」,系统立即重载路由表,无需重启
验证当前生效的默认接口
界面操作完别急着关窗口,终端里跑一句命令才能确认是否真的改对了:
- 打开终端,输入:route get default
- 查看输出中的 interface 字段(如 en0、en4)和 gateway 地址
- 结合 ifconfig en0 看该接口是否真有你期望的 IP 和网关(例如 192.168.1.1 是 Wi-Fi 网关,10.10.254.254 是内网网关)
- 注意:M 系列 Mac 的 en0 可能是有线口,en1 才是 Wi-Fi,不能单凭设备名判断
用静态路由分流特定流量
如果希望 Wi-Fi 负责上网,以太网专跑内网(比如访问 10.10.0.0/16),就不要动服务顺序——加一条静态路由更精准:
- 先确认以太网接口的网关(如 10.10.254.254)和目标子网(如 10.10.0.0/16)
- 执行:sudo route -n add -net 10.10.0.0/16 10.10.254.254
- 验证:netstat -rn | grep 10.10 应出现新增条目
- 该路由重启后失效,需写入脚本并配置 launchd 才能永久生效
Wi-Fi 自动连接也靠排序
Wi-Fi 的“自动加入”行为完全依赖「首选网络」列表顺序,不是靠信号强弱或历史连接时间:
- 进入「系统设置」→「网络」→「Wi-Fi」→「详细信息」→「Wi-Fi」标签页 →「高级」
- 勾选目标网络右侧的「自动加入」
- 按住三横线图标(≡)拖动该网络到「首选网络」列表最顶端
- 点「完成」再点「应用」,设置才真正生效
- 建议清理掉干扰性网络(如咖啡馆、机场 Wi-Fi),避免抢连低优先级热点


















