macOS 同时连接 Wi-Fi 和有线时,默认路由严格由“设定服务顺序”决定:列表顶部服务即为默认出口,跃点数不可手动编辑,仅随顺序自动分配(顶位约100,每降一位+50),唯一可控方式是拖动服务至顶端。

Mac 同时连接 Wi-Fi 和有线网卡时,系统默认按服务顺序决定数据出口路径,但“跃点数(metric)”不直接暴露在图形界面中;实际生效的是服务启用顺序与路由表优先级的组合效果,必须通过调整服务在列表中的上下位置来间接控制跃点逻辑。
理解 macOS 网络服务顺序与跃点的关系
macOS 不显示数字跃点值,而是将列表顶部第一个已启用且物理可达的服务设为默认路由来源。系统自动为其分配最低跃点(通常为 100),下方每降一位+50,但该数值不可手动编辑——【唯一可控手段就是拖动服务顺序】。若以太网插着但排在 Wi-Fi 下方,所有流量会走无线,即使有线延迟更低、带宽更大。
手动调整服务顺序(图形界面法)
第一步:打开“系统设置” → “网络”,确保右侧显示完整服务列表(Wi-Fi、以太网、USB LAN、Thunderbolt Bridge 等)。
第二步:点击右下角三个点图标(…)→ 选择“设定服务顺序”。
第三步:在弹出窗口中,拖动你希望优先使用的网络服务到最顶端。例如要让 USB-C 有线网卡(服务名如“USB 10/100/1000 LAN”)优先于 Wi-Fi,就把它拖到第一行。
第四步:确认该服务右侧开关为开启状态,其他暂时不用的接口(如“iPhone USB”“Bluetooth PAN”)可直接选中后点“−”删除,避免系统轮询失败设备导致延迟。
第五步:点击“完成”,再点右上角“应用”。无需重启,新顺序立即写入路由表。
命令行验证当前默认路由与跃点效果
打开终端,执行:route get default
查看输出中 interface 字段对应的设备名(如 en0、en7),再执行:networksetup -listallnetworkservices 对照服务名,确认是否为你手动置顶的那个。
执行:netstat -rn | grep '^default',观察第二列 gateway 和第三列 interface 是否匹配预期。若出现多条 default,说明存在多个网关冲突,需检查是否误为不同服务都设置了“配置 IPv4 → 手动”并填了网关——【同一时刻只能有一个服务启用默认网关】。
服务顺序异常时的快速修复
方法一:重置为系统推荐顺序
在“设定服务顺序”窗口底部,点击“还原为建议的顺序”,系统会按硬件类型自动排序(通常以太网优先于 Wi-Fi)。
方法二:强制刷新路由缓存
终端执行:sudo route flush,然后断开再重连当前主服务(如点击 Wi-Fi 图标→断开→重连),促使 configd 重建路由表。
方法三:删掉冗余网络位置
进入“网络”→点击“位置”旁“编辑位置…”→删除所有非必要位置(如“自动”“办公室副本”),只保留一个“自动”或“默认”,避免不同位置间服务顺序错位引发唤醒后路由混乱。











