
快连怎样在路由器上配置全局分流规则?
功能定位:为什么要在路由器侧做全局分流
kuailian 的 App-Route 分应用代理在手机端已足够方便,但运营者常遇到「终端数量 > 8」「Apple TV 无法装客户端」「NAS 需要固定出口 IP」三类场景。把分流规则前移到 OpenWrt,可以让全屋设备一次接入,不再占用终端并发名额,也能让 Apple Vision Pro、SteamDeck 等走专用游戏节点,降低 30% UDP 丢包(经验性观察,验证方法见文末)。
核心关键词「kuailian 全局分流」在路由器侧的实现,本质是把「海外 IP 段 + 常用端口」走 QuickTCP 或 WireGuard 隧道,其余流量直连。与 PC 端 Kill-Switch 不同,路由器侧失败时只影响「被分流」的报文,国内网银、公司 privacy tool 不会闪断,适合 7×24 小时挂机。
前置条件与固件选择
硬件门槛
- RAM ≥ 256 MB,闪存 ≥ 32 MB,否则 IPSet 加载完整海外路由表会 OOM。
- CPU 需支持 AES-NI 或至少双核 880 MHz,才能跑满 200 Mbps QuickTCP 加密。
固件版本
以 OpenWrt 23.05.x 为例,自带 firewall4/nftables;若仍在 19.07 使用 iptables,请先把 /etc/config/firewall 迁移至 nftables,否则下文规则语法不兼容。
决策树:三种典型方案对比
| 方案 | 实现难度 | 性能损耗 | 维护成本 | 适用场景 |
|---|---|---|---|---|
| A. IPSet+策略路由 | 低 | ≈5% | 每月更新一次 IP 段 | 家用宽带,终端 < 30 |
| B. DNSMASQ+ipset | 中 | ≈3% | 需维护域名清单 | 流媒体解锁为主 |
| C. 透明代理(TPROXY) | 高 | ≈10% | 需内核模块 | 多出口负载,企业级 |
经验性观察:方案 A 在 200 Mbps 以内 CPU 占用 < 10%,且 nftables 与 firewall4 原生集成,出错时直接删掉策略路由表即可回退,适合首次尝试。
方案 A 实操:IPSet+策略路由
步骤 1 安装组件
步骤 2 下载快连官方路由表
截至当前的最新版本,快连在 https://router.quicklink/v2/routes.txt 提供每日更新的 CN-CIDR 与 OVERSEA-CIDR,两份均为 nftables 集合格式,可直接重定向到 /etc/quicklink/。
步骤 3 建立 WireGuard 接口
在「网络-接口-新增接口」选择 WireGuard 协议,填入快连官网「路由器节点」页面提供的公钥、端口、IP。注意:若校园网封 UDP,可在「高级设置」把「保持连接」改成 TCP-443,与客户端的 WebSocket+TLS 同级混淆。
步骤 4 写 nftables 规则
新建文件 /etc/nftables.d/99-quicklink.nft:
0x55 为自定义标记,后续策略路由会匹配该标记。
步骤 5 策略路由
wg0 为 WireGuard 接口名,若用 QuickTCP 请改成对应的 tun0。
步骤 6 持久化
验证与观测方法
- 电脑开「tracert 8.8.8.8」,若第一跳为路由器 LAN IP,第二跳显示快连节点 IP,则分流生效。
- 访问「ip111.cn」,若显示「境外-快连/ASxxxx」即成功。
- 路由器执行
nft list set inet quicklink oversea | head,能看到元素数量每日凌晨自动更新,若长期为 0,说明下载失败,需检查 cron。
何时不该用:边界与副作用
1. 公司 SSL privacy tool 使用证书双向认证,若把公司网段也误分流到海外,会导致握手失败。解决:在 oversea.nft 里把公司出口 IP 加入 exclude 集合,或在 mangle_prerouting 前插入一条 return。
2. 游戏场景包需要 UDP 冗余,若路由器 CPU 只有单核,开 WireGuard 后延迟反而 +10 ms。经验性观察:双核以下设备建议回退到客户端级代理,或单独买 ARMv8 盒子做旁路由。
与客户端协同:Kill-Switch 互补
路由器侧规则只保证「被分流」流量走隧道,手机若离开 Wi-Fi 进入 4G,仍需依赖 App 自带 Kill-Switch。建议把「移动数据」开关与「kuailian 断网保护」绑定,形成双层保险。
故障排查速查表
| 现象 | 可能原因 | 验证 | 处置 |
|---|---|---|---|
| 国内网站打不开 | 默认路由被改 | ip route|grep default | 检查 table 100 是否漏写 main 路由 |
| wg0 接口未启动 | 密钥错 | logread|grep wireguard | 重新对照官网路由器节点页 |
| CPU 占用 >80% | nftables 频繁 reload | top | 把更新脚本执行间隔从 5 分钟改到每天 |
FAQ(使用 FAQPage Schema)
路由表多久更新一次?
官方每日凌晨 02:30 推送,cron 里把 wget 放在 03:00 执行即可,重启 nftables 服务约需数十秒,期间已建连接不断线。
能否只让 Netflix 走隧道?
可以把方案 A 的 oversea 集合换成 netflix.nft(官网同目录提供),或在 dnsmasq 里给 netflix.com 加 ipset=netflix,再在 nftables 标记 0x55 即可。
升级 OpenWrt 后规则消失?
23.05 以后配置文件被 /etc/sysupgrade.conf 控制,把 /etc/quicklink/ 与 /etc/nftables.d/99-quicklink.nft 加入保留列表即可。
总结与下一步
在路由器侧完成 kuailian 全局分流,可把全屋终端从并发数限制中解放,并统一出口 IP,方便跨境电商多账号防关联。若你首次尝试,先用 IPSet+策略路由方案 A,验证延迟与 CPU 占用后,再考虑 DNSMASQ 或 TPROXY 细化。记得每季度检查一次官方路由表地址是否变更,保持脚本可持续运行。
下一步:若延迟仍不满意,可在「AI 线路调度」里手动锁定香港 CN2 节点,或把 P2P 共享上行开到 50 Mbps,用抵扣券把月费降到 12 元,实现「路由器 7×24 在线零现金」循环。