unraid系统 使用docker安装openwrt
创作理由
一直好奇,大家都是推荐使用vm的方式去实现op或者爱快,而我只是打算做旁路由,感觉没必要直通网卡(其实是只有单网卡的机器,感觉docker的macvlan模式也能用来指定父网卡),然后在一直搜相关文章,找到山雕同学的文章,加上我的实践,把我的理解分享出来
安装容器
镜像:我使用的是 SuLingGG大佬的docker镜像
1. 关闭阵列,设置-docker-主机访问自定义网络 开启,设置完成后打开阵列
2. 拉取镜像,创建容器并运行
3. 进入容器修改参数
编辑`/etc/config/nework`文件
vim /etc/config/nework
将 lan接口下的 ipaddr,gateway,dns 分别修改成 docker的固定ip,主路由ip,主路由ip
设置完成后`:wq`保存,重启网络设置`/etc/init.d/network restart`
然后浏览器输入 docker容器的固定ip 即可看到登录页啦
SuLingGG 大佬的固件账号密码 root/password
固件更多说明,请参考 项目介绍 - doc.openwrt.cc
下面就是主面板啦,docker容器是共享宿主机的内核,因此识别出来宿主机的内存是16G
4. op设置
关闭etho0 dhcp和桥接,将防火墙转发设置成接收
5. 非全局模式
将设备网关和dns设置为 docker容器ip
6. 后续参考各大佬的关于op的使用
例如旅游,去广告等等
总结
1. 关于与vm虚拟机方式的测试,参考山雕文章
我主要谈谈我的理解,个人认为,docker没有虚拟化这一层,因此对CPU和内存的使用率肯定会好,用vm是为了更好地硬件隔离,docker只是容器,软件隔离
2. 关于br0网桥
macvlan其实也可以指定父网卡(不知道这种算不算直通呢),需要父网打开混杂模式
创建新的docker网络
docker network create -d macvlan --subnet=192.168.2.0/24 --gateway=192.168.2.1 -o parent=eth1 br1
这条命令需要根据宿主机所处的网络环境来做修改
3. 该方法的缺点,宿主机与docker无法互通
需要宿主机也加一个macvlan(unraid打开 `主机访问自定义网络` 自动创建,ifconfig命令下可以看到多了一个`shim-br0`虚拟网卡)
参考
在Docker 中运行 OpenWrt 旁路网关 | 美丽应用 (mlapp.cn)
作者声明本文无利益相关,欢迎值友理性交流,和谐讨论~
值友96
校验提示文案
kanako
这个关闭docker即可,并不需要关闭阵列
被困在 主机访问自定义网络 好久,感谢
校验提示文案
大熊本熊
校验提示文案
小龙虾Pro
校验提示文案
小龙虾Pro
校验提示文案
大熊本熊
校验提示文案
kanako
这个关闭docker即可,并不需要关闭阵列
被困在 主机访问自定义网络 好久,感谢
校验提示文案
值友96
校验提示文案