软路由神器 NanoPi R2S

不会吧

初级会员
注册
2020-08-03
主题
4
在家憋了2个多月,终于有动力整理一下家里的网络设备了。之前软路由一直跑在 Proxmox 的虚拟机里,但路由这种牵一发而动全身的设备,我想还是用一个单独的设备比较好。最近看到关于 NanoPi R2S 开售的消息,也有各个 up 主的评测,于是动心入手。

NanoPi R2S 是友善电子团队推出的小型开发板,CPU 是 RK3328,4核A53 ARMv8 64位 1.5Ghz,但官方锁频到 1.2Ghz。带两个千兆网口,其中一个网口是 USB3.0 转接的。固件靠刷入 SD 卡启动。200 元左右的价格,不香吗?

双千兆网口,友善官方修改的 OpenWrt —— FriendlyWrt,再加上小巧的体积,使 R2S 具有了放入弱电箱,成为家庭主路由的潜力。

由于 up 主都说,R2S 在原装塑料壳内温度堪忧。于是我直接淘宝买了铝制外壳的版本,测试下来散热完全没有问题了。

nanopi-r2s-front


铝制外壳长宽高均大于塑料外壳,把 R2S 的各个接口都包在里面,导致插拔 SD 卡时会稍稍费力。

友善毕竟是国内公司,所以 FriendlyWrt 缺少一些软路由必装组件。好在 FriendlyWrt 开源,友善也公开了为 R2S 编译 FriendlyWrt 的方法。所以现在大家基本都是在用各个爱好者自己编译的固件了。

FriendlyWrt 的编译方法其实很简单,总体来讲就是,安装编译依赖,安装友善的版本管理工具 repo,下载源代码,执行编译脚本,然后等待几个小时就可以了。

但各个爱好者都有自己的偏好,每个人都会对系统做一些自己认为好的修改。有人喜欢稳定有人喜欢速度,所以各种固件都有人在尝试。GitHub 上这两位大神编译的固件都是很受欢迎的 klever1988soffchen。除了 GitHub 上的还有各种渠道发布的不开源的固件。

对我来说 Clash 是刚需,但各个 Clash 插件都会让全部流量通过 Clash 转发,这是白白消耗的性能损失,对性能吃紧的 ARM CPU 影响更大。所以我魔改了别人的插件,使只有部分流量通过 Clash,于是我也走上了自行编译固件的道路。

参考上面两位大神的 GitHub 项目,我编译了三种 NanoPi R2S 的固件。其中一种基于 FriendlyWrt 并添加我需要的包,另外两种分别基于 Lean OpenWrt 的不同分支。基于 FriendlyWrt 的固件 CPU 限制到了 1.2Ghz,另外两个固件 CPU 频率都已解锁到 1.5Ghz。

对于全家的主路由设备,我还是更倾向稳定,三种固件都测试过之后,我选择了基于 FriendlyWrt 的固件版本,以下测试都是 FriendlyWrt 固件的。

WAN 口协议为 DHCP 客户端时,NAT 性能可以稳定跑到 900多 Mbps,CPU 占用在 20% ~ 30% 之间。温度 55 度左右。

nanopi-r2s-iperf3-dhcp-wan


WAN 口协议为 PPPOE 时,由于 PPPOE 本身比较耗费性能,所以 NAT 性能有所下降,在 700 到 800 Mbps,CPU 占用提高 20% 左右,温度稍稍提高一两度。

nanopi-r2s-iperf3-pppoe-wan


对于家庭主路由来说,要以 PPPOE 拨号的测试结果为准。光猫拨号或旁路由的邪教我是不用的。公网 IP 和单层 NAT 是必需,毕竟多一层 NAT 就多一层损耗,不方便的地方很多。

从测试结果来看,R2S 对于 500M 的家庭宽带来说肯定是够用了。如果你家是千兆宽带的话,还是加钱上 x86 软路由吧。

另外 CPU 解锁 1.5Ghz 的话,NAT 测试时温度会到60多度。

看看 Youtube 的速度。

r2s youtube


这个速度看 Youtube 4k 是足够了。由于看流媒体并不需要一直高速访问,所以看 Youtube 过程中,CPU 使用率大部分时间都在个位数,只有偶发的高峰。

最后再看一眼 fast.com 的速度吧,在 WAN 口 DHCP 模式下测试。

r2s fastcom


下面是 fast.com 测速时的 CPU 占用和温度。

r2s fastcom nat


温度肯定没问题了。但 CPU 占用比较让人担心。那我们再来看看 fast.com 测速叠加 iperf3 做 NAT 性能测试的情况吧。fast.com 测速结果不变,我就不放图了。下面是 CPU 占用。

r2s fastcom plus dhcp nat


此时 CPU 占用 70%,如果再叠加 PPPOE 所增加的 20% 左右开销,R2S 的 CPU 已到达极限。

如果宽带出口大于 500M 又需要 PPPOE 的话,R2S 可能就需要解锁 CPU 主频,或者使用 Flow Offload 的补丁了。

解锁 CPU 主频可以额外增加 25% 的 CPU 性能,但温度会增加 10 度左右。

Flow Offload 我也测过(除了 FriendlyWrt 之外,我编译的另两种固件都支持),DHCP 全速 NAT 时基本能降低百分之十几的 CPU 占用,可惜 Flow Offload 在 R2S 上还不太稳定。

目前我还只是在拿 R2S 做单机测试。等我拿它正式作为主路由后,如果发现性能不足,我会优先解锁 CPU 主频上限。毕竟比四五十度的温度再增加 10 度,也还可以接受。

更新
我已把 R2S 放进弱电箱,当作主路由用了,更新一下实际使用中的性能情况。

测试条件是 NAS 下载 PT 35MBps,同时电视看 Youtube 4k,这是我实际使用中的极限情况了。

CPU 偶发过80%,温度稳定60度左右,load5 稳定在2.0,对 4 核 CPU 来说,2.0 的 load5 算是还不错了。

目前已稳定连续运行5天,未重启,未断网。

r2s main router youtube4k nas pt
 

顶部