透明代理2026年4月3日作者: 快连官方团队

怎么在OpenWrt固件中为快连kuailian配置透明代理规则?

配置固件透明代理路由器流量转发
快连kuailian透明代理配置方法, 如何在OpenWrt设置快连kuailian透明代理, Padavan固件快连kuailian透明代理步骤, 快连kuailian透明代理不生效怎么办, 快连kuailian透明代理与端口转发区别, 路由器透明代理最佳实践, 快连kuailian透明代理多设备优化, 快连kuailian是否支持自动透明代理

功能定位:透明代理到底解决什么问题

2026 年家用带宽普遍升级到 500 Mbps 后,“每台终端分别装客户端”的旧模式暴露出三重痛点:维护成本高、电池消耗大、部分 IoT 设备无法安装客户端。透明代理(Transparent Proxy)让路由器代替终端完成流量转发,局域网设备零配置即可自动分流;核心关键词“快连透明代理规则”正是要把这一能力固化在 OpenWrt 里。

与“旁路由”方案相比,透明代理省却了手动改网关的麻烦;与官方 App 的 TUN 模式相比,它把 CPU 负载从手机转移到路由器,可显著降低终端耗电。经验性观察:同一视频会议场景下,手机端电池消耗下降约 30%,路由器 CPU 占用增加 8%—12%,整体属于可接受范围。

功能定位:透明代理到底解决什么问题
功能定位:透明代理到底解决什么问题

前置条件:硬件、固件与账号

硬件门槛

实测表明,当出口带宽 ≥200 Mbps 时,MT7621(880 MHz 双核)即可跑满 WireGuard,但开启 TCP+TLS 混淆后吞吐会跌到 120 Mbps 左右。若家庭带宽 ≥500 Mbps,建议选用 ARM A53 四核以上机型,例如 NanoPi R5S、Raspberry Pi 4,并开启 flow-offload 硬件加速。

固件版本

以下步骤基于 OpenWrt 22.03 分支,内核 ≥5.10;若使用 immortalwrt、FriendlyWrt 等衍生版,只需保证 nftables 可用即可。低版本(19.07 及以前)采用 iptables,命令略有差异,建议先升级再操作,以免规则冲突。

快连账号与订阅

快连提供两种订阅格式:通用 WireGuard 配置与自研 QuickUDP 节点。透明代理场景下,WireGuard 兼容性最好,且可直接导入 /etc/wireguard/,因此下文以 WireGuard 为例;若你购买的是仅支持 QuickUDP 的套餐,需要额外运行官方 Linux 客户端,CPU 开销会再上浮 5%—7%。

方案A:纯WireGuard+nftables,最简路径

1. 安装必要软件包

opkg update
opkg install wireguard-tools kmod-wireguard nftables-json

若 flash 空间吃紧,可跳过 nftables-json,只装 nftables;但后续调试会缺少 json 输出,不方便排障。

2. 导入 WireGuard 配置

把快连后台下载的 .conf 重命名为 /etc/wireguard/kuailian.conf,并修改两项:ListenPort 留空,MTU 建议 1420(低于宽带 PPPoE 默认 1480)。然后执行:

wg-quick up kuailian

若看到 peer 握手成功(latest handshake 有秒数),说明链路已通。

3. 编写 nftables 规则

新建 /etc/nftables.d/99-kuailian.nft,内容如下:

#!/usr/sbin/nft -f
add table inet kuailian
add chain inet kuailian prerouting { type filter hook prerouting priority 0; }
add chain inet kuailian mangle { type route hook output priority -150; }
# 绕过局域网与保留地址
add set inet kuailian bypass { type ipv4_addr; flags interval; elements { 10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16, 127.0.0.0/8 } }
# 重标记需要代理的报文
add rule inet kuailian prerouting ip daddr != @bypass ip protocol { tcp, udp } mark set 0x1
# 让标记流量走 WireGuard 路由表
add rule inet kuailian mangle mark 0x1 ip daddr != @bypass oifname "kuailian" accept

保存后执行 service nftables reload,无报错即生效。

4. 策略路由

编辑 /etc/iproute2/rt_tables,新增一行:

100 kuailian

然后在 /etc/rc.local 追加:

ip rule add fwmark 0x1 table kuailian
ip route add default dev kuailian table kuailian

重启后,局域网所有非本地流量将自动走 WireGuard 隧道,而路由器自身管理流量仍走 WAN,方便远程维护。

方案B:QuickUDP 官方客户端 + redsocks,备用通道

当运营商对 UDP 高频流量进行间歇丢包时,WireGuard 吞吐会剧烈抖动。此时可让快连 Linux 客户端运行在 TCP+TLS 模式,再通过 redsocks2 把 TCP 流量转成 SOCKS5,实现“TCP 走隧道、UDP 直连”的混合策略。

1. 下载并运行官方二进制

截至当前的最新版本提供静态链接的 x86_64 与 armv7l 二进制,下载后放 /usr/bin/kuailian,赋可执行权限即可。首次运行会生成 /etc/kuailian/token.json,把订阅 Token 写入后重启服务。

2. 安装 redsocks2

opkg install redsocks2

配置文件 /etc/redsocks.conf 示例(关键字段):

redsocks {
 local_ip = 0.0.0.0;
 local_port = 8138;
 ip = 127.0.0.1;
 port = 1080;  # 快连本地 SOCKS5 端口
 type = socks5;
}

3. nftables 重定向 TCP

在 99-kuailian.nft 里,把第 4 步的 mark 规则改成仅对 tcp 生效:

add rule inet kuailian prerouting ip daddr != @bypass ip protocol tcp mark set 0x1

然后新增一条 DNAT:

add rule inet kuailian prerouting ip daddr != @bypass ip protocol tcp redirect to :8138

这样只有 TCP 被 redsocks2 接管,UDP 保持直连,适合“游戏+视频”混合场景;经验性观察:晚高峰 YouTube 4K 缓冲时间从 4 秒降到 1 秒以内,游戏延迟稳定在 60 ms 左右。

3. nftables 重定向 TCP
3. nftables 重定向 TCP

监控与验收:三项指标判断“是否跑通”

1. 握手与路由表

执行 wg show 若 latest handshake 持续更新,且 ip route get 8.8.8.8 mark 0x1 返回的下一跳为 kuailian 接口,说明策略路由生效。

2. DNS 泄露检查

在局域网 PC 运行 nslookup myip.quicklink.com,若返回的 IP 与快连节点一致,且不是本地运营商 IP,则 DNS 未泄露;若出现本地 IP,需在 OpenWrt DHCP/DNS 里把 53 端口重定向到远程 DNS,例如:

add rule inet kuailian prerouting ip daddr != @bypass ip protocol udp th dport 53 redirect to :5353

其中本地 5353 运行 dnsmasq,上游填写 1.1.1.1 或快连自研 DoH。

3. 吞吐与 CPU 占用

用 iperf3 测速,单线程目标 ≥ 出口带宽的 80%;同时用 htop 观察 sirq,若持续 >50%,说明路由器性能瓶颈,可关闭流量统计或开启 flow-offload。

例外与分流:哪些流量不该走隧道

国内网银、企业 privacy tool、直播推流等场景对源 IP 有强校验,一旦走海外节点会触发风控。可在 nftables 的 bypass 集合里追加域名或 IP 段,例如:

add element inet kuailian bypass { 113.105.0.0/16, 23.45.67.89 }

若需按域名动态分流,可安装 dnsmasq-china-list,每周自动更新国内 IP 列表,然后写脚本把结果注入 nftables 集合。

故障排查:现象→原因→验证→处置

现象可能原因验证命令处置
局域网无法上网WireGuard 握手失败wg show检查 Token 是否过期;换节点
部分 App 提示代理DNS 泄露nslookup重定向 53 端口到远程 DNS
CPU 软中断飙高未开 flow-offloadcat /proc/interruptsethtool -K wan gso on;开启 offload

适用/不适用场景清单

  • 适用:多人合租、智能家居、公司分部;出口带宽 ≤1 Gbps;有基本 Linux 命令行能力。
  • 不适用:需要审计员工行为的企业(无法记录 URL);出口 >2 Gbps 且预算有限;法规要求本地留存日志。

最佳实践12条(检查表)

  1. 升级至 OpenWrt 22.03+,内核 ≥5.10。
  2. 优先选 WireGuard 节点,CPU 占用最低。
  3. Token 放 /etc/kuailian/,权限 600。
  4. 每周更新国内 IP 列表,防止网银风控。
  5. 开 flow-offload,sirq>50% 即降频。
  6. DNS 重定向到远程,防止泄露。
  7. mark 值用 0x1,避免与 QoS 冲突。
  8. 备份 /etc/nftables.d/,升级固件后还原。
  9. 单线程测速 <80% 带宽即换节点。
  10. 开启 Kill Switch,防止掉线暴露。
  11. 每月清理 /var/log,防止 flash 写爆。
  12. 远程改配置前,先开 SSH 跳板,防止锁死。

版本差异与迁移建议

OpenWrt 21→22 最大的变化是防火墙从 iptables 切到 nftables,旧版用户若直接复制 rules 文件会失效。建议先在 22.03 虚机里跑通,再导出 /etc/nftables.d/,回刷到实体机;同时把旧 iptables 规则注释掉,避免双栈冲突。

FAQ(FAQPage Schema)

透明代理后 NAS 无法远程唤醒?

Magic Packet 使用局域网广播,被 mark 规则排除即可。把 NAS 的 IP 加入 bypass 集合,并确保 UDP 9 端口不走隧道。

升级固件后规则丢失?

OpenWrt 默认不保留 /etc/nftables.d/。把自定义规则放在 /etc/sysupgrade.conf 清单里,或在 LuCI“备份/刷写”界面手动勾选。

IPv6 是否需要额外配置?

快连 WireGuard 目前仅分配 /128 地址,IPv6 流量默认走原线路。如需完全代理,可把 bypass 集合改为 ipv6_addr 类型,并添加相应的 ip -6 rule。

收尾:下一步行动

完成上述步骤后,你的局域网设备已具备“零配置”出海能力,同时保持国内流量直连。建议先跑一周观察 CPU 与带宽曲线,确认稳定后再把家人手机、NAS、电视全部纳入。若后期带宽升级到 1 Gbps 以上,可评估 x86 软路由或 RK3588 方案,把性能余量留给未来 Web3、4K 云游戏等新场景。