DocsByRcDocsByRc
旁路由配置教程
旁路由 · Bypass Router

旁路由配置教程

双路由旁路由:代理分流模式(多 WiFi 对应多地区节点)+ VLAN 直通模式(特定 WiFi 直连光猫拿干净 IP),两种模式可共存。

适用双路由家庭 / OpenWrt
难度中等
阅读—

旁路由有两种工作模式,可以单独使用,也可以叠加在同一台设备上:

模式 A:代理分流(双路由)

旁路由只做 WiFi 发射,所有流量经主路由 OpenClash,按 WiFi 子网(MR01 / TKUSBD / TKUSGR / XMYH)分流到不同国家节点。适合主路由性能强、有多地区代理需求的家庭。

模式 B:VLAN 直通(纯净 WiFi)

特定 WiFi(如 SSID"8.0纯净")通过 VLAN 8 隧道直连光猫,绕过主路由和旁路由的一切代理和路由,拿光猫分配的干净 IP(192.168.1.x)。适合防关联、游戏、需要干净 IP 的设备。

模式 B 是叠加在模式 A 之上的,不是二选一。旁路由照常跑 4 个代理 WiFi(模式 A),再单独加一个 SSID 走 VLAN 直通(模式 B)。VLAN 8 在二层隔离,两种流量互不干扰。

前置总检查

光猫 DHCP(模式 B 必需):光猫必须工作在路由模式(光猫自己拨号),且光猫后台的 DHCP 已开启、有空闲 IP 可分配。请先登录光猫管理页面确认。如果光猫是桥接模式(由你自己的路由器拨号),光猫没有 DHCP 服务,模式 B 配完后 WiFi 会一直卡在"正在获取 IP"。

其他准备工作(网线、SSH 工具、WiFi 子网)见第 2 节。

第一部分 · 模式 A:双路由代理分流

本教程解决以下场景:你有两台路由器,主路由性能强但没有 WiFi,旁路由有 WiFi 但性能差。目标是让所有代理逻辑由主路由负责,旁路由只负责发射无线信号,且每个 WiFi 子网走不同的代理节点。

改造前后拓扑对比

【改造前 — 错误】 旁路由直接接光猫,流量绕过主路由 光猫 ├── 主路由 WAN (192.168.6.1) ← OpenClash,但旁路由流量不经过这里 └── 旁路由 WAN (192.168.1.159) ← 直接上网,代理失效 ❌ 【改造后 — 正确】 旁路由串联在主路由下面 光猫 └── 主路由 WAN (192.168.6.1) ← OpenClash 处理所有流量 ✅ └── 主路由 LAN ──网线──→ 旁路由 LAN 口 └── WiFi 各子网 → 对应代理节点
网线必须接旁路由的 LAN 口,不能接 WAN 口。接错会导致双重 NAT,流量路径混乱。

各 WiFi 子网与目标节点

MR01
192.168.9.0/24
🇯🇵 日本节点
TKUSBD
192.168.11.0/24
🇺🇸 美国节点
TKUSGR
192.168.22.0/24
🇭🇰 香港节点
XMYH
192.168.8.0/24
🇸🇬 新加坡节点

开始操作前,确认以下事项:

检查项当前状态
主路由 LAN192.168.6.1
旁路由 LAN192.168.5.1(改造后变为 192.168.6.2)
旁路由 WAN192.168.1.159(光猫分配,改造后不再使用)
额外网线需要一根,用于连接主路由 LAN → 旁路由 LAN
SSH 工具PuTTY / Termius / 终端均可
本教程假设旁路由上 MR01 / TKUSBD / TKUSGR / XMYH 四个 WiFi 及其子网已经建好。如果还没有,请先在旁路由上:建无线接口 → 为每个 WiFi 建子网接口 → 开启各子网 DHCP,再继续本教程。
建议先通过有线连接到主路由进行操作,因为操作过程中旁路由 WiFi 会短暂断开。
1
拔掉旁路由 WAN 口的网线

原来插在光猫上的那根,拔掉,WAN 口从此空着不用。

2
拿一根新网线,一端插主路由任意 LAN 口

主路由上任意一个 LAN 口都可以。

3
另一端插旁路由任意 LAN 口(不是 WAN 口!)

旁路由上任意一个 LAN 口均可,WAN 口保持空着。

✅ 正确接法: 主路由 LAN 口 ──网线──→ 旁路由 LAN 口 ❌ 错误接法(不要这样): 主路由 LAN 口 ──网线──→ 旁路由 WAN 口 ← 会形成双重 NAT

3.1 修改旁路由 LAN IP

进入旁路由管理界面:网络 → 接口 → LAN → 编辑

配置项修改值
IPv4 地址192.168.6.2(改到主路由同网段)
IPv4 子网掩码255.255.255.0
IPv4 网关192.168.6.1(指向主路由)
DNS 服务器192.168.6.1
保存后旁路由管理地址变为 192.168.6.2,原来的 192.168.5.1 将无法访问!

3.2 关闭旁路由 LAN 的 DHCP

在同一编辑页面,找到「DHCP 服务器」选项卡,勾选「忽略此接口」。

只关闭 LAN 的 DHCP,各 WiFi 子网(MR01 / TKUSBD / TKUSGR / XMYH)的 DHCP 保留不动,各子网仍由旁路由分配 IP。

3.3 删除或禁用 WAN 接口

进入 网络 → 接口 → WAN,点击「停止」后编辑,将协议改为「不配置」,或直接删除。

3.4 关闭 NAT 伪装(关键步骤)

这一步让各 WiFi 子网的源 IP 能透传到主路由,否则主路由只能看到来自 192.168.6.2 的流量,无法按子网分流。

方法一:Web 界面

网络 → 防火墙 → 区域 → 找到 lan 区域 → 编辑 → 取消勾选「IP 动态伪装(Masquerade)」→ 保存并应用

方法二:SSH 命令

BASH
# SSH 登录旁路由后执行
# ① 先确认 lan 所在的 zone 下标(在输出里找 name='lan' 的那一项)
uci show firewall | grep -B1 -A1 "name='lan'"

# ② 把下面 [1] 换成上一步看到的 lan zone 实际下标,再执行
uci set firewall.@zone[1].masq='0'
uci commit firewall
/etc/init.d/firewall restart
必做:先执行 uci show firewall 确认 name='lan' 的 zone 下标(不一定是 [1],因配置而异),再把命令里的下标换成实际值。下标写错会关掉别的 zone 的伪装,导致断网。

主路由需要知道旁路由的各子网通过哪个下一跳可达,否则回程数据包不知道往哪发。

所有静态路由(下一跳均为 192.168.6.2)

目标子网子网掩码下一跳对应 WiFi
192.168.8.0255.255.255.0192.168.6.2XMYH
192.168.9.0255.255.255.0192.168.6.2MR01
192.168.11.0255.255.255.0192.168.6.2TKUSBD
192.168.22.0255.255.255.0192.168.6.2TKUSGR

方法一:Web 界面添加

进入主路由:网络 → 路由 → 静态路由 → 添加,按上表逐条填写。

方法二:SSH 批量添加(临时生效)

BASH
# SSH 登录主路由后执行
ip route add 192.168.8.0/24  via 192.168.6.2
ip route add 192.168.9.0/24  via 192.168.6.2
ip route add 192.168.11.0/24 via 192.168.6.2
ip route add 192.168.22.0/24 via 192.168.6.2

方法三:UCI 永久写入(重启后保留)

BASH
# 以 192.168.9.0/24 为例,每个子网重复以下步骤
uci add network route
uci set network.@route[-1].interface='lan'
uci set network.@route[-1].target='192.168.9.0/24'
uci set network.@route[-1].gateway='192.168.6.2'
uci commit network
/etc/init.d/network reload

在 OpenClash 配置文件的 rules: 部分最前面添加 SRC-IP-CIDR 规则。

config.yaml — rules 部分
rules:
  # ── 按 WiFi 子网路由到指定节点(必须放在最前面)──
  - SRC-IP-CIDR,192.168.9.0/24,🇯🇵日本节点    # MR01
  - SRC-IP-CIDR,192.168.11.0/24,🇺🇸美国节点   # TKUSBD
  - SRC-IP-CIDR,192.168.22.0/24,🇭🇰香港节点   # TKUSGR
  - SRC-IP-CIDR,192.168.8.0/24,🇸🇬新加坡节点  # XMYH
  - SRC-IP-CIDR,192.168.6.0/24,🚀默认代理    # 主路由本地设备

  # ── 以下是原有规则 ──
  - DOMAIN-SUFFIX,google.com,🚀默认代理
  - GEOIP,CN,DIRECT
  - MATCH,🚀默认代理
SRC-IP-CIDR 规则必须放在 rules 最前面,否则会被域名/IP 规则先匹配,子网分流失效。

各运行模式支持情况

运行模式SRC-IP-CIDR 支持CPU 开销
Fake-IP(iptables)✅ 支持,推荐中
Redir-Host✅ 支持低
TUN 模式✅ 支持高

连接各 WiFi 后检查 IP 信息

以连接 MR01 WiFi 为例,检查手机获取到的网络信息:

IP 地址
192.168.9.x
由旁路由 MR01 子网分配 ✅
网关
192.168.9.1
旁路由该子网网关 ✅

在主路由抓包确认源 IP 透传

BASH
# SSH 登录主路由,抓包查看来源 IP
tcpdump -i br-lan src net 192.168.9.0/24 -n

# ✅ 能看到来自 192.168.9.x 的包 → 源 IP 透传成功
# ❌ 只看到 192.168.6.2 → NAT 伪装未关,回第三步 3.4 重做

测试出口节点

分别连接各 WiFi,访问以下网站确认出口 IP 符合预期节点地区:

URL
https://ip.sb
https://ifconfig.me
https://ipinfo.io
第二部分 · 模式 B:VLAN 直通纯净 WiFi

本教程旨在为旁路由特定wifi直连光猫。通过配置,我们将划出一条专属的 VLAN 8 通道。该通道上的特定 WiFi 流量会像通过一根无形的实体网线一样,直接穿透旁路由和主路由,向光猫(需光猫自行拨号分配IP)请求真实的局域网 IP。

核心原理:手机/电脑连 WiFi -> 旁路由网桥 -> 赋予 VLAN 8 标签 -> 物理网线传输 -> 主路由共享网桥 -> 解除标签并交予光猫分配 IP。

如果主路由(iStoreOS)部署在 PVE 虚拟机中,PVE 的虚拟交换机(Linux Bridge)默认会拦截带 VLAN 标签的数据包,必须在宿主机层级放行。

1. 寻找真实物理网口

进入 PVE 宿主机的右上角 >_ Shell,输入以下命令实时监听硬件插拔动作,跑去拔插一次连接旁路由的网线:

BASH
# 运行此命令后拔掉网线再插上,寻找 Link is Down/Up 的 enpXs0 编号
dmesg -w

2. 开启 VLAN 感知并硬重启

PVE 的网络热重载经常假装生效。配置完成后必须彻底重启 PVE 宿主机,否则隧道无法打通!

在确认网口编号及绑定的虚拟网桥后,进入 PVE 的 系统 -> 网络 界面:

  • 双击连接光猫的网桥(如 vmbr0),勾选 VLAN 感知 (VLAN aware)。
  • 双击连接旁路由的网桥(如 vmbr4),勾选 VLAN 感知。
  • 点击 应用配置 后,重启整台 PVE 宿主机。

在主路由中,我们需要建立一个“共享网桥”,同时接纳光猫和旁路由传来的 VLAN 8 数据包,并激活这一通道,同时修复主路由自身的联网问题。

第一步:建立底层设备

  1. 进入 网络 -> 接口 -> 设备,点击 添加设备配置。
  2. 设备类型选择 VLAN (802.1q),基设备选择连接旁路由的口(如 eth4),VLAN ID 填 8,保存。系统生成 eth4.8。
  3. 再次点击 添加设备配置,设备类型选 网桥设备 (Bridge),命名为 lan-xmyh。
  4. 在网桥端口中,同时勾选物理的 wan 口和生成的 eth4.8。点击保存(先勿应用)。
避坑:VLAN 设备必须用点(.),不能用下划线。且网桥内绝对不能勾选基础物理口(如 eth4),否则全家断网。

第二步:唤醒接口与网络修复

  1. 创建唤醒接口(极重要): 进入 网络 -> 接口 列表页。添加新接口,命名为 Wake_VLAN8,协议必须选择 不配置协议 (Unmanaged),设备选择刚刚建好的桥 lan-xmyh,保存。
  2. 修复主路由拨号: 在 网络 -> 接口 列表中,找到负责上网的 WAN 接口,点击编辑。在常规设置的设备下拉单中,将原有的物理 wan 替换为 网桥: "lan-xmyh"。
  3. 点击页面下方的 保存并应用。
若操作正确,主路由网络瞬间恢复,且 Wake_VLAN8 接口开始有少量数据收发,代表主路由端“收费站”已通电开门。

对于新款采用 DSA 架构的旁路由,必须搭建“纯透明网桥”,强行将天上的无线信号(WiFi)导入地下的有线隧道(VLAN 8)中。

第一步:组建透明网桥

  1. 确认旁路由网口: 确认连接主路由的网线插在外壳标着 LAN 几的口上(假设为 LAN2)。
  2. 建立 VLAN 设备: 进入旁路由 网络 -> 接口 -> 设备,新建设备,类型选 VLAN (802.1q),基设备选 lan2,ID 填 8,保存生成 lan2.8。
  3. 建立桥接设备: 再次新建设备,类型选 网桥设备 (Bridge),命名为 br-direct8。包含端口仅勾选 lan2.8。保存。

第二步:接管 WiFi 信号

  1. 建立逻辑接口: 进入 网络 -> 接口,添加新接口,命名为 XMYH_D(或自定义)。协议必须选 不配置协议 (Unmanaged)。
  2. 在接口的高级/物理设置中,将其绑定设备选定为刚才新建的网桥 br-direct8。保存并应用。
  3. 绑定纯净 WiFi: 进入 网络 -> 无线,编辑专门用于防关联的独立 WiFi(如 SSID: 8.0 纯净)。
  4. 在下方网络配置中,取消默认的 lan 勾选,唯一勾选刚刚建好的逻辑接口 XMYH_D。点击保存并应用。
大功告成!此刻用手机或独立物理机连接该 WiFi,即可直接穿透到光猫,获取 `192.168.1.x` 级别的干净 IP。
验证清单(配完后按顺序确认):
1. 手机连上纯净 WiFi(如 SSID"8.0纯净");
2. 查看手机拿到的 IP,确认是 192.168.1.x(光猫网段),而不是旁路由/主路由网段;
3. 进主路由"网络 → 接口"页,看 Wake_VLAN8 有收发流量(不为 0 B)。

如果配置完成后,手机连接 WiFi 出现“一直在获取 IP地址”或显示“已连接但无网络”,请重点核查:

1. 隧道入口网桥未连通(发送数据为 0 B):
如果在旁路由的接口页看到 XMYH_D 有“接收”但“发送”始终为 0,这说明手机请求 IP 的包被死死堵住了。最大的可能就是你在第 3 节中,直接把 XMYH_D 绑在了 lan2.8 上,而没有建立网桥 `br-direct8` 进行过渡。无线和有线必须通过 Bridge 才能相通!
2. 未正确唤醒底层端口:
检查主路由 Wake_VLAN8 和旁路由 XMYH_D 两个接口,必须都是“不配置协议 (Unmanaged)”。任何一方选择了静态地址或未建立该接口,物理隧道的对应侧都会显示灰色的“未连接”。
3. 找错了旁路由物理网口:
千万不要盲目抄教程中的 eth0.8。硬路由架构各异,网线插在 LAN2 口上,底层通常就是 lan2。弄错物理口相当于修了一条死胡同。
旁路由改完后管理页面打不开
地址已变为 192.168.6.2,用新地址访问。如果连 192.168.6.2 也访问不到,检查网线是否正确接在 LAN 口,以及主路由静态路由是否配置正确。
WiFi 设备无法上网
检查以下几点:(1) 旁路由各 WiFi 子网的网关是否正确;(2) 主路由静态路由是否添加完整,每个子网都需要一条;(3) OpenClash 是否正常运行;(4) 网线是否接的是 LAN 口而非 WAN 口。
所有 WiFi 出口 IP 相同,没有按子网分流
两个可能原因:(1) SRC-IP-CIDR 规则未放在 rules 最前面,被其他规则先匹配;(2) OpenClash 保存配置后未重启生效。修改后记得重启 OpenClash 服务。
主路由抓包看到的源 IP 是 192.168.6.2,而不是各子网 IP
旁路由的 NAT 伪装(Masquerade)未关闭,所有流量出旁路由时被伪装成了 192.168.6.2。回到第三步 3.4,确认 masq 已设为 0 并重启防火墙。
WiFi 可以上网但走的是直连,没走代理
检查:(1) 主路由静态路由是否完整;(2) 设备拿到的网关是否指向了旁路由子网网关(如 192.168.9.1)而非直接是 192.168.6.1;(3) OpenClash 是否正常接管流量,可查看 OpenClash 日志。
重启后静态路由丢失
用 ip route add 添加的路由是临时的,重启后消失。需要用 UCI 方式写入配置,或在 Web 界面的「路由」页面添加,才能永久保存。
功能负责设备
宽带拨号 / 互联网出口主路由 192.168.6.1
OpenClash 代理处理主路由 192.168.6.1
主网段 DHCP 分配主路由 192.168.6.1
防火墙 / 路由转发主路由 192.168.6.1
WiFi 信号发射旁路由 192.168.6.2
各 WiFi 子网 DHCP旁路由各子网接口
MR01 (192.168.9.x) 节点🇯🇵 日本节点
TKUSBD (192.168.11.x) 节点🇺🇸 美国节点
TKUSGR (192.168.22.x) 节点🇭🇰 香港节点
XMYH (192.168.8.x) 节点🇸🇬 新加坡节点
纯净 WiFi(VLAN 8 直通)直连光猫,拿 192.168.1.x
VLAN 隧道(lan-xmyh / br-direct8)主路由 ↔ 旁路由二层透传
Wake_VLAN8 / XMYH_D 接口隧道唤醒接口(Unmanaged)
🎉

配置完成

模式 A 下旁路由不再参与任何代理运算,WiFi 流量按子网分流到对应节点;模式 B 的纯净 WiFi 则直连光猫,拿干净 IP。两种模式可同时运行,互不干扰。