快连如何在路由器端配置透明代理实现全屋分流?

·快连技术团队·路由配置
透明代理分流TPROXYDHCP路由表防火墙
快连路由器透明代理配置步骤, 快连如何实现全屋设备自动分流, 快连TPROXY与dnsmasq结合设置, 快连透明代理无法上网怎么办, 快连分流规则优先级如何调整, 快连是否支持IPv6透明代理, 快连透明代理性能优化方法, 快连与OpenWrt集成最佳实践

功能定位:为什么要在路由器侧做透明代理

把「快连」从终端下沉到路由器,一次解决三类痛点:家里所有终端无需单独装客户端,IoT 摄像头、Switch、Apple TV 这类封闭系统也能被动受益;TPROXY 做真·透明,不走本地 SOCKS,NAT 类型保持全锥形,游戏联机不掉 NAT3;所有出站流量在网关统一打标签,配合防火墙日志可实现「谁、什么时候、去了哪」一站式留痕,满足小型外贸公司 SOHO 审计需求。

经验性观察:同一带宽下,路由器端硬转发比终端 CPU 软中断延迟低 3–5 ms,且 5 GHz 频段下 UDP 丢包率会再降约 1 个百分点。验证办法很简单,把笔记本先跑终端版再跑路由器版,用 ping -f 打 1000 包对比即可复现。

功能定位:为什么要在路由器侧做透明代理
功能定位:为什么要在路由器侧做透明代理

版本差异与迁移建议

截至当前,快连官方仍只提供 Windows/macOS/Android/iOS 图形客户端,并未发布路由器固件或 opkg 安装包。因此「路由器端」实际指:用第三方开源固件(OpenWrt、ImmortalWrt、GL.iNet 原生 4.x)+ 官方提供的 WireGuard/Openprivacy tool 配置文件,再手动加装 TPROXY 分流脚本。

迁移前务必确认:1) 路由器剩余闪存 ≥ 8 MB,否则装完 wireguard-tools、ip-full、iptables-mod-tproxy 后空间告急;2) CPU 需带 AES 或至少 NEON 指令集,否则单核跑 100 Mbps 就会 100% 占用;3) 已 root 的运营商光猫若桥接不足,可能仍会强制 PPPoE 拨号,导致外层 MTU 1480,需要额外开 MSS Clamping。

网络拓扑与地址规划

推荐把「代理路由」做成平行子网:LAN 口保持 192.168.1.0/24 走国内,新建 VLAN 10 配 192.168.10.0/24 走透明代理。这样即便 TPROXY 规则失效,也不会把家人微信视频直接断网。DHCP 用 tag 推送不同网关,dhcp_option=3,192.168.10.1 即可零配置切换。

示例:小米电视插在 VLAN 10,开机自动拿 192.168.10.137,默认网关指向路由器 10.1,DNS 走 8.8.8.8,全程无感解锁 Netflix;而 NAS 留在 1.0/24,继续跑 PT 走本地宽带,互不影响。

操作路径:OpenWrt 22.03 以后(nftables)最短步骤

  1. 软件包 → 更新列表 → 搜索并安装 wireguard-tools ip-full kmod-ipt-tproxy nftables
  2. 网络 → 接口 → 添加新接口 → 协议选 WireGuard → 导入快连官网「路由器配置」→ 自动生成私钥与端点
  3. 网络 → 防火墙 → 新建区域 wgzone,覆盖 wg0 接口,转发允许 LAN→wgzone
  4. SSH 登录,新建 /etc/nftables.d/tproxy.nft,内容见下
  5. 系统 → 启动项 → 把 nft -f /etc/nftables.d/tproxy.nft 加到本地启动脚本
  6. 重启防火墙,观察 接口 → WireGuard → 接收/发送 字节开始跳动即成功
#!/usr/sbin/nft -f
add table inet tproxy
add chain inet tproxy prerouting { type filter hook prerouting priority mangle; }
add rule inet tproxy prerouting ip daddr { 10.0.0.0/8, 192.168.0.0/16, 172.16.0.0/12 } return
add rule inet tproxy prerouting meta l4proto { tcp, udp } tproxy to :1085 accept
add chain inet tproxy output { type route hook output priority mangle; }
add rule inet tproxy output meta skuid != 0 socket transparent 1 meta mark set 0x65

解释:前 3 行把私有地址排除,避免回环;1085 是用户态 redsocks2 监听端口,如果你直接用 WireGuard 内核转发,可把 tproxy 动作改成 meta mark set 0x65 并在路由表 200 里 throw 到 wg0。

策略路由:让标记流量自动走隧道

网络 → 路由 → 高级 → 添加路由表 200;规则里写 fwmark 0x65 lookup 200,下一跳指向 wg0。这样只有被打 0x65 标记的流量会进隧道,其余仍走默认 WAN,实现「分流」而非「全局」。

经验性观察:若你使用 IPv6,需要再建 table 201,并把 dport 443 的 IPv6 也重定向,否则 Apple 服务器会优先走 AAAA 记录导致漏流。验证方法:在 VLAN 10 客户端跑 curl -6 https://ifconfig.co,应返回 WireGuard 出口地址。

DHCP 与 DNS 的联动技巧

接口 → LAN → DHCP 服务器 → 高级设置 → DHCP 选项,写入 6,8.8.8.8,8.8.4.4 把 DNS 直接指到 Google,防止运营商 DNS 污染;同时把 3,192.168.10.1 推给 VLAN 10,确保默认网关正确。

若担心海外 DNS 被抢答,可在网络 → DHCP/DNS → DNS 转发里勾「DNSSEC 验证」并添加 list server '/netflix.com/8.8.8.8',实现域名级分流解析。

防火墙日志:如何做到可审计

系统 → 系统 → 日志 → 把「外部系统日志服务器」填到同一网段的 514 端口,例如 NAS 上的 rsyslog。然后在 nftables 规则尾部加 log prefix "TPROXY[",就能把每条匹配记录打上时间戳、MAC、IP、端口四元组。

小场景:外贸公司老板要求「谁访问了 ChatGPT」——直接在 NAS 里 grep TPROXY | grep 443 | grep openai,一分钟就能拉出 Excel 报表,满足瑞士审计方需求。

常见分支与回退方案

  • 分支 A: redsocks2 崩溃 → 系统日志出现 «redsocks2[1234]: segfault»,回退办法是「服务」里勾选「自动重启」并限制内存 64 MB;仍无效就改用 nftables 纯内核转发,放弃用户态。
  • 分支 B: 升级内核后 tproxy 模块丢失 → 重新安装 kmod-nft-tproxy,若软件源未同步,可临时降 kernel 版本或手动 insmod。
  • 分支 C: 家人抱怨网银打不开 → 在 mangle 规则里把「银行 ASN 段」挑出来 return 掉,例如 ip daddr @cn-bank return,用 ipset 维护,每周更新。

性能调优:让 100 Mbps 轻量级路由跑到 300 Mbps

MT7621 双核 880 MHz 在默认情况下只能跑 120 Mbps WireGuard,开「软件流量分载」后上升到 200 Mbps;再把 irqbalance 打开,RX 队列绑定到不同核,可冲到 300 Mbps。验证:speedtest.net 选同一服务器,跑 5 次取中位数。

警告:若你开「硬件 NAT」(MTK 的 HNAT),会与 mark 路由冲突,导致透明代理规则失效。办法是 SSH 里 echo 0 > /sys/kernel/debug/hnat/en 关闭,再测速,牺牲 10% 纯转发性能换稳定性。

性能调优:让 100 Mbps 轻量级路由跑到 300 Mbps
性能调优:让 100 Mbps 轻量级路由跑到 300 Mbps

不适用场景与合规红线

1) 公司人数>50 人同时在线,TPROXY+conntrack 表会暴增至 20 万条,128 MB 小路由直接 OOM,应改用 x86 软路由或官方企业 API。2) 对日志留存要求 ≥ 6 个月的金融场景,需把 syslog 写到 WORM 存储,否则会被合规打回。3) 国内 IDC 机房禁止私自架设跨境隧道,若服务器在阿里云轻量,需先提交白名单,否则会被关停。

验证与观测方法清单

  1. 客户端 traceroute 1.1.1.1 第一跳应为 192.168.10.1,第二跳是 WireGuard 内网地址,证明流量已进隧道。
  2. nft list ruleset | grep 0x65 计数器持续增长,说明标记生效。
  3. wg show wg0 latest-handshakes 全部 < 120 秒,表示隧道无断链。
  4. 持续 ping 网关 30 分钟,丢包率应 = 0 %;若出现周期性 1 % 丢包,多半是 ISP 晚高峰 QoS,与配置无关。

FAQ(结构化数据)

Q1: 官方不给路由器固件,日后升级配置会失效吗?

A: 快连仅更新 WireGuard 密钥与端点,你只需在「网络→接口→WG0→重新导入配置文件」即可,30 秒完成,旧路由表与 nftables 规则不受影响。

Q2: 可以同时让两台路由器并联主备吗?

A: 可以。把两台都设成 192.168.10.1,但 DHCP 范围错开,例如 A 管 10.10–10.100,B 管 10.101–10.200,再用 VRRP 虚拟 10.1 地址, failover 3 秒内完成,wg0 接口需各自独立握手。

Q3: 日志量太大撑满路由器存储怎么办?

A: 系统→日志→把「写入文件」关掉,只留「远程 syslog」;同时在 NAS 端做 logrotate,按 100 MB 切割并 gzip,可省 90 % 空间。

最佳实践 10 条速查表

步骤检查点不达标风险
1闪存剩余 ≥ 8 MB升级中途变砖
2CPU 支持 AES/NEON百兆以上带宽跑不满
3内核 ≥ 5.4nftables 语法不兼容
4关闭 HNATmark 路由被旁路
5开 irqbalance单核跑满延迟抖动
6MTU 1500→1420网页打开慢、TLS 握手失败
7私网段 return无法访问 NAS 打印机
8远端 syslog路由器 flash 被写爆
9每周更新 ipset银行/政府网站打不开
10配置导出备份升级掉配置从头再来

收尾:下一步行动建议

如果你只是三口之家、设备少于 20 台,按本文步骤在周末两小时就能完成「全屋分流+审计」;记得先把原厂固件备份,再逐条复制 nftables 规则,每改一次就 nft list ruleset 确认。上线后连续观测 48 小时,看 syslog 有无 ERROR、wg handshakes 是否稳定,确认无异常再把家人设备全部切到 VLAN 10。

进阶玩家下一步可以玩「按域名动态分流」——把 redsocks2 换成 dnsmasq + ipset + nftables,实现「Netflix 走隧道、抖音走直连」的秒级切换;但那就超出透明代理范畴,留给下一篇教程。

📺 相关视频教程

【建议收藏】一个视频讲清楚所有局域网共享科学上网方法,让家里所有网络设备无需安装代理工具即可翻墙,没有软路由怎么让全家科学上网?http代理/socks代理/透明代理/WIFI热点,总有一种方法适合你

关键词:快连路由器透明代理配置步骤快连如何实现全屋设备自动分流快连TPROXY与dnsmasq结合设置快连透明代理无法上网怎么办快连分流规则优先级如何调整快连是否支持IPv6透明代理快连透明代理性能优化方法快连与OpenWrt集成最佳实践