我的威联通NAS之旅 篇六:以威联通为例,怎么在NAS上以Docker的方式安装openWRT软路由
哈喽小伙伴们,春节假期已经结束,不知道大家2023年的春节玩尽兴没有。
刚上班的我目前貌似还没进入状态,然后趁着刚开工事情也不多,所以在此这里水一篇文章,教大家怎么在NAS上以Docker的方式安装openWRT软路由。
👉为啥以Docker的方式安装openWRT软路由
说到在NAS上安装openWRT软路由,其实绝大部分的教程都是使用NAS上的虚拟机方式来实现的,对于旗舰级的NAS产品,无可厚非Vmm虚拟机是最好的方案,但是玩NAS的小伙伴都知道,虚拟机相对来说是非常费资源的,特别是对CPU以及内存的占用,非常影响NAS的整体性能。
而Docker就不一样了,它比虚拟机拥有更加灵活的调配机制,并且每个容器都是独立存在,CPU和内存资源也是动态占用的,所以对NAS的性能影响比虚拟机要小很多。简单来说,对于配置一般的NAS,我们可以用Docker办到的事情就不要使用虚拟机。
🔺我今天演示的NAS为威联通TS-464C,它是威联通去年发布的全新4盘位旗舰NAS,有4个3.5英寸盘位和2个NVMe SSD盘位,处理器采用的是Intel 高性能四核X86处理器,拥有双2.5G网口拓展+HDMI2.0视频输出。不过我这款NAS的内存为板载8GB,虽说折腾这么久8GB也是完全够用,但是为了尽可能的让内存占用更小,所以才想到了以Docker的方式安装openWRT软路由。
🔺先来给大家看看我在安装openWRT软路由之前,NAS上的内存占用为33%,等下看看我们安装好openWRT并跑起来之后的内存占用情况。
老规矩,今天的教程还是偏向于小白教程,对于有些大佬来说,文章内容可能过于冗余和啰嗦,如有不对的地方还请大佬们指正,不甚感激!
安装Portainer
为啥安装Portainer?因为它对新手小白友好啊,不用记住繁琐的Linux命令,通过Portainer图形化界面,点点鼠标就能对Docker进行各种操作,个人觉得它应该是所有新手小白玩转Docker的第一步。
🔺首先打开“File Station 文件总管”,找到威联通默认的Docker容器管理文件夹“Container”,在里面创建一个文件夹“portainer”,等下我们创建的portainer容器的数据管理就映射到此目录,好处是映射到实体路径的数据管理不会因为容器重启造成数据丢失,并且还方便后期数据迁移。
🔺而在portainer版本选择上,我选择了上图大佬在DockerHub分享的镜像,主要是因为它是汉化版本,并且有威联通独家支持的docker-compose文件(YAML文件)直接使用。
该镜像地址:https://hub.docker.com/r/outlovecn/portainer-cn
🔺将大佬的docker-compose文件复制到电脑的记事本中,我们这边需要将“volumes”下面『/date』冒号前面换成NAS中我们创建的“portainer”文件夹的真实路径。
关于怎么知道NAS中文件夹的真实路径,我之前给大家推荐过【FinalShell】软件,并且我接下来的操作也会用到该软件:
对于其它的NAS,你也可以直接在SSH远程连接工具中使用以下代码:
docker run -d -p 8000:8000 -p 9000:9000 —name=portainer —restart=always -v /var/run/docker.sock:/var/run/docker.sock -v portainer_data:/data outlovecn/portainer-cn:latest
🔺同样的,/date冒号前面需要换成NAS中我们创建的“portainer”文件夹的真实路径。
🔺接着打开威联通的“Container Station 容器工作站”,点击“创建—创建应用程序”
🔺这个页面中的“应用程序名称”随意,不要和你之前的容器重复即可。然后将我们前面记事本修改好的docker-compose文件复制到这里的黑色方框,最后点击“创建”
🔺不出意外,就能在“总览”这里看到我们创建的Portainer了,点击后面的链接图标。
🔺就能直接打开Portainer界面了(首次打开需要设置用户名和密码,随意设置,自己记住就可以了)。
安装openWRT软路由
👉第一步:SSH工具连接NAS
🔺首先用SSH工具连接咱们的NAS,我这边使用的是前面说的FinalShell,当然你用putty,Xshell什么的也没问题。连上以后输入命令【sudo -i】启动管理员模式,然后会要求输入密码,输入密码的时候不会有显示,输入好以后直接回车就是了。
🔺这里输入“ Q ”,回车
🔺这里输入“ Y ”,回车。
👉第二步:确认网卡名称
🔺输入命令【ifconfig】并回车查询网卡信息,会看到下面列出了很多网卡信息。
🔺那么怎么确定那个是我们需要的信息呢?我们可以看到在“eth1”上有个“inet addr:192.168.50.120”,而这个IP正好就是我们NAS的本地IP地址,所以我们这里需要记下的就是这个“eth1”的网卡(你那边也有可能为eth0),而“eth1”就是我们需要的网卡名称。
🔺这里顺便说说你可能会遇见的问题。如果你的NAS IP地址所在的网卡是以br, qvs开头的,说明你在之前在NAS中创建了虚拟交换机,如果你还想继续使用本方法,需要在威联通中的【网络与虚拟交换机】APP中,选择“虚拟交换机”,将IP地址为你NAS的本地的IP的交换机删掉即可。我这边已经删除了,所以是没有问题的。
👉第三步:创建macvlan网络
🔺接着输入命令【docker network create -d macvlan —subnet=192.168.50.0/24 —gateway=192.168.50.1 -o parent=eth1 macnet】并回车。这步的作用是创建一个macvlan的虚拟网卡。
请注意!!!这里的命令不能直接抄作业!!!因为这里的设置与你的路由器网段有直接关系!!!
我这边的路由器是华硕路由器,默认IP为192.168.50.1,它的网段其实就是192.168.50.X(X一般介于1-254),所以需要修改的地方为以下三个:
- —subnet=192.168.50.0/24 ->后面的IP地址修改为你那边的路由器网络所在的网段,且最后一位是0。/24默认不要动。
- —gateway=192.168.50.1->后面的IP地址修改为你那边的路由器网络所在的网段,且最后一位是1。我这边其实就是路由器本地IP地址。
- parent=eth1->后面的网卡修改为我们前面记下的网卡(你那边也有可能为eth0)
🔺然后我们输入命令【docker network list】检查以下,我们上步创建的macvlan虚拟网卡是否成功。
👉第四步:创建openwrt容器
其实支持Docker的openWRT软路由镜像很多,我个人因为使用esirPG大佬的镜像很多年,所以这里也直接用他的镜像了。当然你也可以直接用其它大佬的支持x86架构的openWRT软路由镜像。
🔺这个是我使用的openWRT镜像,地址为:https://hub.docker.com/r/esirpg/buddha
🔺然后输入命令【docker run -d —restart always —name openwrt —privileged —network macnet —ip=192.168.50.111 esirpg/buddha /sbin/init】。
这个命令需要注意的地方就是:
- —ip=192.168.50.111->后面的IP地址修改为路由器网络所在的网段且局域网中没有被使用的IP,因为这个IP地址就是你后来的openWRT软路由的IP地址。
👉第五步:配置openwrt容器
🔺接着我们就需要打开开始创建的Portainer界面了。在“容器”中,我们可以看到上步创建好的openwrt容器,点击“执行控制台”图标。
🔺点击“连接”
🔺输入命令【nano /etc/config/network】并回车
🔺这里只修改一个地方:
- option ipaddr ->后面的IP地址修改为我们上步创建openwrt容器的那个没有被使用的IP地址!!!
🔺搞定之后快捷键“Crtl + X ”退出,并且按“ Y ”回车保存即可完成openwrt容器配置。
👉第六步:配置防火墙
🔺还是上步不要退出,输入命令【nano /etc/config/firewall】并回车。
🔺这里修改的有两个地方:
- option syn_flood -> 后面修改为“ 0 ”
- option forward -> 后面修改为“ACCEPT”
🔺同样的,搞定之后快捷键“Crtl + X ”退出,并且按“ Y ”回车保存即可。
👉第七步:启动openwrt容器
🔺然后回到Portainer的“容器”界面,勾选“openwrt”,选择“重启”
🔺打开浏览器,输入之前我们设置的openwrt的IP地址,就进入到openwrt的登录页面了。这里的密码可以任意填写,或者不填写直接回车,就可以直接进入openwrt的管理页面了,然后根据提示修改密码即可。
🔺基本上到这里以Docker的方式安装openWRT软路由就算成功了。至于后续的openWRT软路由设置部分,因为之前写过教程,这里就不再赘述了。
不过这里我依然建议大家这里的软路由作为旁路有使用,不要当作主路由,毕竟Docker的稳定性相对来说还是有点问题的~
🔺最后奉上我安装openWRT软路由之后并配置好的系统内存占用情况,可以看出才增加了3%,就算大负荷跑起来我想也不会增加很多的。所以说,Docker版的openWRT软路由相比虚拟机来说,优势还是非常明显的!
总结
理论上今天的教程适合所有支持Docker的NAS使用,如果你正好需要,请别忘记点击收藏,顺便点点关注,后期还会有更多好玩又实用的干货教程奉上的哦~~
好了,以上就是今天给大家分享的内容,我是爱分享的Stark-C,如果今天的内容对你有帮助请记得收藏,顺便点点关注,我会经常给大家分享各类有意思的软件和免费干货!谢谢大家~
辛勤耕耘的熊
校验提示文案
windfly
校验提示文案
tuutoo
校验提示文案
莫抢我棒棒糖
校验提示文案
灵KOYB
校验提示文案
Houpi
校验提示文案
饕餮好难写
校验提示文案
弗老大
校验提示文案
僭居真實的虛偽
校验提示文案
Geng_Le
校验提示文案
陶瓷哇哇
校验提示文案
值友4101817968
校验提示文案
残酷天使
校验提示文案
张大胆和张大胆
校验提示文案
shine437
校验提示文案
搓澡于师傅
校验提示文案
兔牙先生
校验提示文案
荒山老鬼
校验提示文案
关门扎辫子
校验提示文案
日初到迟暮
校验提示文案
月山居
校验提示文案
二木喵
校验提示文案
给你一个赞吧
校验提示文案
山的那一边
校验提示文案
影冠
校验提示文案
isaac_sjw
校验提示文案
搓澡于师傅
校验提示文案
关门扎辫子
校验提示文案
值友7150548167
"docker network create" requires exactly 1 argument.
See 'docker network create --help'.
Usage: docker network create [OPTIONS] NETWORK
Create a network
家里的nas IP地址对应的网口是eth0 也是华硕同款ip地址,可是报错了求支援
校验提示文案
六千里
校验提示文案
ken983
校验提示文案
值友9795824114
校验提示文案
值友1671259626
校验提示文案
宁可吃灰也不吃亏
校验提示文案
中年老男人
校验提示文案
zxdzg2797
校验提示文案
vgame02
校验提示文案
shine437
校验提示文案
phxufeng
校验提示文案
张大胆和张大胆
校验提示文案