树莓派4B 亲手打造一款Openwrt软路由(带编译固件

您所在的位置:网站首页 树莓派zerow参数 树莓派4B 亲手打造一款Openwrt软路由(带编译固件

树莓派4B 亲手打造一款Openwrt软路由(带编译固件

2023-03-26 02:55| 来源: 网络整理| 查看: 265

        树莓派做路由器已经是在3代的时候就开始了,只不过树莓派3代的网口速率还不到千兆标准,再加上A53的性能也不是很赞。但是,性能还是碾压一般家用路由器的;现在4代升级了千兆网口,加上两颗A72大核性能拉满,与入门级x86软路由相比,关键功耗体积财力投入都要小很多 : ),全方面看上还是有一战之力的,实测不接大型用电设备满载不会超过12W,其次就是需要外接一个usb千兆网卡,实测网速可以几乎跑满千兆的情况下CPU占用率不到35%,因为是外接usb网卡所以很吃CPU的资源。

        其次,我相信很多玩软路由的老铁们,肯定还很关心一个参数 AES指令集→不支持,我在后续的实测中发现树莓派做软路由最吃硬件性能的就属AES加解密,跑跑主流的V贰锐,酸酸乳,百兆的服务器也可以轻轻松松应对,如果平时经常大流量跑建议还是上个小风扇,保证高性能的同时CPU核心不会降频拉跨,真的可以说RaspberryPi YES!。

以下是自用50Mbps服务器跑满播放8k视频(AES性能)

实测跑油管8k视频树莓派Cpu占用率

折腾建议:

树莓派最好是2G及以下版本(太大性能浪费);

都1202年了千兆USB网卡是标配,型号市面常见的RTL(螃蟹网卡)都可;

一张内存不那么大的SD卡足以(1-2G足够了,关键你能买到就行);

有块闲着不用的树莓派,如果有想折腾软路由Pi但是还没入手那就考虑友善的NanoPi R4S性能和树莓派4不相上下,重点: 有原生双网口,不用外接USB网卡 性能也更好;

树莓派4已经作为我的主路由静静呆在角落里运行快一年了,可靠性没得说;

其次有软路由的需求又不想折腾x86的;

其实做旁路由更为合适(这里留个坑,下一期补);

最后以上没有恰饭内容,可放心食用:)

软路由Pi的逼格之处:

功耗低,体积小相对于x86动辄20W起步树莓派平时就7W左右,怼个充电宝都可以跑起来;

科学上网(帕斯握,酸酸乳Plus),广告过滤(AdGuardHome),行为管理,DNS优化,网络加速,内网穿透Frp~~~,KMS微软全家桶激活服务器等等;

宽带多播(单线多拨,多线多拨)和链路聚合,有多个宽带账户的可以将带宽进行多拨合并使用,家里带宽已经超500M了(白嫖移动那啥~ ~ ~)手动狗头,还有解决各种限速,以我多年和学校信息管理中心斗智斗勇的经验来看,即使在公司里,限速~ 嗨呀~不存在的~~~

可挂载硬盘做个轻量型NAS;

其他的话装个Docker尽管折腾;

还有好多就不一一列举了.

 上面可能壁画太多,正片开始

准备OpenWrt固件:

一. 自行编译(逐渐开始对新手不友好 :(  想白嫖 👉 可跳过看第二部分)

        开始编译属于自己固件之前需要准备Ubuntu 18 LTS x64系统或者Ubuntu 20 LTS都可以,可以在VMware中装Ubuntu,也可使用微软子系统,我们就用微软的子系统简单粗暴

(已经有虚拟机系统环境的空降到第2部);

1.系统准备(微软子系统)

首先在开始菜单搜索找到打开控制面板 》程序 》启用或关闭Windows功能 》适用于Linux...

开启系统设置

等待系统处理完成 然后重启电脑

重启电脑

重启以后在开始菜单搜索找到微软商店(MicrosoftStore)打开,搜索Ubuntu

下载Ubuntu系统

然后任选其一下载安装系统 (演示中我们选Ubuntu 20.04 LTS,注意:系统将会装在你的C盘中,如果空间已不足10G请自行清理,实在不行就用Vmware装虚拟机吧)

系统选择安装

选择目标系统后点击 安装(系统会自动开始下载并安装),安装好以后点击 启动,后期使用可在开始菜单查找,下图为第一次启动稍等一会儿系统初始化即可

系统初始化

创建一个新用户,为了方便我就用 openwrt 然后回车确认(切记:用户名不能为root)

用户名

然后开始设置该用户名的密码 (一定要记住!)  不会显示输入的密码输入完成回车确认即可

密码

不出意外就能设置成功并自动登录系统

成功进入系统

2.openwrt源码下载与环境准备

        在openwrt源码上我比较推荐Lean大神的源码,源码社区很活跃,更新迅速,稳定;我们打开lean大openwrt的代码仓库地址:https://github.com/coolsnowwolf/lede 按照如下命令依次在Ubuntu中逐步执行即可;

编译源码

下面一步一步执行(把命令复制粘贴过去即可)

(如果系统更新下载速度慢请更换国内源 国内源更换请见 这篇文章)

                                                                       👇

执行系统更新

建议执行两次以确保没有遗漏

                                                                        👇

第二次在执行上面代码提示以下信息即所有依赖安装成功

依赖安装完成

代码下载(以下步骤不要用 root 用户执行!)

👇

代码拉取更新

3.openwrt系统配置

若没有出现error字样的报错即可输入make menuconfig开始配置路由系统

👇

系统配置菜单

 键盘操作提示:

按空格为设置该项/选中 当目标选项为( ※ )即为选中状态;

回车为进入子菜单/选择;

方向键 ↓ 和 ↑ 为上下选择;

方向键 ← 和 → 下方菜单选项;

双击两下ESC为退回上一层;

在根菜单下双击为推出配置菜单;

开始配置系统,勾选树莓派 三个重要参数 ↓ (上下键选择 回车进入 空格选择目标)

Target System ---> Broadcom BCM27xx  

Subtarget ---> BCM2711 boards (64 bit)

Target Profile ---> Raspberry Pi 4B (64bit)

树莓派型号选择

文件系统大小修改(根据SD卡大小设置就行,kernel大小一般256足够了)

镜像 文件系统大小修改

添加USB设备驱动支持(例如USB网卡,USB集线器,USB无线网络等)

(USB支持目录选项建议全选,方便,不会导致编译失败)

USB Support

插件app页面 原版已经继承了很多实用的app

LUCI插件

常用的插件 👇

luci-app-adbyby-plus 广告过滤插件 (暂不支持Arm x64)

luci-app-docker 容器

luci-app-frpc 内网穿透客户端

luci-app-nps 内网穿透插件

luci-app-kodexplorer 可道云

luci-app-n2n_v2  点对点内网穿透

luci-app-ddns 动态域名解析

luci-app-mwan3helper  分流助手(多运营商网络)

luci-app-netdata 网络监控插件

luci-app-samba SMB网络共享

luci-app-syncdial 多拨插件

luci-app-unblockmusic

luci-app-ttyd 网页终端插件

luci-app-usb-printer 打印机插件

luci-app-vlmcsd KMS激活微软全家通

luci-app-wol 网络唤醒

luci-app-ssr-plus 科学上网插件

附开启科学上网插件神秘代码

其他插件可以下载到 lede/package 文件夹下再打开make menuconfig配置菜单即可找到

web主题 (建议全选 还有很多漂亮的主题自行查阅下载)

openwrt主题

         其他设置就不做举例了,到这一步也就可以配置出一个功能基本齐全的路由系统了,如果觉得这样很麻烦可使用我写的一个简单脚本 一键环境下载安装,源码拉取,常用app集成,自动编译(单线程、多线程编译),后期使用一键更新openwrt源码和插件app(只需配置好系统),很省心,脚本已经放在github 需要的自取 地址: https://github.com/bigbugcc/Openwrt         后期还会做一期非常详细的openwrt使用教程,以及已经在开发的openwrt云编译系统{ 在网页端配置选项,一键编译,邮箱发送固件 } 后期会考虑开源。

4.openwrt编译

        首次编译最好使用《单线程编译》,以免报错;小技巧:首次编译时先不要选任何插件,只选择重要的参数,然后直接编译,第二次在选择其他的组件、插件然后多线程编译 速度会快不少也不会因为多线程编译报错。(首次编译大概会耗时2-3小时,具体耗时还得看U的  性能)

👇

下载dll库

👇

dll库下载完成

👇

开始编译

👇

。。。

👇

淦!有报错

环境变量报错

编译环境变量错误切换系统环境变量即可(目前这个错误只会出现在WSL上,虚拟机不会)

👇                

编译成功

👇      

编译好的有四个固件

编译好的四个固件

重新配置(如果因为配置错误导致无法编译可清除配置后再试)

编译好的固件输出的路径 :/lede/bin/targets  ,使用复制命令将固件复制到桌面,也可以直接打开子系统的文件目录(可能会有权限问题)

 👇

以下采用命令复制出来,也可在windows下文件管理器直接打开子系统Ubuntu的目录复制

固件移出

👇

复制到windows的固件

固件格式说明:

ext4 和 squashfs 是指文件系统格式,ext4格式较为新;

factory 新刷固件到sd卡用这个(sd卡刷固件时请选择带factory的固件);

sysupgrade 用于升级固件;

        到这固件编译就结束了,接下来就是将固件刷入SD卡再插入树莓派启动就可以启动openwrt了,固件刷入就不再唠叨了( >偷.懒



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3