一鱼双吃!NAS用户有福了docker部署OpenWrt&iStoreOS当旁路由
路由器刷机OpenWrt玩的多了,今天我们换一个玩法,折腾一下Docker版本的OpenWrt和istoreOS系统,采用Docker的方式部署OpenWrt系统很方便、如果你有N1盒子、OECT、树莓派、ARM电视盒子或者支持Docker的NAS设备都可以部署,一般建议单网口设备这样玩,也就是旁路由(网关)的形式加入家庭网络。
Docker部署OpenWrt系统
OpenWrt镜像推荐:
https://hub.docker.com/r/sulinggg/openwrt

推荐这个针对树莓派的OpenWrt镜像有高达500K+次使用,亲测很好用,功能完善适合大部分人,属于开箱即用类型,适用于 armv6/armv7/armv8(aarch64)/x86_64(amd64) 平台设备的 OpenWrt 镜像。
istore镜像推荐:
https://hub.docker.com/r/kowming/istoreos-openwrt-n1-aarch64

这个基于R2S制作istore系统也不错,如果你想要安装更多的插件,可以尝试这个镜像。
1、先查看系统信息
使用SSH软件以root
用户身份登录宿主机(你的NAS或者ARM盒子等),这里用网心云OEC演示:
ifconfig
▲ 使用
ifconfig
或者ip addr
命令查看系统的网络接口名称,也就是你宿主机当前IP这个接口的名称,一般是eth0
2、创建macvlan网络
ip link set eth0 promisc on
网卡混杂模式(Promiscuous Mode)是一种特殊的网络工作模式,允许网卡接收所有经过它的数据包(包括目标地址非本机的流量)。
docker network create -d macvlan --subnet=192.168.100.0/24 --gateway=192.168.100.1 -o parent=eth0 macnet
注意:192.168.100.0/24 --gateway=192.168.100.1
这里改成你内网的网段和网关。
macvlan 是 Linux 内核提供的一种虚拟网络驱动,允许在单个物理网卡(父接口)上创建多个虚拟网络接口,每个虚拟接口拥有独立的 MAC 地址 和 IP 地址,直接连接到物理网络。
拉取OpenWrt或者istore镜像
# openwrt镜像
docker pull registry.cn-shanghai.aliyuncs.com/suling/openwrt:armv8
# istore镜像
docker pull kowming/istoreos-openwrt-n1-aarch64:istoreos
二选一,或者全都要,体验过后决定用哪个,这就是Docker的好处,可以随时删除。
运行OpenWrt容器
# 启动OpenWrt容器
docker run --restart always --name OpenWrt -d --network macnet --ip 192.168.100.8 --privileged registry.cn-shanghai.aliyuncs.com/suling/openwrt:armv8 /sbin/init
# 启动istore容器
docker run --restart always --name istoreos -d --network macnet --ip 192.168.100.7 --privileged kowming/istoreos-openwrt-n1-aarch64:istoreos /sbin/init
--network macnet --ip 192.168.100.8
旁路由最好是指定一个IP启动容器,这样方便我们设置,IP地址可以自定义。
进入容器内部更改IP
# 进入OpenWrt容器内部
docker exec -it OpenWrt /bin/sh
# 进入istoreos容器内部
docker exec -it istoreos /bin/sh
这一步是进入容器内部修改一下IP地址,镜像默认的IP地址一般和你局域网的IP不在同一个网段,所以需要修改成我们上面设置的IP。
修改下IP地址
vim /etc/config/network
▲ 使用vim编辑一下IP和网关DNS信息,按
i
进入编辑模式,完成后按ESC
退出编辑模式,:wq
保存退出。
重启网络
/etc/init.d/network restart
重启一下docker的网络,大功告成!
▲ 浏览器输入设置的容器IP:
192.168.100.8
用户名:root 密码 无
▲ 同样的如果是安装的istoreos输入设置的容器IP:
192.168.100.7
,用户名:root 密码 password
可以看到两个容器内核6.6.25很新,功能基本都有、istore有商店可以安装更多的插件,其他基本一致。
使用旁路由的方式也不复杂,把旁路由视为一个普通终端,先保证旁路由可以上网,让后需要使用旁路由的手机、电脑等,网关和DNS指向旁路由IP即可,至于是DHCP分配还是手动设置看个人习惯了。
使用旁路由优点是不影响主路由网络,可以随便折腾,有利于家庭和谐,缺点是略微多一个步骤,以及不建议使用IPV6。
