Unraid 中用 Docker 容器的方式安装 OpenWrt 旁路由

2020-12-21 21:49:40 110点赞 977收藏 71评论

创作立场声明:Unraid新人,努力追寻大佬的步伐,分享自己的成果。

关于Unraid

近期张大妈上面关于unraid的文章很多,不禁手痒,也装了一个。个人感觉还是很不错的:
> 首先它对硬件很友好,什么电脑都能装。ESXI和群晖都很挑硬件;
> 它的硬盘阵列管理很灵活。数据存放的逻辑很简单,自己进到硬盘目录下一看就明白了。自己可以根据需要把数据移来移去;
> 它对Docker和VM都很友好,创建、使用、管理都很方便。

OpenWrt旁路由

基本上我还是学着别人在玩unraid,看到别人推荐什么docker,就装上去试试,觉得不好用就删掉。Docker容器真的节约资源,开十几个Docker容器也就多100来兆内存,平时CPU占用率都很低的。要是在ESXI上开虚拟机,每个虚拟机分配几个G的内存,一下就把系统内存分配完了。

Unraid这么好用,当然要跑个OpenWrt旁路由

在张大妈里搜了一下,介绍如何在unraid里安装OpenWrt旁路由的文章不多,而且貌似都是用虚拟机的方法。比如 @江枫雨 的这篇:

Unraid 篇一:Unraid虚拟单网卡安装openwrt做旁路由,以及OpenWrt的优化配置创作立场声明:把最近的对外网访问的研究方案分享出来,针对与Unraid这一个Nas系统平台,和大家探讨交流。 使用Unraid的Nas系统已有一个多月,对其强大的可定制能力以及对虚拟机和docker的各种硬件直通,喜爱不已。在Unraid系统中搭建了各种Docker:FileBrower私有云、Je江枫雨| 46 评论43 收藏500查看详情


为啥不用Docker呢?

也许有坑,我来踩踩... ...

废话不多说,直接开始

安装 OpenWrt 容器

在Docker里点击“ADD CONTAINER”

Name: <随便>
Repository: openwrtorg/rootfs:x86-64
Network Type:br0
Fixed IP: <给个IP>

安装OpenWrt容器安装OpenWrt容器


正常情况下应该都很顺利,系统会把需要的image下载下来,然后启动OpenWrt。可以点击Docker的图标,然后点CONSOLE来访问它

OpenWrt 启动界面OpenWrt 启动界面

还有些东西需要改一下:

1. 这个OpenWrt 没有Web界面,如果需要可以安装Luci。

但是Web界面不是必须,我自己是不安装的,节约一份资源就是多一份性能。安装界面是不可能的,这辈子不可能安装界面的。

当然 Luci的WebUI看看还是蛮爽的,它显示的内存是host的全部内存,于是就有了本文的封面图片: 16GB内存的OpenWrt !!!

(本文以指导如何用命令行实现为主,UI相关的命令用普通字体,命令行的方式相关的会使用加粗字体)

opkg update
opkg install luci
opkg install luci-base luci-compat

安装后 Reboot 一下,就可以用Web访问它了。

2. 这个OpenWrt 只有一个网口,系统默认把它设为WAN,需要把它改成LAN口。安装的luci的在Network 页下删除原来的WAN,WAN6,添加LAN就好,太简单了,不细说了。

用命令行的

vi /etc/config/network

把原来的wan内容删掉,改成这样。注意这里的IP地址要和上面安装Docker容器时一致哦。

config interface 'loopback'
option ifname 'lo'
option proto 'static'
option ipaddr '127.0.0.1'
option netmask '255.0.0.0'

config interface 'lan'
option proto 'static'
option ifname 'eth0'
option ipaddr '10.0.0.65'

3. 第三个问题是它还没有root的密码,用passwd给它设个密码吧

passwd


一个旁路由就装好了,用它干点啥吧

还能干啥,装个代理吧。

【应编辑要求,此处删去220字,一句话概括就是可以安装代理,界面或者纯命令行都可以】

没有看到什么坑啊,为啥大佬们都不用docker 而是要用VM?

PK一下吧... ...

OpenWrt on Docker V.S. OpenWrt on VM

测试一: OpenSSL 跑分

参考: 使用OpenSSL对OpenWrt系统进行基准测试


Unraid 中用 Docker 容器的方式安装 OpenWrt 旁路由

Unraid 中用 Docker 容器的方式安装 OpenWrt 旁路由

Unraid 中用 Docker 容器的方式安装 OpenWrt 旁路由

Unraid 中用 Docker 容器的方式安装 OpenWrt 旁路由

AES运算比较AES运算比较

SHA运算比较SHA运算比较

测试中两种模式都能用到host所有四个CPU核,但是一个任务都只能跑在一个核上。
测试成绩互有胜负,差距很小。但是关键的加密算法和哈希算法都是Docker胜出(一点点)。


测试二: speedtest.net 测速

OpenWrt on DockerOpenWrt on Docker

OpenWrt on VMOpenWrt on VM

在这个测试里 用Docker运行的OpenWrt 要比VM里的好。具体原因未知。开始我以为是测试误差,但是测试里几遍都是同样的结果,很是奇怪。

后来我又找不同时段测试了一下还是docker里的OpenWrt比VM的快。

总结

在 Unraid 里可以用 Docker 的方式安装、运行 OpenWrt。方法比VM简单,性能也比VM好。
建议大家都用docker的方式安装OpenWrt。

Unraid 中用 Docker 容器的方式安装 OpenWrt 旁路由


展开 收起

Xiaomi 小米 AX3000T 双频3000M 家用千兆Mesh路由器 Wi-Fi 6 白色 单个装

Xiaomi 小米 AX3000T 双频3000M 家用千兆Mesh路由器 Wi-Fi 6 白色 单个装

89.5元起

Ruijie 锐捷 雪豹 X30E 双频3000M 家用千兆Mesh无线路由器 Wi-Fi 6 白色 单个装

Ruijie 锐捷 雪豹 X30E 双频3000M 家用千兆Mesh无线路由器 Wi-Fi 6 白色 单个装

169元起

Xiaomi 小米 BE6500 Pro 双频6500M 家用千兆Mesh无线路由器 Wi-Fi 7

Xiaomi 小米 BE6500 Pro 双频6500M 家用千兆Mesh无线路由器 Wi-Fi 7

535元起

ASUS 华硕 RT-BE88U 双频7200M 家用Mesh无线路由器 Wi-Fi 7 黑色 单个装

ASUS 华硕 RT-BE88U 双频7200M 家用Mesh无线路由器 Wi-Fi 7 黑色 单个装

1999元起

ZTE 中兴 AX3000 巡天版 双频3000M 家用千兆Mesh无线路由器 Wi-Fi 6 单个装 白色

ZTE 中兴 AX3000 巡天版 双频3000M 家用千兆Mesh无线路由器 Wi-Fi 6 单个装 白色

159元起

Xiaomi 小米 AX6000 双频6000M 家用千兆Mesh无线路由器 Wi-Fi 6 单个装 黑色

Xiaomi 小米 AX6000 双频6000M 家用千兆Mesh无线路由器 Wi-Fi 6 单个装 黑色

339元起

Redmi 红米 AX6000 双频5952M 家用千兆Mesh无线路由器 Wi-Fi 6 单个装黑色

Redmi 红米 AX6000 双频5952M 家用千兆Mesh无线路由器 Wi-Fi 6 单个装黑色

319元起

Xiaomi 小米 BE3600 2.5G版 3600M 双频千兆家用无线路由器 Wi-Fi 7 白色

Xiaomi 小米 BE3600 2.5G版 3600M 双频千兆家用无线路由器 Wi-Fi 7 白色

199元起

HUAWEI 华为 BE3 Pro 双频3000M 千兆家用路由器 Wi-Fi 7 黑色

HUAWEI 华为 BE3 Pro 双频3000M 千兆家用路由器 Wi-Fi 7 黑色

287元起

ZTE 中兴 问天BE7200Pro+ 双频7200M 家用千兆Mesh无线路由器 WiFi 7 黑色

ZTE 中兴 问天BE7200Pro+ 双频7200M 家用千兆Mesh无线路由器 WiFi 7 黑色

579元起

京东云 BE6500 千兆无线路由器 WiFi7

京东云 BE6500 千兆无线路由器 WiFi7

589元起

Xiaomi 小米 BE7000 三频千兆Mesh无线路由器 Wi-Fi 7

Xiaomi 小米 BE7000 三频千兆Mesh无线路由器 Wi-Fi 7

406元起

ZTE 中兴 巡天AX3000Pro+ 双频3000M 家用千兆Mesh无线路由器 Wi-Fi 6 白色 单个装

ZTE 中兴 巡天AX3000Pro+ 双频3000M 家用千兆Mesh无线路由器 Wi-Fi 6 白色 单个装

249元起

TP-LINK 普联 BE5100 双频5100M 家用千兆Mesh无线路由器 Wi-Fi 7 黑色 单个装

TP-LINK 普联 BE5100 双频5100M 家用千兆Mesh无线路由器 Wi-Fi 7 黑色 单个装

279元起

TP-LINK 普联 XDR5410易展版·玄鸟 双频5400M 千兆Mesh无线路由器 黑色

TP-LINK 普联 XDR5410易展版·玄鸟 双频5400M 千兆Mesh无线路由器 黑色

139元起

TP-LINK 普联 飞流系列 TL-XDR5480 易展Turbo版 双频5400M 家用千兆Mesh无线路由器 WiFi 6 单个装 灰色

TP-LINK 普联 飞流系列 TL-XDR5480 易展Turbo版 双频5400M 家用千兆Mesh无线路由器 WiFi 6 单个装 灰色

397元起
71评论

  • 精彩
  • 最新
  • 1g够了,我分了3g给openwrt发现给多了...群晖920

    校验提示文案

    提交
    其实OpenWrt 256MB内存就够了。 但是用VM就有这样的问题 它就会固定占用相应的内存, 而实际上 它可能只用了30MB。 虚拟机开太多 系统的内存会很快被占满了

    校验提示文案

    提交
    不是呀 esxi cpu和内存都是用多少占多少 除非开了直通内存才回预先全部占用

    校验提示文案

    提交
    还有2条回复
    收起所有回复
  • 按步骤装了,但是打开启动画面就最顶上的一行版本号 [哭泣]

    校验提示文案

    提交
    敲一下回车看看

    校验提示文案

    提交
    收起所有回复
  • vm设置cpu为host,开启ase加密指令就一样了。

    校验提示文案

    提交
    aes,笔误

    校验提示文案

    提交
    我的默认就是 “CPU Mode: Host Passthrough”, 我测试的时候也是在这个模式下

    校验提示文案

    提交
    收起所有回复
  • 问一下楼主,自己源代码编译的怎么部署到docker下,我看menuconfig下没有针对docker的编译设置呀

    校验提示文案

    提交
    把自己的docker image上传到 hub.docker.com就可以了

    校验提示文案

    提交
    收起所有回复
  • 我到今天都没搞懂软路由到底有什么用,百度搜的看着也一头雾水

    校验提示文案

    提交
    你是说 软路由 还是 旁路由? 我这篇文章讲的是旁路由。 软路由是一台至少有两个以上网口的电脑或者微电脑,然后用它来当网关 甚至拨号,好处是速度快啊,NAT过程(IP包 打包或者拆包到本地IP)还是蛮消耗CPU资源的。一般的路由器 LAN to LAN 跑满千兆没有问题,但是 LAN to WAN就很难跑满千兆了。用Intel的CPU 那是小菜一碟

    校验提示文案

    提交
    哈 我打错字了 是不懂旁路由到底有啥用 代替主路由做数据处理吗?高端一点的路由器 比如华硕用自己的CPU应该不会比N1差吧

    校验提示文案

    提交
    还有1条回复
    收起所有回复
  • docker是容器化,实际可以看做是直接运行在host主机下的,所以可以利用到主机的全部性能,除非你在建立容器的时候加入资源限制,你的16G openwrt系统就是这么来的,只不过它的运行环境是隔离开的,在主机上列出全部运行进程,可以直接看到所有的docker容器进程,而VM是虚拟化,整个硬件环境全部都是虚拟化出来的,所以多少都会有一些损失

    校验提示文案

    提交
  • 16G的软路由,到头来度娘还是给你80k/s

    校验提示文案

    提交
  • opkg install luci
    opkg install luci-base luci-compat这两个安装命令提示出错,还有留学可以不说,去广告应该说一下吧,哈哈

    校验提示文案

    提交
  • 好奇为什么docer的网络性能比vm好这么多,如果能究其原因可能改变现在很多商业部署。

    校验提示文案

    提交
    docker算是软件隔离,docker不是很方便直通网卡,而是虚拟一张网卡,共用内核,因此效率高一点,但可能会在高峰期间不太稳定

    校验提示文案

    提交
    Docker网络不是有host模式吗

    校验提示文案

    提交
    收起所有回复
  • 老大,这个能直通网卡吗。

    校验提示文案

    提交
  • Docker yes [邪恶]

    校验提示文案

    提交
  • 是不是vm可以网卡直通 在某些方面性能会好些

    校验提示文案

    提交
  • 有没有装好插件的docker image啊?不会装插件

    校验提示文案

    提交
  • 没有虚拟化这一层 对CPU和内存的使用率肯定会好 用vm是为了更好地硬件隔离 docker只是容器 软件隔离

    校验提示文案

    提交
  • 没感觉。。 [小怒]

    校验提示文案

    提交
  • 32G + 双固态的6口I5-7200U软路由,装ESXI,感觉还行。

    校验提示文案

    提交
  • 如果单纯为了科学网络,其实没啥卵用,r1s足矣

    校验提示文案

    提交
  • unraid里我都分配256mb给openwrt

    校验提示文案

    提交
  • 软路由能有多软,还能比倒模软。

    校验提示文案

    提交
  • 我只知道拥有一台24G内存的软路由是什么感觉 [尴尬] [尴尬] [尴尬]

    校验提示文案

    提交
    我知道128g内存的路由器什么感觉。 [亲亲] [亲亲]

    校验提示文案

    提交
    就是和2G的路由器一个感觉 [倒地] [倒地] [倒地]

    校验提示文案

    提交
    收起所有回复
提示信息

取消
确认
评论举报

相关好价推荐
查看更多好价

相关文章推荐

更多精彩文章
更多精彩文章
最新文章 热门文章
977
扫一下,分享更方便,购买更轻松