OpenWrt-23.05 (PassWall & OpenClash),基于ImmortalWrt OpenWrt-23.05(每日更新)。

Github: https://github.com/zzsrv/OpenWrt-Docker

DockerHub: https://hub.docker.com/r/zzsrv/openwrt

支持设备及镜像版本

本项目基于 ImmortalWrt OpenWrt-23.05,每日上午 8 点编译 OpenWrt 镜像,镜像构建完成后将同时推送到 DockerHub 和 阿里云镜像仓库 (杭州) 。

对于国内用户,为提高镜像拉取体验,可以考虑拉取存放于阿里云镜像仓库的镜像,镜像名称及标签如下表所示:

OpenWrt 镜像地址

支持设备/平台DockerHub阿里云镜像仓库 (杭州)
x86_64/amd64zzsrv/openwrt:latestregistry.cn-hangzhou.aliyuncs.com/zzsrv/openwrt:latest
x86_64/amd64zzsrv/openwrt:x86_64registry.cn-hangzhou.aliyuncs.com/zzsrv/openwrt:x86_64
x86_64/amd64zzsrv/openwrt:amd64registry.cn-hangzhou.aliyuncs.com/zzsrv/openwrt:amd64
armv8/aarch64zzsrv/openwrt:armregistry.cn-hangzhou.aliyuncs.com/zzsrv/openwrt:arm64
armv8/aarch64zzsrv/openwrt:armv8registry.cn-hangzhou.aliyuncs.com/zzsrv/openwrt:armv8
armv8/aarch64zzsrv/openwrt:aarch64registry.cn-hangzhou.aliyuncs.com/zzsrv/openwrt:aarch64

镜像使用方法

1、打开网卡混杂模式,其中eth0根据ifconfig命令找到自己的本地网卡名称替换

sudo ip link set enp1s0 promisc on

2、创建名称为macvlan的虚拟网卡,并指定网关gateway、子网网段subnet、虚拟网卡的真实父级网卡parent(第一步中的本地网卡名称)

docker network create -d macvlan --subnet=192.168.0.0/24 --gateway=192.168.0.1 -o parent=enp1s0 macnet

3、查看虚拟网卡是否创建成功,成功的话能看到名称为“macnet”的虚拟网卡

docker network ls

4、拉取镜像,可以通过阿里云镜像提升镜像拉取速度

docker pull registry.cn-hangzhou.aliyuncs.com/zzsrv/openwrt:latest

5、创建容器并后台运行

docker run --restart always --name openwrt -d --network macnet --privileged zzsrv/openwrt /sbin/init

6、进入容器内部环境

docker exec -it openwrt bash

7、根据自己实际情况修改网络配置,修改完成后保存配置

vi /etc/config/network

8、退出容器内部环境,在宿主机环境执行重启容器命令

docker container restart openwrt

鸣谢

SuLingGG/OpenWrt-Docker:

https://github.com/SuLingGG/OpenWrt-Docker

ImmortalWrt OpenWrt Source:

https://github.com/immortalwrt/immortalwrt

P3TERX/Actions-OpenWrt:

https://github.com/P3TERX/Actions-OpenWrt

OpenWrt Source Repository:

https://github.com/openwrt/openwrt

Lean's OpenWrt source:

https://github.com/coolsnowwolf/lede