基于 OpenWRT 的软路由构建 Published on Sep 25, 2024 in 工作 with 0 comment 网络 软路由 OpenWRT ### 一、选择软路由的原因 在平常生活中,我们使用的最多的都是某米、某为或者某 Link 的 “硬路由器”,它是厂商提供了一套完整的定制的软件 + 硬件的解决方案,包含刷好的系统(固件)、电源等。 对于一般用户而言,硬路由自身提供的能力是足够使用的。但是在一些特殊场景下,例如智能家居控制、DNS 广告拦截、网络唤醒、离线下载、定时任务等情况,依靠厂商提供的硬路路由功能是不够的,所以软路由就成了更优的解决方案。 然后,这次部署软路由主要是基于公司业务的考虑,希望能够基于无线网络实现类似 SD-WAN 的效果,而不用每台设备部署单独的代理。 ### 二、软路由的概念 用比较官方的话术来说,它就是基于软件工具在普通的硬件上来实现传统路由器的功能。我们可以在旧电脑、工控机、开发板、服务器甚至是硬件虚拟机中安装软路由系统,然后通过强大的软件实现各种各样的功能。 通俗的说,一台电脑 + 路由系统 = 软路由。 针对软路由的方案,除了自己动手 DIY 之外,也可以去拼多多购置第三方厂商的小主机,价格从 200-800 块不等。  ### 三、部署过程 #### 3.1 硬件准备 原本办公室里面有一块装好了 AMD 3400G CPU 和 8 G内存,但是一直吃灰的 B450 HDV 主板,所以就没有购置额外的小主机,而是基于这套主板去做改造。 (1)由于主板只有一个千兆网口,所以单独购置了一块TP-LINK TL-NG421 2.5G PCI-E 的拓展网卡。 (2)搞了一个 M-ATX 小机箱,毕竟一个板子放在桌子上也不好看不是。 (3)淘了一块便宜的 M.2 硬盘。 装好之后,是下面这个样子:  有一说一,这个配置对于软路由来说有点过剩了,不过主打一个废物利用,总比闲置强多了。 #### 3.2 软件准备 目前软路由系统还蛮多的,例如爱快、小马、Mikrotik 等。不过我这里选择了 OpenWRT,主要原因是开放性好、功能完善、开源,然后大神们分享的材料也比较多。 然后 eSir openWRT 的下载参考链接如下: [谷歌云盘:GDQ、SPP 等 OpenWRT 镜像版本分享](https://drive.google.com/drive/folders/1uRXg_krKHPrQneI3F2GNcSVRoCgkqESr "谷歌云盘:GDQ、SPP 等 OpenWRT 镜像版本分享") 然后需要下载一个镜像写入工具,名字叫做 Physdiskwrite。这个在网上很容易找到,然后下面也放一个参考链接: [https://m0n0.ch/wall/physdiskwrite.php](https://m0n0.ch/wall/physdiskwrite.php "https://m0n0.ch/wall/physdiskwrite.php") 最后,需要有一个能够制作 PE 盘的软件,比如大白菜等等,这个很多可以自行安装一个。 #### 3.3 安装过程 (1)首先准备一个空的 U盘,然后打开老毛桃或者大白菜 PE 制作工具,将其制作成为一个 PE 启动盘。 (2)把刚才下载下来的 OpenWRT 镜像和写入工具,拷贝到 U盘当中,以备后用。 (3)将 PE 盘插入到软路由设备上,然后在开机时选择并进入 PE 系统。 (4)在系统界面中,打开 DiskGenius 或者类似的硬盘管理软件,把要安装镜像的硬盘全部分区删除掉。 (5) 打开装有镜像和镜像安装工具的 U盘文件夹,在路径栏中输入 “CMD” 并敲击回车打开命令行界面。然后输入: `hysdiskwrite -u 镜像名称` 回车后,如果能够找到工具和镜像的话,它会提示说要选择安装镜像的硬盘列表。这里可以通过 DiskGenius 查看硬盘的序号,比如 0\1\2..,因为我这里只有一块 M2 固态,所以直接写 0 就好。然后继续回车,它会提示一个警告,问你是否继续,不用理会,输入` y `回车即可。稍等片刻等待写入即可。 #### 3.4 配置 OpenWRT (1)拔出 U盘,然后重启软路由设备。它会告诉你需要设置一个密码。 `passwd root` 然后将密码配置上即可,注意这个密码后面登录 WEB 管理界面也会用到,需要记住。 (2)配置网络 我这边准备的网络拓扑和下面的这个很类似:  因为公司里已经有一套完整的局域网络结构了,所以采用旁路的方式进行拓展。然后也没有直接接入公司的 AP 系统,而是在区域内又下挂了一台华为路由器实现无线接入。 在 OpenWRT 系统中,默认有一套网络配置,后台的默认地址是 192.168.5.1 ,当然也可以通过以下的命令对网络配置进行编辑,如下: `vi /etc/config/network` 然后进去之后,可以看到 wan、lan 口配置,wan 口连接接入层交换机,lan 后下挂那台华为设备。 (3)使用 OpenWRT 系统 连接 AP 或者下挂的路由器 SSID,然后访问刚才设定的后台地址即可进入 OpenWRT 管理系统:  然后我这里使用的是 GDQ 版本,功能还是很强大的。后续根据自己的需求和实际使用需要,进行功能配置和拓展就可以了,还是比较好用的。  ### 四、 补充资料 其他参考文章如下: (1)[OpenWRT和软路由?我的踩坑手册就是你的入门指南](https://sspai.com/post/75622 "OpenWRT和软路由?我的踩坑手册就是你的入门指南") (2)[路由系列:软路由物理机安装openwrt 小白教程(esir高大全)](https://blog.csdn.net/qq_35379989/article/details/129460736 "路由系列:软路由物理机安装openwrt 小白教程(esir高大全)") ### 五、 其他案例 除了上述的安装方法外,针对低功耗和体积的需求,也可以采用小型嵌入式设备充当软路由,我这里用的是 Orange Pi R1 Plus LTS。   安装的话,需要准备一些硬件和软件,包括 TF卡(建议闪迪)、TF卡读卡器、balenaEtcher 刷入工具以及路由固件,具体的安装方法、资源可以参考以下链接的文章: [香橙派介绍和官方 OpenWRT 资源](http://www.orangepi.cn/html/hardWare/computerAndMicrocontrollers/parameter/orange-pi-R1-Plus-LTS.html "香橙派介绍和官方 OpenWRT 资源") [OpenClash Github 地址](https://github.com/vernesong/OpenClash/wiki/%E5%AE%89%E8%A3%85 "OpenClash Github 地址") [基于 R1 的安装教程博客](https://blog.csdn.net/cyylovelz/article/details/139117061 "基于 R1 的安装教程博客") [烧录工具下载](https://github.com/balena-io/etcher/releases "烧录工具下载") 本文由 Alen 创作,采用 知识共享署名4.0 国际许可协议进行许可本站文章除注明转载/出处外,均为本站原创或翻译,转载前请务必署名最后编辑时间为: Oct 12, 2024 at 11:18 am