
家庭开源网关 02|主路由、旁路由与双重 NAT 的拓扑设计
比较主网关、旁路由、双重 NAT 与职责解耦拓扑,解释各自的数据路径、故障边界、回程与 IPv6 问题,并给出迁移场景下的选择方法。
家庭开源网关 02|主路由、旁路由与双重 NAT 的拓扑设计
家庭开源网关系列 · 第 2/8 篇
同一台 OpenWrt 设备,放在所有终端出口时是主网关,挂在现有路由器旁边时可能被称为“旁路由”,接在光猫路由模式之后又会形成双重 NAT。设备没有变,真正改变的是数据包路径、故障边界和谁负责 DHCP、DNS 与防火墙。
家庭网关拓扑首先要让每项职责都有一个明确负责人,设备数量反而是次要问题。
长期结构:接入、路由、交换和无线解耦

图:网关只承担网络核心职责,AP、服务器和交换机可以独立升级或重启。
推荐的长期路径是:
运营商接入 / 桥接光猫
↓ WAN
开源主网关
↓ LAN
交换机
├── 无线 AP
├── 家庭服务器 / NAS
└── 有线终端
这种结构的价值在于故障隔离。AP 重启不会影响有线终端,服务器升级不会中断基础 DNS 与路由,交换机扩容也不会改变出口策略。
职责解耦并不等于每项功能都必须购买一台独立设备。关键是逻辑边界清楚:路由和 DHCP 只有一个主控制点,AP 只做二层接入,应用服务即使与网关暂时共用硬件,也应拥有独立备份和可替换路径。设备可以合并,责任不能含糊。
设计时可以先填写一张“控制面归属表”:
| 职责 | 建议唯一负责人 | 需要记录的状态 |
|---|---|---|
| 上网认证 | 光猫或主网关 | PPPoE/IPoE、业务 VLAN、MTU |
| 默认网关与 NAT | 主网关 | LAN/WAN 地址、路由表、IPv6 PD |
| DHCP | 主网关 | 地址池、租期、静态租约 |
| DNS 入口 | 主网关上的唯一入口 | 上游、缓存、分流和回退链路 |
| Wi-Fi | AP | SSID、加密、信道、VLAN 映射 |
| 存储与应用 | NAS/服务器 | 数据备份、容器和恢复顺序 |
如果同一职责在表中出现两个“主负责人”,就应提前解释它们如何协作。解释不清的地方,通常就是未来最难定位的故障点。
四种常见拓扑
| 拓扑 | 流量路径 | 优点 | 主要代价 |
|---|---|---|---|
| 一体机 | 接入设备直接连接终端 | 简单、设备少 | 接入、路由、交换、Wi-Fi 强耦合 |
| 主网关串联 | 所有终端经过独立网关 | 路径清晰,DNS、代理和防火墙统一 | 网关故障会影响全屋 |
| 旁路由 | 主路由保留,部分流量交给辅助设备 | 改线少、便于逐台测试 | 回程、DNS、IPv6 与故障切换复杂 |
| 双重 NAT | 上游与下游各执行一次 NAT | 部署快、旧网络可保留 | 两个子网,端口映射和设备发现复杂 |
OpenWrt 官方文档也把设备作为路由器、交换机、网关和双重 NAT 路由器的差异放在数据路径中解释,而不是按硬件外形划分。
主网关为什么最容易长期维护
主网关是局域网终端的默认网关,通常也是 DHCP 和 DNS 的入口。所有出站连接自然经过它,因此连接跟踪、路由标记、TUN/TPROXY、DNS 分流和防火墙的正向与回程路径容易保持一致。
双网口设备很适合这一结构:WAN 接上游,LAN 接交换机。只要主网关工作,所有接在下游 AP 和交换机上的终端就共享同一套策略。
代价也很直接:它成为基础网络的单点。更实用的处理方式,是保留可快速启动的最小备用系统,并让服务器和存储独立于网关。
“旁路由”实际可能是四种不同设计
“旁路由”不是严格的协议术语,至少可能指:
- 终端手工把辅助设备设为默认网关。
- 主 DHCP 为特定设备下发不同的网关或 DNS。
- 主路由通过静态路由或 PBR 把特定流量送往辅助设备。
- 辅助设备只提供 DNS 或代理服务,并不承担三层路由。
这些方案的共同问题是必须解释回程。去程经过辅助设备、回程却直接返回主路由时,连接状态和透明代理可能失效;IPv4 已进入代理而 IPv6 仍从主路由直出,也会产生难以察觉的策略绕行。
旁路方案适合实验、逐台迁移和无法调整上游路由的环境。它可以稳定运行,但所需的路由与 DNS 知识通常高于直接使用主网关。
四种旁路实现分别会坏在哪里
终端手工改网关最容易理解,但每新增一台设备都要重复配置,手机切换网络后也可能丢失设置。DHCP 按设备下发不同网关适合集中管理,前提是主路由支持按客户端分配选项,并且租约更新后终端确实采用新参数。
主路由通过静态路由或 PBR 把流量送往旁路节点时,必须保证旁路节点知道回到原客户端网段的路径。若旁路节点再次 NAT,回程问题会被掩盖,但排障和端口映射更复杂;若不 NAT,则上游路由表必须完整。
只提供 DNS 或显式代理的旁路服务影响最小。它不替换默认网关,终端仍由主路由出网;故障时可以把 DNS 或代理设置恢复到主网关。这种模式适合广告过滤、局域网解析或少数需要显式代理的设备,但不能自动获得“所有流量都受策略控制”的效果。
无论采用哪一种,都要分别测试 IPv4 与 IPv6。旁路规则只接管 IPv4,而终端优先通过 IPv6 访问外网,是家庭透明代理最常见的策略绕行之一。
双重 NAT 适合作为迁移阶段
一个实用的测试结构是:
互联网
↓
上游光猫路由:192.168.1.0/24
├── 原 Wi-Fi:继续直连
└── 下游 OpenWrt WAN:从上游获取地址
↓
OpenWrt LAN:192.168.50.0/24
↓
测试电脑 / 新 AP
这样可以在不影响原网络的情况下验证 DHCP、DNS、代理、重启和温度。缺点是端口映射要处理两层,投屏与发现协议不能自然穿过两个广播域,游戏 NAT、P2P 和远程访问也会更复杂。
因此双重 NAT 很适合过渡和应急,不适合作为默认的最终结构。需要长期保留时,至少应明确两个网段、两个 Wi-Fi 的用途,并避免终端在两边自动切换。
可直接落地的双 Wi-Fi 过渡模板
原网络和测试网络可以这样命名与分工:
上游光猫/旧路由 Wi-Fi:Home-Direct
└── 维持家人日常上网和应急直连
下游 OpenWrt:192.168.50.0/24
└── 新 AP Wi-Fi:Home-Policy
└── 用于测试代理、DNS、VLAN 与 IPv6
两个 SSID 应使用不同名称,测试终端关闭自动加入旧网络,避免测到一半悄悄切回上游。Home-Policy 中的终端会经历两次 NAT;Home-Direct 中的终端则绕过 OpenWrt。做性能对比时要记录终端连接的是哪一个 SSID,否则结果没有可比性。
这个模板还有一个明确退出条件:OpenWrt 连续运行稳定,拨号或 WAN 获取地址正常,DNS、IPv6、代理和回滚都完成验证后,再决定是否桥接光猫并把 Home-Policy 升级为主网络。过渡网络不应因为“暂时能用”而永久失去结束标准。
双重 NAT 下的入站连接为什么更复杂
假设内部 NAS 位于 192.168.50.20,OpenWrt WAN 从上游取得 192.168.1.10。要从公网 IPv4 访问 NAS,数据包至少需要经过两次明确转发:
公网端口
→ 上游光猫/旧路由:转发到 192.168.1.10
→ OpenWrt:再转发到 192.168.50.20
→ NAS 服务与主机防火墙
上游设置 Exposed Host 可以减少第一层逐端口配置,但 OpenWrt 仍处在 NAT 后面,而且 WAN 防火墙必须承担完整入站防护。如果运营商侧还有 CGNAT,即使家庭两层都配置正确,公网连接仍然到不了上游设备。
IPv6 又是另一条路径。终端可能从上游或下游获得全局地址,通信不经过 IPv4 NAT;如果只检查了 IPv4 端口映射和代理,IPv6 可能绕过预期策略。双重 NAT 环境必须分别画出 IPv4 与 IPv6 路径,不能用一次网页访问证明两者都正确。
投屏和设备发现的问题也不是简单的“端口没开”。mDNS、SSDP 等依赖广播或组播,同一服务的控制连接和发现报文可能采用不同路径。两个 NAT 后的广播域默认不会互相转发,强行开放大量端口也无法自动恢复发现机制。
是否改光猫桥接
桥接并不是部署开源网关的前置条件。判断可以简化为三步:
- 入户是否已经是普通以太网。如果是,新网关可以直接接管 WAN。
- 上游是否已经桥接。如果是,不需要再次调整。
- 上游是否正在做 NAT,而你是否希望新网关成为唯一默认网关。只有同时满足这一点时,改桥接才直接解决问题。
如果暂时不能桥接,可以先保持双重 NAT。若上游支持“Exposed Host/DMZ 主机”,可以把下游 OpenWrt 设为暴露主机以简化入站转发,但这不等于真正桥接,而且意味着 OpenWrt 的 WAN 口会承接更多入站流量,防火墙规则必须保持严格。
按目标选择拓扑
| 目标 | 推荐起点 |
|---|---|
| 先验证新设备,不影响家人上网 | 双重 NAT 测试 |
| 只给少量设备提供代理或 DNS | 轻量旁路服务 |
| 全屋统一 DNS、代理、IPv6 与防火墙 | 独立主网关 |
| IoT、访客和服务器严格隔离 | 主网关 + 管理型交换机 + VLAN AP |
| 网关同时运行容器和 NAS | 谨慎评估单点,并准备物理备用网关 |
还可以用三问快速排除不合适的方案:所有终端是否都必须经过统一策略?如果是,旁路服务不应成为最终默认;是否能解释回程和 IPv6?如果不能,先选择物理串联主网关;上游接入是否允许调整?如果暂时不允许,使用双重 NAT 测试,但给过渡阶段设定退出条件。
三套可复用的拓扑模板
稳定千兆家庭:桥接光猫或以太网入户 → 双千兆主网关 → 千兆交换机 → Wi-Fi 6 AP 与独立服务器。网关运行基础路由、一个代理管理器和必要 VPN,服务器维护不影响上网。
2.5G 内网与 NAS:双 2.5G 主网关 → 2.5G 交换机 → NAS/PC/AP。NAS 与 PC 同 VLAN 时在交换机内转发,不要把所有局域网流量强制绕过网关;需要隔离时再让跨 VLAN 流量进入网关。
进阶隔离家庭:主网关通过 Trunk 连接管理型交换机和 VLAN AP,可信、IoT、访客、服务器与管理网络独立。先完成访问矩阵,再写防火墙;默认拒绝跨 VLAN,只开放实际需要的方向和端口。
网关与服务器合并时要计算故障半径
x86 主机或带 NVMe 的开发板可以同时运行 OpenWrt、Docker 和轻量 NAS。这会减少设备、电源和布线,但也把更多服务放进同一个故障域:系统升级、磁盘损坏、容器内存泄漏或宿主机维护,都可能同时中断上网与应用。
如果确实采用一体化,至少满足以下条件:
- 关键数据不只保存在网关系统盘;
- Docker 或 NAS 停止后,基础 WAN、LAN、DHCP 和 DNS 仍能运行;
- 存储挂载失败不会阻塞网关启动;
- 虚拟化环境断电恢复后,虚拟交换机和 OpenWrt 虚拟机可以自动启动;
- 家中保留一台可迅速接管的物理路由器或备用系统盘。
对于 24×7 家庭网络,减少一台设备带来的整洁感,通常不值得交换一个无法快速恢复的单点故障。
用六项测试验收拓扑
完成改线后,不要只打开网页确认“能上网”。至少验证:
- 所有终端获得预期网段、默认网关和 DNS。
- 同一广播域只有预期的 DHCP 服务器。
- 有线终端与 NAS 的局域网吞吐符合端口协商速率。
- 关闭代理后仍有明确的基础上网路径。
- 重启 AP 不影响有线网络,停止服务器不影响基础路由。
- 外网不能直接访问 LuCI、SSH、SMB 等内部管理服务。
再做一次故障演练:拔掉新网关,按记录恢复旧路由与原网线,确认家庭网络能在可接受时间内恢复。拓扑只有在正常路径和退路都可解释时,才算真正完成。
家庭网络的长期稳定来自路径可解释:每个终端应当知道默认网关是谁,每个网段应当知道 DHCP 在哪里,每条策略都应当覆盖正向、回程和 IPv6。
下一篇进入软件层,比较 OpenWrt、ImmortalWrt、iStoreOS,以及代理、DNS、VPN 与 PBR 的组件边界。