2023-01-31 00:21:54
338点赞
1057收藏
69评论
哈喽小伙伴们,春节假期已经结束,不知道大家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并跑起来之后的内存占用情况。 京东 ![]() 威联通(QNAP)TS-464C4盘位8G内存四核心处理器网络存储服务器内置双M.2插槽NAS私有云(453Dmini升级版) ¥2160 去购买 优惠 满1500元减100元 领取 老规矩,今天的教程还是偏向于小白教程,对于有些大佬来说,文章内容可能过于冗余和啰嗦,如有不对的地方还请大佬们指正,不甚感激! 安装Portainer为啥安装Portainer?因为它对新手小白友好啊,不用记住繁琐的Linux命令,通过Portainer图形化界面,点点鼠标就能对Docker进行各种操作,个人觉得它应该是所有新手小白玩转Docker的第一步。 🔺首先打开“File Station 文件总管”,找到威联通默认的Docker容器管理文件夹“Container”,在里面创建一个文件夹“portainer”,等下我们创建的portainer容器的数据管理就映射到此目录,好处是映射到实体路径的数据管理不会因为容器重启造成数据丢失,并且还方便后期数据迁移。 🔺而在portainer版本选择上,我选择了上图大佬在DockerHub分享的镜像,主要是因为它是汉化版本,并且有威联通独家支持的docker-compose文件(YAML文件)直接使用。 该镜像地址:https://hub./r/outlovecn/portainer-cn 🔺将大佬的docker-compose文件复制到电脑的记事本中,我们这边需要将“volumes”下面『/date』冒号前面换成NAS中我们创建的“portainer”文件夹的真实路径。 关于怎么知道NAS中文件夹的真实路径,我之前给大家推荐过【FinalShell】软件,并且我接下来的操作也会用到该软件: 文章 ![]() 折腾小白最爱的国产免费ssh终端工具【FinalShell】 ![]() ![]() 2022-12-02 ![]() 62 对于其它的NAS,你也可以直接在SSH远程连接工具中使用以下代码:
🔺同样的,/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),所以需要修改的地方为以下三个:
🔺然后我们输入命令【docker network list】检查以下,我们上步创建的macvlan虚拟网卡是否成功。 👉第四步:创建openwrt容器 其实支持Docker的openWRT软路由镜像很多,我个人因为使用esirPG大佬的镜像很多年,所以这里也直接用他的镜像了。当然你也可以直接用其它大佬的支持x86架构的openWRT软路由镜像。 🔺这个是我使用的openWRT镜像,地址为:https://hub./r/esirpg/buddha 🔺然后输入命令【docker run -d —restart always —name openwrt —privileged —network macnet —ip=192.168.50.111 esirpg/buddha /sbin/init】。 这个命令需要注意的地方就是:
👉第五步:配置openwrt容器 🔺接着我们就需要打开开始创建的Portainer界面了。在“容器”中,我们可以看到上步创建好的openwrt容器,点击“执行控制台”图标。 🔺点击“连接” 🔺输入命令【nano /etc/config/network】并回车 🔺这里只修改一个地方:
🔺搞定之后快捷键“Crtl + X ”退出,并且按“ Y ”回车保存即可完成openwrt容器配置。 👉第六步:配置防火墙 🔺还是上步不要退出,输入命令【nano /etc/config/firewall】并回车。 🔺这里修改的有两个地方:
🔺同样的,搞定之后快捷键“Crtl + X ”退出,并且按“ Y ”回车保存即可。 👉第七步:启动openwrt容器 🔺然后回到Portainer的“容器”界面,勾选“openwrt”,选择“重启” 🔺打开浏览器,输入之前我们设置的openwrt的IP地址,就进入到openwrt的登录页面了。这里的密码可以任意填写,或者不填写直接回车,就可以直接进入openwrt的管理页面了,然后根据提示修改密码即可。 🔺基本上到这里以Docker的方式安装openWRT软路由就算成功了。至于后续的openWRT软路由设置部分,因为之前写过教程,这里就不再赘述了。 文章 ![]() 打造全网最详细的群晖NAS安装软路由保姆教程,从下载到安装到设置一文搞定【附高性价比NAS推荐】 ![]() ![]() 2022-11-03 ![]() 84 不过这里我依然建议大家这里的软路由作为旁路有使用,不要当作主路由,毕竟Docker的稳定性相对来说还是有点问题的~ 🔺最后奉上我安装openWRT软路由之后并配置好的系统内存占用情况,可以看出才增加了3%,就算大负荷跑起来我想也不会增加很多的。所以说,Docker版的openWRT软路由相比虚拟机来说,优势还是非常明显的! 总结理论上今天的教程适合所有支持Docker的NAS使用,如果你正好需要,请别忘记点击收藏,顺便点点关注,后期还会有更多好玩又实用的干货教程奉上的哦~~ 好了,以上就是今天给大家分享的内容,我是爱分享的Stark-C,如果今天的内容对你有帮助请记得收藏,顺便点点关注,我会经常给大家分享各类有意思的软件和免费干货!谢谢大家~ ![]() |
|