
功能定位:为什么需要“排除指定本地IP”
在 macOS 上启用快连代理后,默认全局转发会把所有流量送进加密隧道,包括访问公司 NAS、局域网打印机或本机 Docker 网关的请求。结果:Finder 无法挂载 smb://192.168.1.100,Xcode 模拟器也拉不到本地 API。Split Tunneling 3.0 的“排除列表”允许你把这类本地 IP 段标记为直连,既保留跨境加速,又让内网流量走原生网卡,方便审计与故障排查。
合规视角下,把内网流量留在本地还能减少跨境数据留存范围,降低日志审计量。下文所有操作均以快连 macOS 7.8.0 为基准,路径与按钮名称在后续小版本内可能微调,若找不到同名入口,请在右上角搜索框输入“Split”即可定位。
决策树:先判断该不该排除
动手前先用 30 秒回答三个问题:①目标 IP 是否仅在局域网有效?②该流量是否含敏感文件?③是否必须保留原始源地址?若任一答案为“是”,就把该段写进排除列表;若目标 IP 是公网但希望强制直连(例如公司出口白名单),请改用“进程维度”或“域名维度”分流,避免误把 192.0.0.0/8 整段放走。
常见场景对照
- 家用 NAS 位于 192.168.50.0/24 → 建议排除
- 公司测试环境 10.33.0.0/16 → 建议排除
- Homebrew 镜像源域名 → 不建议写 IP,改用域名规则
- Zoom 媒体服务器公网段 → 不建议排除,用进程规则更精准
示例:把整段 10.0.0.0/8 一次性 bypass 后,公司 CRM 的 CDN 偶尔会被解析到 10.0.0.0 段,结果明文传输被审计系统告警。精准拆分 /24 或 /28 才能兼顾安全与性能。
操作路径:三步写入排除列表
快连 macOS 客户端提供图形化与配置文件两条入口,二者实时同步,可任选其一。以下以图形化为主,附“回退到 JSON”方案,方便 CI 批量下发。
图形化入口
- 主界面右上角 ⋮ → Settings → Split Tunneling 3.0
- Mode 选择「Custom Rules」→ 点击「Add Rule」→ Type 选「IP Range」
- 在 Start IP 输入 192.168.50.1,End IP 输入 192.168.50.254,Action 选「Bypass privacy tool」,保存即可生效,无需重连隧道
配置文件入口(可脚本化)
打开终端执行
open -e ~/Library/Group\ Containers/group.com.kuailian.macos/Library/Preferences/split.plist
在 bypass_ranges 数组内追加:
<dict> <key>start</key><string>192.168.50.1</string> <key>end</key><string>192.168.50.254</string> </dict>
保存后回客户端点击「Reload Config」即可热加载,无需断线。
平台差异与验证方法
快连 Windows 版把排除列表放在「高级设置→路由表」;Android/iOS 则在「分应用代理→自定义路由」子页面,名称都叫“Bypass List”,但 iOS 端因系统沙盒限制,仅支持 /24 及以上掩码,无法输入单 IP。macOS 端无此限制,可输入 192.168.1.123/32。
验证是否生效
- 打开终端:ping 192.168.50.100,观察回程时间 <1 ms 即走本地
- 另开窗口:curl ifconfig.io,确认出口 IP 仍为隧道地址
- 在客户端 Logs 页面过滤关键字「bypass」,若看到 route 192.168.50.0/24 -> direct,说明规则已加载
例外与取舍:别把整段私网都放走
经验性观察:有用户图省事把 10.0.0.0/8、172.16.0.0/12、192.168.0.0/16 一次性全 bypass,结果导致公司 CRM 的 CDN 域名被解析到 10.0.0.0 段后绕过加密,日志中出现明文传输。正确做法是“最小可用原则”:只写自己需要的那几段 /24,必要时拆成 /28。
与第三方工具的协同
部分开发者同时运行 ClashX 或 Surge 作为上游,想保留快连的 AI 选路,又把本地虚拟网段留给 Surge 处理。此时需在快连排除 198.18.0.0/15(Surge 默认 fake-ip 池),并在 Surge 侧勾选「不接管系统 DNS」。顺序上先启动快连、后启动 Surge,可避免路由表竞争。
故障排查:Bypass 不生效怎么办
现象 1:目标 IP 依旧显示海外出口
可能原因:写错掩码或与其他规则冲突。验证:在 Logs 页面搜索「192.168.50.100」,若看到 forwarded to tunnel,说明未命中 bypass。处置:检查是否误选「Proxy」动作;或把规则上移至列表顶部,确保优先匹配。
现象 2:保存后规则消失
经验性观察:macOS 版 7.8.0 在开启「iCloud 钥匙串同步」时,plist 会被系统回滚。关闭同步或把文件权限设为只读可临时缓解;官方在 7.8.1 已修复,可等待自动更新。
适用/不适用场景清单
| 场景 | 建议 | 理由 |
|---|---|---|
| 家庭影院 NAS | 排除 192.168.0.0/24 | 局域网流量无需加密,减少 CPU 占用 |
| 公司 GitLab CI | 排除 10.10.0.0/24 | 大文件克隆走内网,节省跨境带宽 |
| 网银 U 盾 | 不要排除 | 网银检测出口变化会强制重登,反而更麻烦 |
| Zoom 会议 | 用进程规则,不 bypass IP | Zoom 媒体服务器段常变,IP 规则易失效 |
最佳实践 5 条
- 先写 /24,运行一周无异常再缩到 /28,避免“一网打尽”。
- 把排除规则命名成「NAS-192.168.50」这类可读标签,方便审计。
- 每月导出一次 split.plist 到 Git 私有仓,变更可 diff。
- 开启「连接日志自动清理 7 天」,既满足排障,又减少留存风险。
- 家庭账号共享时,给成员「只读」权限,防止误删规则。
FAQ(使用 FAQPage Schema)
排除列表上限是多少?
图形界面最多 128 条;配置文件手动写入无硬上限,但超过 256 条后加载耗时明显增长,建议合并成 CIDR。
能否排除域名而非 IP?
可以,在 Add Rule 时 Type 选「Domain」,支持通配符 *.example.com;但域名规则依赖私有 DNS,若本地 hosts 强行指向 IP,仍会走直连。
规则写错导致无法远程桌面,如何急救?
关闭客户端或临时切换为「全局代理」模式即可恢复;若已勾选「开机自启」且规则误 bypass 了 0.0.0.0,可在登录前按住 Shift 阻止快连启动,再进图形界面删除规则。
收尾:下一步行动
排除本地 IP 不是“一劳永逸”:网络段会随项目扩容而变,建议把「导出 split.plist」写进每月维护清单,并在变更后跑一遍 ping + curl 双验证。现在就打开快连 → Split Tunneling 3.0,把 192.168.x.x 写进去,保存后测一下 NAS 速度,你会立刻发现局域网响应回到毫秒级,而海外 SaaS 依旧畅快——这就是合规与体验双赢的最小代价方案。
未来版本若引入“智能推荐排除”或“自动识别虚拟网段”,规则维护将进一步简化;当下先按本文节奏落地,后续升级可无缝衔接。