openwrt docker怎么用(docker实现Openwrt也许是N1不错的选择)

不知道折腾N1的朋友有没有一个感受,就是实现OP软路由的过程中往往一次疏忽粗心,导致网络中断,毕竟各家的拓扑不同,大家的理解程度也不同,用N1直刷OP网络配置失误的案例也比比皆是,往往又需要刷U盘引导,写EMMC,甚至还得恢复N1uboot分区,费时费力。

那么我们为什么要折腾N1

1,nas售价高,榨取n1剩余价值

2,需要利用OP的出国服务插件

3,希望N1安装PT和BT软件当下载机

4,能够在家庭局域网或外网点播家中的下载资源

 

于是我们需要PW,需要QBITTORRENT\ARIA2,甚至需要JELLYFIN或emby,更需要docker来实现nas的花样服务。

以往就算OP的坑顺利趟过去,因为不同编译环境所需依赖不一,版本不同,加上LUCI软件包也是五花八门,所以后面的坑还很多,于是回归原点,为了满足前面的需求,折腾N1的正确姿势应该是什么?

其实N1的最初走红离不开灯大的小钢炮,这本身就是一个经过优化的定制下载系统,完善的磁盘挂载服务,从TR到ARIA再到QBT的全明星阵容,而且还相当的稳定,回归初心我重刷了小钢炮,然后借助小钢炮自带的docker容器和jellyfin实现需求。通过在小钢炮的DOCKER里安装openWRT,做旁路实现全家出国,即使配错了删除容器再部署就可以了,都不会影响主网的正常运行。

那我们开始动手吧

完整视频请点击观看!完整视频请点击观看!完整视频请点击观看!

 


第一步:刷写小钢炮

准备8gU盘,下载灯大的小钢炮固件

https://www.right.com.cn/forum/thread-324404-1-1.html

,加压成IMG,烧录镜像,插入到N1靠近HDMI的U口上,通电引导;

说明:如果是电视盒子固件,请先做盒子激活U盘启动的步骤,这个视频里有我就不介绍了。

然后等几分钟,看到主路由或旁路有的终端已经获取到IP,说明引导完毕,记下IP

然后打开浏览器,输入IP端口8096

就会看到如下界面,提示写入EMMC,点击INSTALL,等待直到出现all done,期间如果出现错误代码提示sock失败,不用理它。

如果emmc失败,也可以通过op启动引导实现emmc的分区引导恢复。

dd if=/root/u-boot-2015-phicomm-n1.bin of=/dev/mmcblk1

reboot

然后拔掉U盘,拔掉电源,再插上电源,这时就不再是U盘引导模式了。

输入小钢炮IP( 同样通过路由器DHCP的终端信息中获悉,不过一般不会变更)

所以浏览器输入IP回车

先别急着登录

chrome浏览器ctrl+shift+i开启开发者工具,然后鼠标长按浏览器的刷新键出现下拉菜单,选第三项强制清空缓存。

然后输入默认的密码root,登录。

第二步:启动docker和jellyfin

进入系统管理后台,直奔system下的startup菜单,然后找到s60docker和最后一个jellyfin关键词的,点击yes,然后start,这样默认没开启的docker和jellyfin就激活了。

进入app下的other,最后两项就是具体的配置页,doker需要先安装docker图形化配置,其实就是,然后成功后,两者分别点webui和dockui,准备进入下一步的配置。

第三步:挂载NAS或本地磁盘配置PT客户端

由于n1闪存不大,所以下载要么下到nas上,要么下到外挂的移动硬盘上,无论哪种情况,结合前面的jellyfin和docker都可以需要挂载目录,我将jellyfin的Media选择了事先挂载的威联通文件夹,方法如下,smb和NFS命令有所区别,但原理一样,先在N1本地创建新的文件夹,

然后通过SSH登录后进行指令挂载。

mkdir /media/nas

挂载samba文件系统,ip和权限账户换成你自己的,/media/nas是你刚创建的文件夹

mount -t cifs //192.168.5.200/共享文件夹 /media/nas -o iocharset=utf8,username=xxxx,password=xxx

或者挂载NFS文件系统,道理同上

mount -t nfs4 192.168.5.200:/nas共享文件夹 /media/nas

需要说明的是要挂载的远程文件夹的权限一定要清晰,是否有读或写的权限。

N1外挂磁盘就简单了,插上后系统直接就映射了

为了每次启动手工添加的挂载有可能失效,我在system系统下的Startup启动菜单下Local Startup中将上面输过的指令又保存了到了开机配置中。

mkdir /media/nas

mount.cifs //192.168.50.200/uhd /media/nas -o username=admin,password=123456

hmod 777 /media/nas

/etc/init.d/S92qbittorrent restart

/etc/init.d/S92transmission restart

成功挂载后就可以在PT的应用中将下载目录对应改好,jellyfin也可以顺利的扫描到nas上的资源。

考虑到PT特殊性,需要在路由上做相应的端口转发,至于想通过远程访问的,大家可以搜索FRP内网穿透和DDNS相关的教程。

成功后QBT顺利拉取内容下载,然后通过小钢炮自带的filemanage可以检查文件是否顺利储存到外置空间内。

第四步:安装OP

进入docker,点击小鲸鱼,点击image,然后拉取镜像

输入包名
unifreq/openwrt-aarch64:latest

因为创建容器ssh命令行操作更方便所以PUTTY连接N1

ip link set eth0 promisc on

然后输入

docker network create -d macvlan --subnet=192.168.50.0/24 --gateway=192.168.50.1 -o parent=eth0 macnet

( 这里面的IP要根据你的主路由网段和IP进行修改)

然后network里就多了一个macvlan的网关配置

接着输入

docker run --restart always -d --network macnet --privileged unifreq/openwrt-aarch64 /sbin/init

回到Container,看看有没有多了一个容器,设置成你容易识别的名字,点击console,进入命令行更改n1 op IP地址。

输入 vi /etc/config/network,更改 openwrt 网卡信息

先按字母i 或者Insert键才可以输入文字

找到一个IP地址,192.168.50.1 把1改为任何一个不冲突的同网段数字,我改为10

依次按 Esc :wq 接着输入Enter,保存退出

现在就可以浏览器访问你修改后的IP进行op后台的访问,这个镜像固件的默认账户密码是root和password

再往后大家应该了解旁路有的设置,我之前的视频已经交代了,这时大功告成,n1小钢炮实现了一开始的全部需求,如果还有一台可以刷成corelec然后通过jellyfin插件实现内网直通播放,至于安装博客之类的方法也都大同小异。

那这一期假装是售后就到这里,记得点赞关注或三连,再见。

mount命令用于加载文件系统到指定的加载点,必须使用Linux mount命令来手动完成挂载。


mount(选项)(参数)选项

-V:显示程序版本;

-l:显示已加载的文件系统列表;

-h:显示帮助信息并退出;

-v:冗长模式,输出指令执行的详细信息;

-n:加载没有写入文件“/etc/mtab”中的文件系统;

-r:将文件系统加载为只读模式;

-a:加载文件“/etc/fstab”中描述的所有文件系统。参数

设备文件名:指定要加载的文件系统对应的设备名;

加载点:指定加载点目录。