在 macOS 上,同时连接两个网络(如 iPhone 个人热点 + 内网 Wi-Fi)并实现“分流”访问(外网走 iPhone,内网走 Wi-Fi)是可行的,但需要手动配置 网络服务顺序 和 静态路由规则。以下是详细操作步骤:
✅ 场景说明
iPhone 通过 USB / 蓝牙 / Wi-Fi 热点连接 Mac → 提供 外网(互联网)
Mac 连接公司/局域网 Wi-Fi → 仅用于访问 内网资源(如 192.168.x.x、10.x.x.x 等)
目标:
所有公网流量(如浏览器、App Store)走 iPhone
所有内网 IP 流量走 Wi-Fi
🔧 步骤一:确认两个网络接口已连接
连接 iPhone 个人热点(推荐用 USB,更稳定):
用数据线连接 iPhone 与 Mac
在 iPhone 上开启「设置 > 个人热点」
Mac 会自动识别为 “iPhone USB” 网络接口(名称可能略有不同)
连接内网 Wi-Fi:
正常连接公司或内部 Wi-Fi(假设该 Wi-Fi 不能访问互联网,仅能访问内网)
🔧 步骤二:调整网络服务顺序(关键!)
macOS 默认按“服务顺序”决定主路由(默认网关)。我们要让 iPhone 接口排在 Wi-Fi 前面,以使其成为默认出口。
打开 系统设置 > 网络
点击右下角 “…” > “设定服务顺序”(或点击齿轮图标)
将 iPhone USB(或“iPhone 热点”)拖到 最顶部
点击 “好” 保存
✅ 这样所有默认流量(如打开网页)就会走 iPhone 的网络。
🔧 步骤三:添加静态路由(让内网走Wi-Fi)
现在的问题是:虽然默认走 iPhone,但 内网地址(如 192.168.10.0/24)也需要走 Wi-Fi。我们需要手动加路由。
1. 获取 Wi-Fi 网关地址
系统设置 > WI-FI > 详细信息 > TCP/IP > 下:
路由器:对应的ip即为内网网关,比如:192.168.10.1
ip地址:对应的ip即为本机的内网ip,同时确认内网网段,比如 192.168.10.0/24 或 10.0.0.0/8
2. 添加静态路由(临时生效)
在终端执行(替换为你自己的内网网段和网关):
sudo route add -net 192.168.10.0/24 192.168.10.1如果是整个 A 类内网(10.x.x.x):
sudo route add -net 10.0.0.0/8 192.168.10.1特别注意:
mac重启后需要重新添加路由,因此可以将路由配置写成脚本,比如:/Users/phoenix/apps/addroute.sh
3.查看静态路由
打开 终端(Terminal),运行:
# 查看wifi的路由规则
netstat -nr | grep "en0\|Wi-Fi"
# 查看默认网关:可以看到iphone和wifi两个网关
netstat -nr | grep '^default'✅ 这样访问 192.168.10.x 就会走 Wi-Fi,其他流量走 iPhone。
相关命令:
删除路由:
sudo route delete default 192.168.10.1
添加默认路由:
sudo route add default 172.20.10.1
特殊场景:
场景1:内网wifi连接以后,需要使用内网登录云桌面。这种情况下iphon的公网dns会导致云桌面的地址解析被解析为公网地址,导致无法使用内网访问云桌面。
解决步骤如下:
1)只连接内网wifi,关闭iphone usb网络
2)登录云桌面
3)添加内网路由,包括mac本机路由和云桌面的内网ip路由
比如云桌面地址为:10.11.21.8,则路由配置:sudo route add -net 10.11.21.0/24 192.168.10.1
4)开启iphone usb网络

此时公网和内网同时可以访问了。
问题解决:
1、iphone外网经常中断
原因是:iphone的default路由消失,导致外网中断。
解决:添加default网关路由:sudo route add default 172.20.10.1
评论