利用闲置单网口设备搭建 OpenWrt 旁路由:给老电脑/NAS 找点事做!

前言

这是我的第一篇技术分享文,不打算写什么高深莫测的新东西,就来聊聊我之前折腾过的一个实用小项目——如何用家里那些吃灰的单网口设备,搭建一个功能多多的 OpenWrt 旁路由。

文章会尽量用大白话,解释旁路由到底是啥玩意儿,以及手把手教你一套搭建流程。我知道支持旁路由的设备型号多如牛毛,要一个个讲完是不可能的,所以本文会聚焦在用黑群晖(DSM)虚拟机来搭建 OpenWrt 旁路由,并搭配一台普通的华为路由器作为主路由。虽然你的设备可能不一样,但核心原理和大部分步骤是相通的,这篇文章绝对能给你一个清晰的参考方向。

话说回来,作为一个不爱浪费的“垃圾佬”,我是不可能专门花钱去买什么软路由设备的(不存在的!)。所以我盯上了家里那台性能过剩的 NAS,决定榨干它的剩余价值——开个虚拟机,让它兼职做个软路由。然而,市面上大多数软路由方案都默认你需要至少两个网口,这对我这种只有单网口设备的穷人来说,无疑是一道门槛。没办法,只能硬着头皮走上单网口搭建旁路由这条非主流路线了 ( ̄▽ ̄)”。

温馨提示: 在你决定动手之前,得提前给你打个招呼:在单网口设备上跑复杂的路由服务,它的稳定性嘛… 可能就像六月的天,说变就变,有点靠信仰加持的意思。所以,操作前一定要深思熟虑,并做好随时“回滚”的准备,毕竟,谁也不想把家里流畅的网络折腾到“抽风”的地步,对吧?

(偷偷告诉你,我折腾那阵子,我妈就老是在旁边念叨:“儿子啊,你买这么多盒子(指各种设备)回来,到底在弄啥呀?答应我的看高清视频还没实现,现在连看个爱奇艺都卡了!” 所以,各位准备动手的同学们,请务必确认你在家中的“网络地位”是否稳固,以及有没有能力在关键时刻快速恢复网络!

软路由 vs 旁路由:搞清关系,少走弯路!

概念普及

玩过 OpenWrt 的朋友可能一眼就看出来了,我这次折腾的不是正儿八经的“软路由大哥”,而是它旁边的“小跟班”——旁路由!这俩名字听起来像亲戚,但分工可不一样:

  • 软路由: 你可以把它理解成一个“万能路由器”。它利用通用的电脑硬件(比如你的旧电脑、小盒子主机)作为身体,安装上像 OpenWrt 这样的专业路由软件作为“大脑”。硬件性能越强,它能处理的网络任务就越复杂,可以实现各种高级路由功能,非常灵活。

  • 旁路由: 简单来说,它是一个“辅助型路由器”。在你家庭/公司的网络里,需要先有一个负责主要工作的“主路由”(通常就是运营商光猫后面那个普通的硬路由),它负责最基础的上网拨号、IP 分配(DHCP)等任务。而旁路由呢,就像一个“专业技能点满”的助手,它不负责基础的网络连接,而是专门处理那些主路由干不了或者不擅长的特定流量。比如:

    • 帮你实现科学上网,突破次元壁垒。
    • 过滤烦人的广告,还你清爽上网环境。
    • 进行更精细的流量控制和监控。
    • 搭建异地组网等。

    选择旁路由通常是因为主路由性能或功能受限,而旁路由设备(往往是性能更强的软路由)可以弥补这些不足,并且不会影响主路由处理基础网络任务的性能。当然,现在很多高性能软路由可以直接承担主路由和旁路由的双重角色,比如一台设备上同时运行爱快(负责流控)和 OpenWrt(负责插件功能)。

总的来说,家庭网络里连光猫、负责“总指挥”的是硬路由(硬路由是专用的硬件设备,软硬件高度集成,稳定可靠),而负责“特殊任务”的往往是软路由充当的旁路由

图解网络结构

搭建好旁路由之后,你的家庭网络连接方式大致会长成下面这个样子:

旁路由网络拓扑示意图,展示主路由和旁路由的位置

配图,让大家一眼看明白结构!

开干!把 OpenWrt 旁路由搭起来!

因为每个人的网络环境都不一样(主路由型号、IP 地址啥的都不同),为了讲得更清楚,这里先约定一下我搭建时的网络信息:我家光猫桥接模式,连着华为主路由,主路由负责拨号、Wi-Fi 和 DHCP,网关 IP 是 192.168.3.1,子网掩码 255.255.255.0。我计划把旁路由的 IP 设为 192.168.3.99。我的黑群晖(旁路由的宿主)是通过网线连在主路由 LAN 口的。

我用的 OpenWrt 固件是 bleach1991 大佬编译的“高大全”版本,来源是恩山无线论坛(高大全/精简版 Openwrt x86 6.6内核 软路由固件)。文章最后也会推荐几个别的热门固件给你参考。

在群晖 VMM 里给 OpenWrt 建个虚拟机

  1. 登录群晖管理界面,找到 Virtual Machine Manager (VMM) 虚拟机应用,打开它。
  2. 进入【映像】界面,选择【硬盘映像】。
  3. 点击【新增】按钮,选择【从计算机上传文件】,然后选中你下载好的 OpenWrt 固件文件。
  4. 给这个映像起个名字(比如 OpenWrt-Proxy),方便以后识别,然后点击【下一步】。

上传 OpenWrt 硬盘映像到群晖 VMM

上传界面截图

稍等片刻,映像就会上传成功。

  1. 上传完,切换到【虚拟机】界面,点击【新增】旁边的那个小三角,选择【导入】。
  2. 导入方式选择【从硬盘映像导入】。

从硬盘映像导入虚拟机选项

选择导入方式

  1. 按你的群晖实际情况,选择一个存储空间用来存放这个虚拟机的文件。

选择虚拟机存储空间

给虚拟机选个“安家”的地方

  1. 给虚拟机分配点资源。对于旁路由,1 核 CPU、512MB 内存通常就够用了,没必要给太多,勤俭持家嘛 (・ω・)ノ。

配置虚拟机的 CPU 和内存资源

资源分配,按需设置

  1. 最关键一步!在“硬盘”设置里,一定要选择你刚刚上传的那个 OpenWrt 硬盘映像文件作为它的启动盘!错了可就启动不起来了。

选择虚拟机启动硬盘映像文件

选对启动盘是重点!

  1. 其他设置保持默认就行。检查一下配置,没问题了就可以启动虚拟机了。

命令行初探,配置 OpenWrt 的 IP 地址

虚拟机启动并初始化完成后,在 VMM 界面选中它,点击【连接】。会弹出一个黑乎乎的控制台窗口。别慌,这是 OpenWrt 的命令行界面。

连接到 OpenWrt 虚拟机控制台

控制台连接界面

等屏幕刷完代码,按一下回车,就会出现命令提示符了。

OpenWrt 命令行提示符

看到这个符号就可以输入命令了

输入 vi etc/config/network 回车,你会看到 OpenWrt 的网络配置文件。

查看 OpenWrt 网络配置文件

配置文件内容

按键盘【下】箭头移动光标,找到 config interface 'lan' 那一段。按【i】键进入编辑模式。只需要改两个地方:

  • ipaddr:改成你准备给旁路由设置的 IP(比如 192.168.3.99)。
  • gateway:改成你主路由的 IP(比如 192.168.3.1)。

改好后,按【ESC】键退出编辑模式,输入 :wq 回车保存并退出。

最后,输入 reboot 回车,重启 OpenWrt 虚拟机让配置生效。基础的“门牌号”设置完成!

登录 Web 界面,给旁路由点亮技能树

虚拟机重启好之后,在你的电脑浏览器里输入刚才设置的旁路由 IP 地址(192.168.3.99),不出意外的话,你就能看到 OpenWrt 的 Web 管理界面了!第一次登录会让你设置登录密码。

设置好密码登录进去,咱们就可以进行更友好的图形化配置了!找到“网络”菜单下的“接口”,点击 LAN 接口旁边的“修改”。

OpenWrt Web 界面 - 网络接口列表

找到 LAN 接口

接下来,修改 LAN 口的配置。这里是让旁路由“听话”的关键步骤:

  • 基本设置:
    • “协议”选“静态地址”。
    • 确认 IPv4 地址是你设的旁路由 IP。
    • IPv4 网关和“使用自定义的 DNS 服务器”都填你主路由的 IP(或公共 DNS)。
    • 划重点: 在“物理设置”里,不要勾选“桥接接口”!
    • 在“基本设置”最下面,勾选“忽略此接口的 DHCPv6 服务”。
  • 高级设置: 通常默认就好。
  • 物理设置: 确认它连接到了正确的虚拟网卡。
  • 防火墙设置: 确保防火墙区域是 lan。
  • DHCP 服务器: 这一步也很重要! 切换到“DHCP 服务器”标签页,在“基本设置”里,务必勾选“忽略此接口”!把 IP 分配的工作交给主路由,旁路由只负责处理特定的流量。
  • IPv6 设置: 没需求的话,可以把 IPv6 相关设置全部禁用。

OpenWrt Web 界面 - LAN 口基本设置截图
OpenWrt Web 界面 - LAN 口物理设置截图
OpenWrt Web 界面 - LAN 口 DHCP 设置截图

对照这几张图,一步步设置好

这些就是基础配置啦!保存并应用后,你的旁路由就可以正常工作了。至于那些大家喜闻乐见的功能,比如去广告、科学上网等,通常都在【服务】菜单里,那里有各种可以安装和配置的软件包等着你去探索!

OpenWrt Web 界面 - 服务菜单

服务菜单,功能都在这儿了

如果大家对某个具体功能感兴趣,我后续可以考虑再写几篇单独的文章来详细介绍!

OpenWrt 固件,该怎么选?

OpenWrt 固件,当然是自己动手编译一个最适合自己的啦! (๑•̀ㅂ•́)و✧ 但对于像我这样的懒人(再次强调)或者刚入门的小白来说,用社区大神们编译好的固件,那真是省时省力又省心!

这里推荐几个在社区里比较有名、评价也不错的 OpenWrt 固件来源(排名不分先后):

固件名称 官方网站/项目地址 特点描述
OpenWrt 官方固件 OpenWrt 最纯净稳定的官方版本,功能全靠自己加装软件包,适合喜欢自己定制的用户。
iStoreOS iStoreOS 目标是做人人都!会!用!的路由兼轻量 NAS 系统!界面超友好,集成了很多常用功能和插件,让你的网络存储“自由自在”!而且系统本身完全免费哦!
在线定制编译平台 Kwrt 软路由固件下载与在线定制编译 不会自己编译?可以在线选硬件、选插件,帮你生成定制固件,就像点外卖一样简单!支持的设备多到眼花缭乱!如果觉得好用,别忘了给作者点个赞或捐赠支持一下!
骷髅头固件 骷髅头 大佬维护的常用固件,通常集成了不少热门功能,对多种设备有良好支持。
X-WRT X-WRT 另一个分支,同样提供美观的 Web 界面和丰富的软件源。
esirPG 固件 [esirPG](https://drive.google.com/drive/folders/1MIzj esir 大佬维护的固件,内容比较全面,集成插件多(注意:固件在 Google Drive,国内访问可能需要点手段 (¬‿¬))。
bleach1991 固件 bleach1991 基于 Lean 大佬源码编译,额外加了一些实用软件包,也是社区里比较流行的选择。

总结

好了,这就是利用闲置单网口设备搭建 OpenWrt 旁路由的全部过程了。理论上,只要是个能开机、至少有一个网口的旧电脑或盒子,装上 OpenWrt 都能实现旁路由的功能。这不失为一种让老设备焕发“第二春”的好办法!

本文只是一个简单的入门引导,OpenWrt 的玩法远不止于此,它的强大和乐趣需要你亲自去探索和实践。在折腾的过程中,你可能会遇到各种稀奇古怪的问题,但解决它们的过程本身就是一种享受! ( ̄︶ ̄)

最后,再次声明,本文是我基于个人兴趣和经验的分享,并非专业教程,如果内容有任何疏漏或错误,非常欢迎大家指正!互相交流,共同进步嘛!

感谢那些我曾经参考过但已经记不清来源的大佬们的分享,如果本文内容无意中侵犯了您的权益,请联系我:7780102@qq.com,我会及时处理。