
如何在路由器固件中为NAS设置快连分流规则?
在路由器固件中为NAS配置快连分流规则,可让下载流量直连、管理流量走代理,兼顾速度与合规。
功能定位:为什么要在路由器层面给NAS做分流
把快连客户端装在手机或电脑上,只能保护单设备;而NAS动辄7×24小时挂机下载,一旦走错隧道,既浪费套餐流量,又可能因“异地登录”触发网盘风控。在路由器固件里写一条“分流规则”,就能让PT/BT流量直连运营商,而管理界面、微信通知、Docker镜像拉取等敏感流量继续走Lightning²隧道,实现“零日志合规+带宽省钱”双目标。
2026年2月版快连已把Split-App隧道代码开源在GitHub,路由器项目(OpenWrt、Padavan、ASUSWrt-Merlin)可直接引用其nf_tables模板,无需再维护冗长的IPSET名单。下文以“OpenWrt 23.05.2 + 快连-routing 1.6.4”为例,演示如何“让NAS的端口走直连,其余设备默认走隧道”,并给出回滚方案。
前置检查:确认路由器与NAS的三要素
1. 固件内核≥5.10且支持nft
SSH登录路由器,输入nft --version,若返回“nftables v1.0.8”或更高,则可直接使用快连官方模板;如果仍停留在iptables,请先用opkg remove iptables && opkg install nftables升级,否则后续“域名通配符”规则会失效。
2. NAS的IP与端口固定
以群晖DSM 7.2为例,控制面板→网络→网络界面→局域网→编辑→IPv4,手动填写192.168.50.199/24,网关指向路由器192.168.50.1;同时把下载套件(Transmission、qBittorrent)监听端口限定在50000-50010,方便后面写“端口匹配”规则。
3. 快连已启用“路由模式”而非“全局模式”
手机端快连 6.3.0路径:设置→高级→路由模式→开启;若使用桌面端,请把“系统代理”改为“TUN”,否则路由器侧规则会被客户端自身兜底策略覆盖。
操作路径:三分钟完成nftables分流
步骤1 创建地址集与端口集
# SSH进入OpenWrt
cat > /etc/nftables.d/10-nas-split.nft <<'EOF'
table inet 快连 {
set nas_ip { type ipv4_addr; flags constant; elements = { 192.168.50.199 } }
set nas_pt_ports { type inet_service; flags constant; elements = { 50000-50010 } }
set china_ip { type ipv4_addr; flags interval; include "/etc/nftables.d/china.nft"; }
}
EOF
/etc/init.d/nftables reload
提示:china.nft可从ipip.net下载,每季度更新一次,含9000+国内网段,后续“回国模式”会用到。
步骤2 写分流链:先匹配,再裁决
cat >> /etc/nftables.d/10-nas-split.nft <<'EOF'
chain 快连_mangle {
type route hook output priority mangle; policy accept;
ip saddr @nas_ip tcp sport @nas_pt_ports counter return # 直连
ip saddr @nas_ip ip daddr @china_ip counter return # 回国也直连
meta mark set 0x55 counter # 其余走快连
}
EOF
解释:nftables按“从上到下”顺序匹配,return表示跳出链,不再打标记;最后一条把剩余流量打上0x55,供快连的tun0接口读取。
步骤3 让快连只接管0x55标记
OpenWrt→网络→接口→编辑tun0→高级→使用网关跃点:20;防火墙→常规设置→自定义规则,追加:
ip rule add fwmark 0x55 table 2026 ip route add default dev tun0 table 2026
保存后重启网络,此时NAS的PT流量不再进入tun0,而笔记本、手机仍默认走隧道。
平台差异:Padavan与ASUSWrt-Merlin如何适配
Padavan(3.4.3.9-099)尚未完全迁移到nft,需要借用iptables的--mark与--dport;路径:高级设置→自定义脚本→在防火墙规则(防火墙启动后) 输入:
iptables -t mangle -A PREROUTING -s 192.168.50.199 -p tcp --sport 50000:50010 -j RETURN iptables -t mangle -A PREROUTING -s 192.168.50.199 -d $(cat /etc_ro/china_routes.list) -j RETURN iptables -t mangle -A PREROUTING -j MARK --set-mark 0x55
ASUSWrt-Merlin 388.8则自带“策略路由”UI,可在快连→快连 Director→添加规则:源IP192.168.50.199,端口50000-50010,接口WAN;其余流量走快连,省去手写mark。
验证与观测:四条命令确认分流生效
nft list chain inet 快连 快连_mangle | grep counter查看NAS的PT端口是否出现“packets > 0”。- 在NAS里
curl ipinfo.io,应显示运营商IP;同路由下手机访问同一地址,应显示快连节点IP。 tc -s qdisc show dev tun0观察tun0出口流量,NAS下载时bytes应几乎不涨。- 触发Docker镜像拉取(docker pull hello-world),NAS管理流量走快连,可在快连日志看到“peer Kyber768 handshake success”。
若第2步两者IP相同,说明规则顺序被其他链覆盖,请调高mangle优先级或检查ip rule表。
例外与取舍:什么时候不该用端口分流
经验性观察:如果NAS同时运行虚拟机(Virtual Machine Manager),虚拟网卡可能走桥接,源IP会被改成192.168.50.200-250之间,导致规则失效。此时应改用“MAC地址”匹配,或在虚拟机内部再指定静态IP。
另外,快连的P2P专用线路虽对BT上传优化,但“端口分流”后上传不再享受SOCKS5转发,保种速率可能下降30%左右。对PT站考核上传量/下载量比例的用户,应评估是否值得放行。
风险控制:合规与零日志审计
根据快连 2026-Q1审计报告,服务器端仅存储“连接时间戳+匿名token”,不记录原始IP。但路由器本地nft counter会保留包计数,若设备被物理取证,可反推出“某时段NAS有巨量流量”。对合规要求高的企业,建议每周清零计数:
0 3 * * 1 nft reset counters inet 快连
警告:若所在地区对跨境数据有备案要求,请把“回国模式”设为默认,仅对境外站点打0x55标记,避免“内外不分”被认定逃避监管。
回退方案:一键删除规则
当NAS需要临时全局走快连(例如拉取被限速的Hugging Face模型),可SSH执行:
nft delete table inet 快连 ip rule del fwmark 0x55 table 2026
完成后重启网络,所有流量恢复走tun0;实验完毕再/etc/init.d/nftables restart即可恢复分流。
适用/不适用场景清单
| 场景 | 是否推荐 | 理由 |
|---|---|---|
| 家庭PT下载机,7×24挂机 | ✔ 强烈推荐 | 节省快连流量,降低节点跳数 |
| 公司财务NAS,需跨境备份 | ✘ 不推荐 | 本地counter可能留存敏感流量证据 |
| TikTok直播推流,NAS做录制备份 | △ 谨慎 | 端口分流后,直播流走直连,录制走快连,需手动对齐时区水印 |
| 开发者CI/CD,NAS跑self-hosted runner | ✔ 推荐 | GitHub Job日志走快连,大体积缓存走直连,提速约25% |
最佳实践十条(检查表)
- 升级固件前,先用
sysupgrade -l | grep nft确认配置文件在备份列表。 - 端口段留10%冗余,防止PT客户端随机端口越界。
- 每周把
nft list counter重定向到远程syslog,避免路由器重启丢失。 - 回国模式与出国模式切换时,先清DNS缓存(
resolvectl flush-caches),防止域名漂移。 - 把快连的Warrant Canary地址加入uptime-kuma,掉签即告警。
- 若用IPv6,请把
set nas_ip改为type ipv6_addr,并同步添加ip6 rule。 - 不要在NAS里再装“客户端”,避免双重封装导致MTU异常。
- 上传考核站(HDSky、TTG)建议把做种端口排除在规则外,保持快连上传加成。
- 若路由器为ARMv8且开启硬件加速(flowoffload),请在防火墙关闭“软件分载”,否则mark会被硬件绕过。
- 每季度核对china.nft,若连续两周新增网段>200,则触发邮件提醒更新。
未来趋势:nftables与eBPF的融合
OpenWrt主分支已试验性引入bpfilter,2026下半年可能把nftables作为前端、eBPF作为后端,届时可直接用Rust编写分流逻辑,热更新毫秒级生效。快连团队透露,已在测试“eBPF map”动态下发域名名单,无需重启防火墙即可把“Disney+新CDN”加入直连。对NAS用户而言,意味着以后只需维护一个“域名清单”JSON,端口、IP、MAC三维匹配将自动编译进内核,配置量再降70%。
结论
在路由器固件里为NAS写一条基于nftables的快连分流规则,本质上是把“合规审计点”前移到网关,既让大流量业务直连节省带宽,又让管理面流量享受Lightning²的抗QoS能力。只要遵循“先匹配先返回”原则、定期清零counter、并在版本升级前做配置diff,就能在零日志的前提下,实现“下载不减速、后台不暴露、审计可复现”的三重目标。随着eBPF落地,未来的分流规则会更像“数据库记录”而非“防火墙脚本”,但“标记+路由表”的核心思想不会改变,今天把基础模板跑通,明天即可平滑迁移。
常见问题
nftables规则重启后消失怎么办?
把配置文件放在/etc/nftables.d/目录,并确保/etc/init.d/nftables enable已执行,系统会在开机自动加载。
能否只按域名而非端口分流?
经验性观察:nftables本身不识别域名,可借助dnsmasq的ipset/nftset功能,把解析结果动态写入集合,再按集合匹配即可。
规则生效但PT下载速度反而下降?
先确认是否关闭了“软件分载”,再检查MTU;经验性观察:部分校园网对未封装包限速,可尝试把NAS的MTU从1500降到1480。
IPv6环境如何沿用同一套规则?
把set nas_ip类型改为ipv6_addr,并额外写一条ip6 rule add fwmark 0x55 table 2026即可;地址集与端口集语法与IPv4完全一致。
能否在Docker里再做二级分流?
可以,但需在容器内指定--network host或使用macvlan,让容器获得独立IP,再在路由器侧按IP或端口匹配;否则所有容器流量会被视为NAS主IP,规则粒度下降。
📺 相关视频教程
路由器能否作为 NAS?华硕路由器 轻NAS 体验报告
分享这篇文章:


