Mac网络优先级由手动设定的服务顺序决定,非自动选择;需在系统设置中调整Wi-Fi首选网络顺序和接口服务顺序,并可通过静态路由实现内外网分流。

Mac同时连着Wi-Fi和以太网时,系统不会自动选“更快”或“信号更强”的网络,而是严格按你手动设定的顺序决定连哪个、走哪条路——设错顺序,就可能外网打不开、内网进不去、视频会议卡顿、甚至SSH连不上。
让Mac优先连上指定Wi-Fi
系统开机、唤醒或开启Wi-Fi时,会从「首选网络」列表顶部开始逐个尝试连接,遇到第一个启用「自动加入」且可达的网络就立即接入,不比较、不回退、不重试。
打开「系统设置 → 网络 → Wi-Fi → 详细信息 → 高级 → Wi-Fi 标签页」
在「首选网络」列表中找到目标网络(如 Home_5G);若未出现,点底部「+」→「显示网络」→ 手动输入名称与密码添加
勾选该网络右侧的「自动加入」复选框——【不勾选则此网络永不自动连接】
按住网络名前的三横线(≡)拖动,把它拉到列表最顶端
点「完成」→ 再点窗口右下角「应用」,配置才真正写入生效
让Mac默认流量走Wi-Fi或以太网
当Wi-Fi和以太网都连通时,所有未指定路径的流量(浏览器、App Store、iMessage、邮件等)默认只走服务顺序排第一的接口。这不是智能选择,是死命令。
方法一:图形界面调整
打开「系统设置 → 网络」→ 点右上角 ⋯ →「设定服务顺序」
把你要设为默认出口的接口(如 Wi-Fi 或 “USB 10/100/1000 LAN”)拖到列表最顶端
点「完成」后路由表立即重载,但已有长连接(如 Zoom、SSH、iTerm 会话)可能仍走旧路径,需手动断开重连或执行 killall -HUP mDNSResponder
方法二:终端验证是否真生效
打开终端,执行:route get default
检查输出中的 interface 和 gateway:interface 是 en0 不代表一定是 Wi-Fi(M 系列 Mac 的 en0 常是有线口),必须结合 ifconfig en0 | grep "inet " 看 IP 是否匹配你期望的网关段
Wi-Fi和以太网同时用:外网走Wi-Fi,内网走有线
第一步:保持 Wi-Fi 在服务顺序顶部,确保日常上网走无线
第二步:确认以太网接口名和内网网关
执行 networksetup -listallnetworkservices,找到有线接口名(如 “AX88772A” 或 “Ethernet”)
插上网线后执行 netstat -rn | grep 'UG[^ ]* ' | head -3,找指向内网网段(如 10.10.0.0/16)的 gateway(如 10.10.254.254)
第三步:添加静态路由
执行:sudo networksetup -setadditionalroutes "AX88772A" 10.10.0.0 255.255.0.0 10.10.254.254
这条命令会让所有发往 10.10.0.0/16 的包强制走有线口,不干扰其他流量——【静态路由优先级高于默认路由,无需改服务顺序】
第四步:验证路由已生效
执行:networksetup -getadditionalroutes "AX88772A",应看到刚添加的条目
再执行:ping -c 2 10.10.1.1(任一内网地址),确认能通

















