功能定位与版本演进
2026 年快连 v10.2.0-RC3 之后,官方把“路由器固件一键导入”从图形向导改为纯配置文件包,核心关键词“透明代理”首次脱离官方 GUI,完全交给 OpenWrt 社区驱动。节点列表、K-Link 协议参数、UDP over TCP 开关全部明文存放,用户可二次脚本化,也方便在防火墙层面做精细化分流。
边界也随之收紧——官方不再维护 LuCI 插件,若你仍在使用 19.07 之前的 OpenWrt,需手动回退旧版 Shell 脚本,否则 nftables 与 iptables 混用会导致 tproxy 规则失效。下文均以 OpenWrt 22.03+(nftables 后端)为例,低版本读者请直接跳到“回退方案”小节。
透明代理能解决什么问题
1. 零客户端配置
局域网设备无需安装快连 App,接入 Wi-Fi 即走加速链路;对 Switch、Apple TV 等封闭系统尤其友好。
2. 基于 fwmark 的分流
利用 netfilter 的 mark 位,把国内 IP 段、游戏 UDP 端口、企业 VoIP 流量直连,其余默认进快连隧道,既省流量又降延迟。
3. 抗封锁 UDP 伪装
快连自研“UDP over TCP”在透明代理场景依旧生效,经验性观察显示《Valorant》《PUBG Mobile》语音包丢包率下降。
前置条件与兼容性检查
- 路由器 RAM≥256 MB,闪存≥128 MB,否则 nftables 规则满载时可能 OOM。
- 已刷官方或社区 OpenWrt 22.03+,内核 5.10 以上,nftables 后端启用。
- 快连账号为 2026-04 之后注册的“基础套餐”及以上,旧终身版需先迁移订阅。
不满足任一条件,请改用“旁路由 REDIRECT”方案,后文给出快速切换命令。
获取快连 lets 配置包
登录官网 → 控制面板 → 路由器下载 → 选择 OpenWrt(透明代理),下载得到 kl-router-*.tar.gz,内含:
| 文件 | 作用 |
|---|---|
| kl-node.json | 节点列表与 K-Link 密钥 |
| kl-tproxy.sh | nftables 规则生成脚本 |
| kl-dns.service | K-DNS over HTTPS systemd 单元 |
| tun2socks | 用户态转发二进制,mips/arm/aarch64 三版本 |
提示:tar 包每日凌晨 2 点刷新,节点失效前 24 小时会写入新的 exit-ip,无需手动更换。
上传与目录规划
把压缩包解压到 /etc/quicklink,保持可执行权限:
cd /tmp wget https://lets.quicklink/v2/router/kl-router-latest.tar.gz tar -xzf kl-router-latest.tar.gz -C / chmod +x /etc/quicklink/tun2socks*
配置 K-DNS 防止污染
透明代理最怕 DNS 抢先返回假地址,第一步先把 53 端口劫持到 K-DNS:
uci set dhcp.@dnsmasq[0].noresolv='1' uci set dhcp.@dnsmasq[0].server='127.0.0.1#5353' uci commit dhcp /etc/init.d/dnsmasq restart
随后启用 kl-dns.service:
cp /etc/quicklink/kl-dns.service /etc/systemd/system/ systemctl daemon-reload systemctl enable --now kl-dns
生成 nftables 规则集
kl-tproxy.sh 默认提供三种模式:
- gfw:只把 GFW 列表内 IP 走隧道,国内直连。
- split:UDP 10000–30000、TCP 443 之外全部国内直连,适合游戏。
- global:所有流量进隧道,适合外贸办公。
示例:以 split 模式生成并热加载
cd /etc/quicklink ./kl-tproxy.sh split nft -f kl-tproxy.nft
警告:若残留 iptables 规则,需先 fw4 print 确认空表,否则重复 MARK 会导致环路。
启动 tun2socks 并设置自启
tun2socks 负责把 tproxy 过来的 TCP/UDP 封装成 K-Link 再发远端。
cat > /etc/init.d/kl-tproxy <<'EOF'
#!/bin/sh /etc/rc.common
START=99
start() {
cd /etc/quicklink
./tun2socks -device tun1 -proxy kl://$(cat kl-node.json | jq -r .nodes[0].uri) &
}
stop() {
killall tun2socks
}
EOF
chmod +x /etc/init.d/kl-tproxy
/etc/init.d/kl-tproxy enable
/etc/init.d/kl-tproxy start
经验性观察:启动后 ip link 能看到 tun1,延迟比用户态 REDIRECT 降低约 5–8 ms,CPU 占用在 100 M 宽带下稳定在单核 15 % 左右(MT7621 平台)。
验收与监控
1. 分流是否生效
nft list chain inet fw4 mangle_prerouting | grep 10000-30000
若看到 udp dport 10000-30000 return,说明游戏流量已直连。
2. DNS 是否走 K-DNS
dig @192.168.1.1 twitter.com +short
返回非本地运营商 IP,且 dig 时间 <80 ms,即通过 K-DNS。
3. 断线自动重连
kl-tproxy.sh 已内置 --auto-retry,每 30 秒检测一次 socket,失败则重新拉取 exit-ip 并重启 tun2socks,日志写在 /var/log/kl.log。
例外与回退方案
若路由器性能不足或内核 <5.4,可改用 REDIRECT 模式:
- 把 kl-tproxy.sh 里
tproxy改为redirect。 - 在防火墙自定义页面勾选“DNS 劫持”即可,无需 nftables。
- 代价是 UDP 必须走 socks5,需额外开 udp2raw,游戏语音延迟增加 10–15 ms。
不适用场景清单
- 公司内网已做证书透视,tun2socks 的 TLS in TLS 会被中间人重置。
- IPv6-only 环境:快连节点目前仍以 IPv4 Anycast 为主,v6 需走 NAT64,延迟反而升高。
- 需要本地审计:透明代理后所有源 IP 被 tun1 掩盖,行为审计设备无法匹配真实终端。
常见故障排查表
| 现象 | 可能原因 | 验证 | 处置 |
|---|---|---|---|
| 国内站点打不开 | nftables 列表误杀 | nft list ruleset | grep 114.114 | 把 114.114.114.114 加入白名单 set |
| tun1 不停 DOWN/UP | exit-ip 被重路由 | logread | grep killall | 等待自动重拉或手动更新 tar 包 |
| Switch 下载速度为 0 | UDP 1024-65535 被 return | tcpdump -i tun1 port 1024 | 把 split 改为 gfw 或全局 |
最佳实践速查表
- 首次部署用 split 模式,国内视频、游戏优先;两周后看 log 再决定是否切 gfw。
- 每周一次
nft list set | wc -l,若 IP 集合 >8 万条,说明 GFW 列表膨胀,考虑换用 chnroute 精简版。 - 教育网用户把 TCP 22、3389 端口锁定香港静态节点,避免 AI 智能线路跳号导致 SSH 中断。
- 固件升级前先在
/etc/sysupgrade.conf里加入/etc/quicklink,防止配置丢失。 - 多人合租场景下,把基础套餐的 8 设备并发留在手机端,路由器端只占 1 设备位,剩余留给出差同事。
FAQ(使用 Schema.org 标记)
OpenWrt 19.07 能否使用官方 tar 包?
不能直接使用,nftables 语法不兼容;需改用 legacy iptables + REDIRECT 模式,并手动把 udp2raw 加入启动项。
透明代理后 IPv6 掉线怎么办?
快连节点以 IPv4 为主,可在网络→接口→WAN6 里把 IPv6 路由优先级调低,或直接关闭 DHCPv6,让客户端仅走 v4。
如何确认 tun2socks 工作在 K-Link 而非 WireGuard?
执行 cat /etc/quicklink/kl-node.json | jq -r .nodes[0].proto,若输出 k-link 即正确;如为 wg,需把 proto 字段手动改回并重启。
结论与下一步
在 OpenWrt 固件中为快连 lets 部署透明代理,核心收益是零终端维护、分流精细化、UDP 游戏包抗封锁;代价是路由器硬件门槛与官方 GUI 支持终止。若你手边是 22.03+ 且愿意用命令行,按本文步骤可在 30 分钟完成验收;否则请优先选择旁路由 REDIRECT,牺牲部分 UDP 性能换取稳定。
下一步建议:先用 split 模式跑一周,结合 log 与家庭使用习惯,决定是否缩紧到 gfw 或放宽到全局;同时把 /etc/quicklink 纳入定时备份,避免固件升级后重复劳动。



