D

Docker部署Openwrt&iStoreOS

HB 网络电脑 2024-03-28

Openwrt

针对树莓派的OpenWrt镜像有高达500K+次下载,功能完善适合大部分人,属于开箱即用类型,适用于armv6/armv7/armv8(aarch64)/x86_64(amd64) 平台设备的 OpenWrt 镜像。
仓库地址:
https://hub.docker.com/r/sulinggg/openwrt

iStoreOS

基于R2S制作iStoreOS系统也不错,如果你想要安装更多的插件,可以尝试这个镜像。
仓库地址:
https://hub.docker.com/r/kowming/istoreos-openwrt-n1-aarch64
基于N1的镜像:
https://hub.docker.com/r/kowming/openwrt-n1-aarch64

开始部署

查看网卡信息

使用ifconfig或者ip addr命令查看系统的网络接口名称,也就是你宿主机当前IP这个接口的名称,一般是eth0

创建WACVLAN网络

ip link set eth0 promisc on

网卡混杂模式(Promiscuous Mode)是一种特殊的网络工作模式,允许网卡接收所有经过它的数据包​(包括目标地址非本机的流量)。

docker network create -d macvlan --subnet=10.0.0.0/24 --gateway=10.0.0.1 -o parent=eth0 macnet

上面解释:10.0.0.0/24 --gateway=10.0.0.1 这里改成你内网的网段和网关。

macvlan 是 Linux 内核提供的一种虚拟网络驱动,允许在单个物理网卡(父接口)上创建多个虚拟网络接口,每个虚拟接口拥有独立的 ​MAC 地址 和 ​IP 地址,直接连接到物理网络。

拉取OpenWrt或者iStoreOS镜像

#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 10.0.0.254 --privileged registry.cn-shanghai.aliyuncs.com/suling/openwrt:armv8 /sbin/init

#启动iStoreOS容器
docker run --restart always --name istoreos -d --network macnet --ip 10.0.0.253 --privileged kowming/istoreos-openwrt-n1-aarch64:istoreos /sbin/init

注两处:--network macnet --ip 10.0.0.254(openwrt)是指定一个IP地址254(iStoreOS 253),方便登录后台设置,IP地址可以自定义。

进入容器内部更改IP

# 进入OpenWrt容器内部
docker exec -it OpenWrt /bin/sh
# 进入iStoreOS容器内部
docker exec -it istoreos /bin/sh

这一步是进入容器内部修改一下IP地址,镜像默认的IP地址是192.168.3.1,一般和你局域网的IP不在同一个网段,所以需要修改成我们上面设置的IP。

修改网络配置文件,改一下IP地址

vim /etc/config/network 

重启网络和docker或直接reboot完成部署

/etc/init.d/network restart
systemctl restart docker

浏览器输入设置的容器IP:10.0.0.253 用户名:root 密码 无
同样的如果是安装的iStoreOS输入设置的容器IP:10.0.0.254,用户名:root 密码 password
可以看到两个容器内核6.6.25很新,功能基本都有、iStoreOS有商店可以安装更多的插件,其他基本一致。
使用旁路由的方式也不复杂,把旁路由视为一个普通终端,先保证旁路由可以上网,让后需要使用旁路由的手机、电脑等,网关和DNS指向旁路由IP即可,至于是DHCP分配还是手动设置看个人习惯了。

注:本文系统部署于基于RK3566处理器的设备之上,运行正常。

PREV
infinityfree虚拟主机申请SSL证书
NEXT
Permission denied (publickey,password).SSH拒绝登录解决方法