斐讯N1 刷机openwrt教程docker版本对比直刷版 性能测试
我的N1是去年入手的,当时花了100多吧,一直用来当旁路由,很稳定,性能也够用,最近闲来无事,想把N1刷成ARMBIAN
服务器安装docker
拉取openwrt
镜像,之前玩客云就是这样玩的,顺便对比下性能有什么差距!
先看下斐讯N1的配置:
Amlogic S905D Cortex-A53
RAM:2GB,ROM:8GB
USB 2.0*2
HDMI *1
RJ45千兆 *1
这矿渣产品素质真是不错啊,有个千兆网卡挺好的,斐讯可惜了,做路由器挺好的企业,盒子做工也很好,大厂出品,比运营商送的盒子好多了。
N1直刷版OpenWrt
flippy大佬维护的OpenWrt固件
https://www.right.com.cn/forum/thread-4076037-1-1.html
OpenWrt
刷机过程就不说了,网上教程也很多,不重复造轮子了,只要刷过一次激活了U盘启动,就可以先把固件镜像等刷到U盘里,然后插入N1的USB接口启动了,之后可以写入EMMC
也可以U盘启动。
SSH登录,写入emmc命令如下:
./inst-to-emmc.sh
固件刷恩山大佬flippy维护的,一直在更新,感谢!
N1刷入ARMBIAN系统
GitHub Armbian发布页
https://github.com/ophub/amlogic-s9xxx-armbian/blob/main/README.cn.md
Armbian(中文名:岸边) 系统是基于 Debian/Ubuntu 而构建的专门用于 ARM 芯片的轻量级 Linux 系统。Armbian 系统精益、干净,并且 100% 兼容并继承了 Debian/Ubuntu 系统的功能和丰富的软件生态,可以安全稳定地运行在 TF/SD/USB 及设备的 eMMC 里。
我也在网盘备份了,可以直接下载!
U盘写入armbian的镜像
打开写入镜像工具,把镜像写入U盘!
N1启动armbian系统
U盘要插入N1外侧的usb接口,通电、SSH登录,然后更改默认密码
选择shell方式,我选了1
armbian系统写入emmc
armbian-install
选择第一个N1的代码101
,然后存储方式选择ext4
写入成功后!
拔掉U盘,重新通电,SSH登录armbian系统!
Win10&Mac命令(打开cmd或者终端):ssh [email protected]
第一步:换Debian源(为了能更新系统)
nano /etc/apt/sources.list
复制下面代码
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ jammy main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ jammy-updates main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ jammy-backports main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ jammy-security main restricted universe multiverse
鼠标右键粘贴 Ctrl + x 保存退出
更新armbian
内核:
apt-get update 是同步 /etc/apt/sources.list 和 /etc/apt/sources.list.d 中列出的源的索引,这样才能获取到最新的软件包。
armbian-update
等待代码拍完,到此,armbian
准备完毕!
安装docker环境
安装docker命令:
apt install docker.io
选Y
安装完成后 docker -v
查看下版本,确认安装成功!
docker常用命令
查看运行的容器:
docker ps
停止容器:
docker stop OpenWrt
删除容器:
docker rm OpenWrt
删除网络:
docker network rm xxxx
重启容器:
docker restart OpenWrt
安装OpenWrt镜像
OpenWrt镜像地址
https://hub.docker.com/r/buddyfly/openwrt-aarch64
打开网卡混杂模式
ip link set eth0 promisc on
创建docker的虚拟网络(可用docker network ls查看已创建了哪些)
docker network create -d macvlan --subnet=192.168.100.0/24 --gateway=192.168.100.1 -o parent=eth0 macnet
【名称为macnet,macvlan模式,将100.x修改为你自己主路由的网段】
拉取OpenWrt镜像
docker pull buddyfly/openwrt-aarch64
开启openwrt容器:
docker run --name openwrt --restart always -d --network macnet --privileged buddyfly/openwrt-aarch64:latest
路由器后台看不见openwrt的IP地址,默认网段是:192.168.99.2,需要修改为你的网段。
进入容器:
docker exec -it openwrt /bin/sh
编辑网络配置:
nano /etc/config/network
修改成你的网段 Ctrl+x 保存退出
重启网络
/etc/init.d/network restart
路由器后天找到openwrt地址,登录即可
默认密码:password,默认ip:192.168.99.2(修改成你的IP)
旁路由设置:
IP网关设置成主路由
桥接 默认,如果是直刷版,取消桥接
关闭DHCP服务器、关闭IPV6
添加自定义的防火墙规则:iptables -t nat -I POSTROUTING -o eth0 -j MASQUERADE
原理: 上网电脑的网关设为旁路由IP,网络包先发到N1的op,op会把该网络包经过加工后转发给主路由, 但转发前需要把网络包的源地址伪装成自己的,这样主路由返回的网络包也会先返回到旁路由,再 从旁路由返回上网电脑。如果不伪装,则主路由的返回包直接返给电脑了,路由不能闭合,结果就 是旁路由一直在等返回包而等不到,造成大量的TCP连接不能关闭,最终结果是网络卡顿或是彻底 不通。
N1盒子OpenWrt性能测试
测试之前,社长感觉直刷应该性能强点吧,毕竟armbian
系统也要吃点资源的?客观环境啥的都一样,跑一个油管4K和speedtest测速,具体如何,开始吧!
直刷版OpenWrt性能
油管分数:稳定在10万左右,最高13万多,CPU最高占用率15%!
speedtest分数:测了好几次,最高338Mbps,CPU占用率最高45%
docker版OpenWrt性能
油管分数:10万左右,最高14万,CPU占用率最高20%
speedtest分数:好几次都是460Mbps以上,CPU最高26%
这个结果是出乎意料了。ARMBIAN
系统下N1当旁路由才是正确的打开方式吗?跟预想的完全不一样,搞不懂是为什么。
总结一下
斐讯N1作为18年的矿渣产品,到今天还是有一战之力的,在各种大神的开发的固件下,为家庭网络尽了一份力。功耗极低,2到3瓦,被动散热,做工好,单网口(旁路由、旁网关)设备感觉没有比N1更适合的产品了,直刷OpenWrt简单点,也包含docker功能,想要玩服务器ARMBIAN
折腾一点,性能更强一点!