文稿 / 硬核硬件 / /posts/6460

垃圾佬的逆袭:单网口 OpenWrt 旁路由搭建与防断网指南

当百元闲置盒子与 NAS 虚拟机化身单臂网关,在不惊动家人的前提下接管家庭网络流量

HalfAir · 文摘卡片 2024-10-29 · 硬核硬件
“不要温和地走进那个良夜。”
家里的老旧主路由在多设备并发下频频卡顿,直接替换又面临“全家断网”的家庭矛盾风险。本文从单臂路由(Single-Arm Router)包转发原理出发,完整还原群晖 VMM / 飞牛 OS 虚拟机导入 OpenWrt、终端静态跃点、LuCI 取消桥接与忽略 DHCP 等全套 14 步实操图解。

一、 闷热傍晚的加载圆圈与“单臂路由”的妥协艺术

那台服役多年的普通家用主路由,是在一个闷热的周日傍晚彻底败下阵来的。羸弱的双核处理器在同时应付客厅电视、两台电脑和五部手机的并发连接后,外壳烫得像一块刚出锅的烙铁。母亲坐在沙发上盯着平板里不停旋转的爱奇艺加载圆圈念叨:“买这么多盒子回来到底在弄啥?现在连看个高清视频都卡了!”

对于手头预算常年不超过两百块钱的“垃圾佬”而言,专门花高价买双网口软路由显然违背祖训;但如果直接拔掉主路由换上自己瞎折腾的实验固件,一旦半夜内核抽风,第二天一早就会演变成严重的家庭外交事故。

于是,我盯上了角落里那台性能过剩的黑群晖 NAS(同理适用于飞牛 fnOS 或闲置单网口小主机)。它虽然只有一个千兆 RJ45 网口,却拥有充裕的 x86 算力。在不改动主路由拨号与 Wi-Fi 拓扑的前提下,开一台虚拟机充当“旁路由”,成了兼顾家庭和睦与极客折腾的最优解。

所谓“旁路由”,在正统网络工程里的学名叫单臂路由(Single-Arm Router)。它像一位隐居在局域网支流里的摆渡人:平时不争主路由的拨号大权,却在数据包流经的咽喉处悄然完成清洗与分流。
— HalfAir · 家庭实验室手记

二、 独木桥上的双向行车:单网口旁路由网络拓扑

要让只有一个物理网口(eth0)的设备承担网关职责,首先必须在物理层看清主路由与旁路由的分工:光猫处于桥接模式连入华为主路由(如 192.168.3.1),由硬路由稳妥承担 PPPoE 拨号、Wi-Fi 发射与基础 DHCP 分配;而宿主机通过单根网线接入主路由 LAN 口,内部的 OpenWrt 旁路由固定在同网段的 192.168.3.99。

当我们将手机或电脑的默认网关与 DNS 指向旁路由(192.168.3.99)时,一次完整的外网请求会经历“进站解包—去广告/科学分流—出站重封装”的折返跑,处理完毕后再通过同一个虚拟网口交还给真正掌握公网出口的主路由(192.168.3.1)。

主路由保持默认 DHCP(网关下发 192.168.3.1),仅在需要分流与去广告的个人电脑、手机上手动将网关指向旁路由 192.168.3.99。即便旁路由关机维护,家人的电视依然直连主路由,实现 100% 零感知容灾。

三、 虚拟机硬盘映像导入与 /etc/config/network 终端首刀

以群晖 Virtual Machine Manager (VMM) 搭配社区 x86_64 固件(如 bleach1991 6.6 内核版)为例:首先在 VMM【映像 → 硬盘映像】中从本地电脑上传解压好的 OpenWrt 固件镜像并命名(如 OpenWrt-Proxy);随后切回【虚拟机 → 新增旁小三角 → 导入】,选择“从硬盘映像导入”并指定存储空间。

资源分配遵循勤俭持家原则:对于纯转发与轻量插件场景,1 核 CPU + 512MB~1GB 内存绰绰有余。最关键的一步是在虚拟盘设置中务必挂载刚刚上传的 OpenWrt 硬盘映像作为第一启动盘!开机后点击【连接】打开 VNC 黑框控制台,敲下回车唤醒提示符,执行 vi /etc/config/network 完成“门牌号”改造,保存(:wq)并 reboot 重启。

/etc/config/network
bash
config interface 'lan'
option device 'br-lan'
option proto 'static'
option ipaddr '192.168.3.99' # 改成规划给旁路由的同网段固定静态 IP
option netmask '255.255.255.0'
option gateway '192.168.3.1' # 必须指向家里主路由的 LAN 口 IP
list dns '192.168.3.1' # 基础解析交由主路由或 223.5.5.5
option ipv6 '0'

四、 LuCI Web 后台点亮技能树:解绑桥接、忽略 DHCP 与动态伪装

虚拟机重启完毕后,在浏览器输入 192.168.3.99 即可进入久违的 OpenWrt LuCI 图形管理后台。定位到【网络 → 接口 → LAN → 修改】,这里是决定旁路由能否“安分守己、不断内网”的核心战场:

在基本设置中确认静态 IPv4 地址、主路由网关与自定义 DNS;切换到【物理设置】取消勾选“桥接接口”并仅绑定真实虚拟网卡;切换到【DHCP 服务器】务必勾选“忽略此接口”并彻底禁用 IPv6 路由通告服务,将局域网发牌权完整交还给主路由。保存并应用后,即可前往【服务】菜单按需开启去广告与透明分流插件。

五、 几款常用 OpenWrt 固件的实测对比

软路由圈子里流传着一句话:“硬件决定下限,固件决定血压。”对于不想从零交叉编译源码的玩家,直接选用成熟稳定的社区固件能省下无数排错的深夜。以下是我实测整理的选型对照表:

TABLE 01 // OpenWrt 主流固件流派特性与选型对照
固件名称核心定位与优势局限与注意点官方构建 / 项目地址
OpenWrt Official 官方主线源码,纯净度与长期稳定性天花板,安全补丁最及时 默认无中文与第三方分流插件,需手动通过 opkg / apk 加装 firmware-selector.openwrt.org ↗
iStoreOS (KoolCenter) 搭载现代化向导 UI 与 iStore 软件商店,兼顾路由与轻量 NAS 体验 系统镜像体积略大,适合新手开箱即用 www.istoreos.com ↗
Kwrt 在线定制编译 支持网页端按设备型号勾选所需插件,几分钟自动云编译专属固件 勾选过多冗余插件易引发依赖冲突,建议遵循最小够用原则 openwrt.ai ↗
ImmortalWrt / 社区精编 针对中文社区深度优化(含 bleach1991、DHDAXCW、X-WRT 等分支) 需结合自身内核偏好与网卡驱动按需挑选稳定版 firmware-selector.immortalwrt.org ↗
参考资料与延伸阅读 · References 共 3 篇
  1. [01]

    官方单臂客户端网关与静态路由配置指南

  2. [02]

    LAN 区域 NAT 动态伪装与非对称路由状态跟踪说明

  3. [03]

    同网段单臂网关触发 ICMP Redirect 重定向报文的底层协议规范

读后表态 · Reactions 读完觉得怎么样?顺手点张贴纸留个脚印吧

评论与留言

STANDBY...
SELF-HEALING v2
正在准备评论区运行环境...

全局全文搜索与快捷命令面板

快捷指令 PAGEFIND · STANDBY