整理日期:2026-08-11。 场景:上海电信光猫桥接 + 路由器 PPPoE 拨号 + 动态公网 IPv4(116.235.x.x)+ 原生 IPv6(240e:)。 主路由:华为 TC7102(HarmonyOS 11.0.5.15),LAN 192.168.3.1。 旁路由:NAS 跑飞牛OS(Debian 系),Docker 方案。

0. 结论速览

  1. 方案选定:华为 TC7102 原厂固件不支持 DHCP 下发网关/DNS(模式2 走不通),必须用「主路由关 DHCP + 旁路由发 DHCP」方案(模式3),全屋自动生效,无需逐台设置
  2. 旁路由 = NAS:Docker 跑 sing-box(TUN 透明代理)+ dnsmasq(DHCP 服务),不用 OpenClash(那是 OpenWrt 专用插件,Debian 系用不了)
  3. 固定 IP 是必须的:主路由 DHCP 关闭后没有设备给 NAS 发地址,它必须静态自设;且它要把自己的 IP 作为网关/ DNS 下发给全屋(IP 一变化,全网网关失效)
  4. .2 这个数字没有特殊含义:只要同网段、不冲突、三处一致(NAS 网卡 IP = DHCP 下发网关 = 配置里的地址),随便选
  5. 代价:NAS 成为全屋网络单点——NAS 重启/代理挂 = 全屋断网,能接受才用
  6. 全程可逆:主路由 DHCP 开回去、防火墙开回去,10 分钟恢复原状

1. 架构

光猫(桥接) → 华为TC7102(PPPoE拨号, 192.168.3.1, DHCP关, IPv6关, 局域网防火墙关)
            ├─ NAS 192.168.3.2(静态IP)
            │    ├─ Docker: sing-box(TUN 模式透明代理, auto_route 自动接管路由+DNS劫持)
            │    └─ Docker: dnsmasq(DHCP 服务器: 网关/DNS → 192.168.3.2)
            └─ 手机/电脑/电视等:DHCP 由 NAS 分配,网关 = DNS = 192.168.3.2

网关有两个方向,别搞反:

  • 家里设备的网关 → NAS(192.168.3.2):流量先过代理
  • NAS 自己的网关 → 主路由(192.168.3.1):代理处理完交给真正出网的设备
  • NAS 的网关绝不能设成自己,否则路由死循环

2. 地址规划

地址段用途
192.168.3.1华为主路由
192.168.3.2NAS 旁路由(静态)
192.168.3.3 ~ .99其他静态设备(打印机、摄像头等)
192.168.3.100 ~ .254DHCP 分配池

静态地址统一放 .2~.99,与 DHCP 池错开,避免冲突。

3. 配置步骤

3.1 华为 TC7102 主路由侧

  1. 关闭 DHCP:后台「更多功能 → 网络设置 → 局域网 → DHCP服务器」→ 关闭
  2. 关闭局域网防火墙:智慧生活 App「安全防火墙 → 局域网防火墙」→ 关闭 (华为特有的坑:不关,旁路由的 DHCP 会被拦截,设备拿不到 IP)
  3. 关闭 IPv6:否则 IPv6 流量绕过代理直连,代理效果失效/半通
  4. 重启华为路由,设置才生效

3.2 NAS(飞牛OS)侧

  1. 网卡静态 IP:192.168.3.2/24,网关 192.168.3.1(DNS 先用 223.5.5.5 保证 NAS 自己能上网)
  2. Docker 部署 sing-box:TUN 模式,需要 privileged 权限,配置里开 auto_route(自动接管全屋路由 + DNS 劫持)
  3. Docker 部署 dnsmasq 发 DHCP:
    • 地址池:192.168.3.100 ~ 254
    • 网关(router):192.168.3.2
    • DNS(server):192.168.3.2
    • 勾选「唯一授权」(唯一 DHCP 服务器)和「强制」——不勾 iOS/部分设备会获取不到 IP
  4. (实测后决定)SNAT 规则:部分教程要求在防火墙加 iptables -t nat -I POSTROUTING -o eth0 -j MASQUERADE 不加的表现:科学上网正常但国内网站访问很慢/卡。先跑起来实测,卡再加

3.3 验证(实证步骤)

  1. 手机重连 WiFi,看「详情」里网关是否为 192.168.3.2
  2. 打开 ip138.com,出口 IP 应为代理节点 IP(国外流量);国内站点正常直连
  3. 测一次 NAS 重启,确认全屋断网后能自愈(dnsmasq/sing-box 容器设为开机自启)
  4. 全屋设备抽查 2~3 台(电视/平板等不太折腾的设备),确认自动生效

4. 风险与回退

风险影响应对
NAS 重启/代理容器挂全屋断网容器设开机自启;家人依赖时提前告知
飞牛系统更新/重装Docker 配置需重来配置脚本化保存,重装后一键恢复
NAS 跑重任务(下载/转码)全屋流量经 NAS 转发,可能有轻微影响家用一般无感,实测确认

回退(全程可逆):

  1. 华为路由 DHCP 开回去
  2. 智慧生活 App 局域网防火墙开回去
  3. 设备重连 WiFi → 恢复原状(10 分钟)

5. 常见问题排查

现象原因处理
设备拿不到 IP局域网防火墙没关智慧生活 App 关「安全防火墙 → 局域网防火墙」
iOS 设备拿不到 IP(其他正常)dnsmasq 缺「唯一授权/强制」DHCP 设置勾选两项后重启 dnsmasq
国内网站慢/打不开缺 SNAT 规则加 iptables -t nat -I POSTROUTING -o eth0 -j MASQUERADE
代理不生效但能上网网关没指向旁路由检查 DHCP 下发的网关是否为 192.168.3.2
部分设备直连IPv6 未关主路由关闭 IPv6
能 ping 通 IP、域名不通DNS 没走旁路由DHCP 里 DNS 指向 192.168.3.2

6. 备选方案(按折腾程度递增)

方案适用说明
客户端直装(Clash/sing-box)只有自己用手机/电脑装代理客户端,最简单最可逆
部分设备手动指网关少量设备要代理设备网络设置里手动把网关/DNS 改成 192.168.3.2,主路由 DHCP 保持开
旁路由全屋(本文方案)全家都要主路由关 DHCP,NAS 接管

7. 相关背景(本次改造上下文)

  • 光猫桥接 + 路由器 PPPoE 拨号:WAN 已拿到公网 IP 116.235.188.78(动态,重拨会变),IPv6 240e: 前缀正常
  • WAN/LAN 区分:WAN = 朝运营商的口(公网 IP 在这),LAN = 家里网段(192.168.3.x)
  • 光猫管理后台在 WAN 侧,从路由器内网访问不到;要进光猫后台需电脑直连光猫 LAN 口 + 手动静态 IP(贴纸上的网段),日常不需要
  • VLAN/IPTV:光猫桥接时已自动处理(上网/IPTV/语音分流),路由器无需配置;IPTV 机顶盒照旧插光猫 LAN 口
  • 注意:本方案关闭 IPv6 是有意的(保证全屋流量走代理);若以后需要 IPv6 直连 NAS,需单独评估
2026-08-11T00:00:00.000Z