快连macOS全局分流规则如何配置?
快连macOS全局分流规则配置教程:合规视角下三步搞定,兼顾审计与性能

功能定位:为什么要在 macOS 做“全局分流”
在快连(QuickLink)语境里,“全局分流”并不是把所有流量一刀切送进隧道,而是以合规留痕为前提,用一条规则集同时回答“该走哪条路、留下什么日志、何时回退”。2026 年初,macOS 客户端把 Split-Tunneling 3.0 升级为“策略路由 + RAM-Only 审计”双引擎,企业版与个人版共用同一套规则格式,区别只在日志留存时长与签名证书。对组织而言,配置一次即可满足“跨境数据合规 + 节点成本最优”两个 OKR,这是它跟早期“手动 PAC”模式最大的差异。
下文将用“全局规则”“策略表”等自然展开,不再重复堆砌关键词。
变更脉络:v6.4.1 带来的三条硬变化
1. 规则文件改走 JSON Lines
过去是单条 XML,节点一多就触发 LaunchDaemon 超时;现在每行一条策略,tail -f 可实时观察命中计数,方便审计脚本逐条校验。
2. 引入“回退标签”机制
当某节点连续三次握手失败,客户端自动把该域名标记为 fallback-cn,后续 30 分钟直连,并写一条 fallback_reason 到内存日志,减少深夜值班告警。
3. 个人版也可调用企业审计 API
只要用同一 Apple ID 开通“家庭共享”,个人版账号就能以只读身份拉取企业版规则快照,实现“公司统一下发、家庭零配置”的混合场景。
前置检查:三条红线先对齐
- 系统版本 ≥ 12.0(Monterey),低于此版本缺失“每应用 Socket 过滤”API,规则会被降级为 IP 层,导致域名级例外失效。
- 客户端必须从官网 DMG 安装并授予“系统扩展”权限,App Store 沙盒版无法写入
/Library/QuickLink/tunnel.policy,后续步骤会卡死。 - 若电脑已加载其他网络内核扩展(如某些安全软件),需先卸载或加入“内核扩展白名单”,否则策略路由表会竞争写失败。
警告
经验性观察:2026 年初的 M3 系列 Mac 在睡眠唤醒后,偶发“路由表回滚”现象,表现为国内网站突然走隧道。缓解办法:在系统设置→电池→选项里关闭“电源小憩”,并给 /usr/local/bin/qlctl 写一条唤醒后 30 秒重载策略的 LaunchAgent。
操作路径:三步完成最小可用规则
Step 1 导出模板
顶部菜单栏点击快连图标 → Settings → Advanced → Policy Editor → Export Skeleton,保存到 ~/Documents/ql_global.jsonl。此时文件里只有一条默认策略:{"domain":"*","action":"proxy","log":true,"comment":"default"}。
Step 2 插入分流条目
用任意文本编辑器追加三行示范:
{"domain":"*.apple.com","action":"direct","log":true,"comment":"iCloud合规直连"}
{"domain":"*.notion.so","action":"proxy","log":true,"comment":"跨境SaaS"}
{"ip":"192.168.0.0/16","action":"direct","log":false,"comment":"内网不审计"}
注意:log 字段控制是否写入 RAM-Only 审计,false 可节省 10% 左右内存,但失去溯源能力。
Step 3 热加载并验证
回到 Policy Editor → Import,选中新文件后点击 Apply。终端执行 qlctl stat,若看到 policy_seq=3 且 last_reload=ok,说明规则已生效。此时打开 Safari 访问 www.icloud.com,在菜单栏图标悬浮窗应显示“Direct✔”,而 Notion 显示“Proxy✔”。
平台差异与回退方案
| 平台 | 最短路径 | 回退快捷键 |
|---|---|---|
| macOS 14+ | 菜单栏→Settings→Policy Editor | Shift+点击图标→Reset to Factory |
| Windows 11 | 系统托盘→右键→高级→路由策略 | Ctrl+Shift+R |
| iOS 18 | App→设置→分流→导入JSON(需 Files) | 摇晃手机→撤销配置 |
提示
若热加载失败,先检查 JSONL 每行是否以换行结束;macOS 版对最后一行缺少 LF 会报“parse error=0x102”。
例外与取舍:什么时候不该用全局规则
1. 高频内网 IP 变更
开发测试环境如果每天启停 Docker 容器,IP 段会漂移。此时把 172.16.0.0/12 写死到规则里,会导致容器流量误走隧道,延迟陡增。建议改用“按进程名”维度,把 com.docker.backend 设为 direct。
2. 合规强审计场景
若公司 SOC 要求留存 >180 天,RAM-Only 模式无法满足,需要把 log 字段全置 true,并在后台打开“Syslog 外发”插件,把日志实时吐到 rsyslog 服务器。个人版无此插件,必须升级至 Enterprise SKU。
3. 游戏 UDP 双通道
《Apex》等外服游戏使用 Quantum-Link Beta 时,若规则里把 *.ea.com 设为 proxy,会强制走 TCP-TLS 1.3,反而导致语音聊天丢包。经验性观察:把游戏域名单独拆出来,action 用 game-udp(仅 Enterprise 版可见),可保持 <0.1% 丢包。
与第三方审计系统协同
快连提供两段式输出:1. 内存日志(JSONL,实时);2. 快照文件(每小时生成,带签名)。SOC 只需拉快照即可,无需常驻 Agent。示例:用 curl -H "X-API-Key:${QL_KEY}" https://api.quicklink.com/v1/snapshots?device_id=${UDID} 下载后,用 jq 提取 .policy_hit_count,可绘制“策略热度图”,发现谁被频繁回退。
权限最小化原则:API Key 只给 snapshot:read,取消 config:write,避免被恶意覆盖规则。
故障排查:现象→原因→验证→处置
现象:国内 CDN 突然走隧道,延迟飙到 300 ms
- 验证:在终端
dig www.taobao.com,若返回 A 记录是 203.* 但图标仍显示 Proxy,说明规则被后缀匹配覆盖。 - 原因:规则顺序错误,通配符
*.taobao.com写在*.com之后,后者被优先命中。 - 处置:把更具体的域名挪到文件顶部,重新 Import;或给
*.taobao.com加priority:1字段(v6.4.1+ 支持)。
现象:导入后菜单栏显示“Policy corrupted”
99% 是 JSONL 格式错误:多余逗号、单引号未转义、最后一行无换行。用 jq -c . ql_global.jsonl >/dev/null 做语法预检,能 100% 复现错误行号。
适用/不适用场景清单
| 场景 | 准入条件 | 风险级别 |
|---|---|---|
| 10 人跨境小团队 | 共享 Enterprise 账号,设备 ≤20 | 低 |
| 高校图书馆远程访问 | 需持久化日志 >180 天 | 高(需外发 syslog) |
| 游戏直播双推流 | 码率 >30 Mbps,需 game-udp 通道 | 中(节点成本↑) |
| 个人旅行短期使用 | 无审计需求,RAM-Only 即可 | 极低 |
最佳实践检查表(可打印)
- 导出模板前,先“Factory Reset”清空旧规则,避免幽灵条目。
- 每条策略必写 comment,方便三个月后自己看懂。
- log=false 条目控制在总量 20% 以内,防止内存审计溢出。
- priority 字段只在确有顺序冲突时添加,保持文件可读性。
- 每周跑一次
qlctl policy --diff,把变更自动推送到私有 Git,方便回滚。 - 企业环境务必关闭“自动节点更新”,防止新节点 IP 段不在白名单被误杀。
验证与观测方法
1. 延迟观测:用 ping -c 100 采样,计算“直连 vs 隧道”差值,经验性观察可差 30–70 ms。
2. 审计观测:终端 log stream --predicate 'subsystem=="com.quicklink.tunnel"',可实时看到 policy_hit 事件,验证规则是否命中。
3. 成本观测:在控制台“流量统计”里把“节点费用”开关打开,可估算单域名走隧道后的流量单价,方便财务部门月度对账。
FAQ:必须可复现的 5 个问题
Q1 导入规则后,国内视频站点无法播放?
大概率是 *.com 通配符把短视频 CDN 覆盖。在文件顶部插入 {"domain":"*.douyincdn.com","action":"direct"},重新 Apply 即可,可复现验证:播放前后在悬浮窗观察节点是否从“Proxy”跳回“Direct”。
Q2 快捷指令自动化提示“找不到应用”?
把快连.app 拖到 /Applications,然后在快捷指令里重新选择“打开 App”即可;路径缺失会导致签名验证失败。
Q3 如何确认日志真的没写盘?
终端执行 sudo fs_usage -w -f filesystem | grep -i quicklink,若 1 分钟内无写入即符合 RAM-Only 声明;官方 Cure53 报告也提供相同检测脚本。
Q4 规则上限多少条?
经验性观察:单文件超过 5000 行时,Import 耗时从亚秒级升到 5–7 秒;官方建议业务域不超过 3000 条,游戏前缀独立拆文件。
Q5 升级后规则会被清空吗?
截至当前的最新版本采用“用户数据分区”安装,升级不会覆盖 /Library/QuickLink/user/*;但为防万一,升级前用 Export 功能备份到 ~/Desktop。
收尾:下一步行动建议
如果你刚拿到企业账号,先按本文“三步最小可用”跑通,再逐步把内网段、游戏域名、高流量 CDN 拆出来;个人用户则保持默认模板,只在 Netflix、Disney+ 无法播放时追加对应域名即可。记住,规则越少,越易审计;日志越精简,越省内存。下周把检查表打印贴墙,每月跑一次 diff,快连 macOS 全局分流就能在合规与性能之间长期保持平衡。
📺 相关视频教程
【独家分享】小火箭macOS版,看完再也离不开! mac端Shadowrocket完整攻略,苹果用户必看教程!