Docker安装Openwrt 配置旁路由
2024-11-01
4 min read
介绍一个网站
这是一个可以自编译openwrt的网站,一会需要下载镜像包
并且,非付费的用户可以每天有一个免费的编译机会,大佬还自建了软件源....简直太香了(除了慢点)
1. 打开网卡混杂模式
- 这里只介绍Ubuntu、debian 以及armbian系统的命令,其他系统自行百度
ip link set eth0 promisc on
eth0 指的是网卡名称
2. 创建一个macvlan网络
- 创建macvlan网络,是为了实现独立mac地址,在网络层与其他物理机或者容器实现互联。
# 查看这个网卡的网络信息
ip addr show eth0
# 假设eth0的IP是10.0.0.1/24,子网是10.0.0.0/24,网关为10.0.0.1 。那我们的命令为
docker network create -d macvlan \
--subnet=10.0.0.0/24 \
--gateway=10.0.0.1 \
-o parent=eth0 \
my-macvlan-net
这里,--subnet是macvlan网络的子网,--gateway是网关(通常是子网内的第一个可用地址),-o parent=eth0指定了物理接口。
3.下载 docker镜像包
打开上面这个网站

鼠标滚轮把页面划到最下面,下载这个镜像包,到你想部署Openwrt的这台设备的上。
wget也好,下载上传了也好,随各位心意。

如果你是arm设备或者是32位设备,请在固件搜索区域搜索

4. 导入镜像到docker中
docker import 下载的镜像包名称 docker中显示的镜像名称
# 举例
docker import openwrt-x86-64-generic-rootfs.tar.gz kiddin9_openwrt
5. 创建容器
docker run –restart always –name openwrt kiddin9_openwrt -d –network openwrt –privileged /sbin/init
自己手动创建或者自己改命令
6. 修改openwrt IP
# 进入容器
docker exec -it openwrt sh
# 修改openwrt后台登录IP
vi /etc/config/network
# 重启网络
/etc/init.d/network restart
# 或者
# 或者退出容器内部环境,在宿主机环境执行重启容器命令
docker container restart openwrt
sed -i ‘s/10.0.0.1/10.0.0.25/’ /etc/config/network && /etc/init.d/network restart
直接网页输入IP,页面登录
#账号密码
root/root
7. 配置位旁路由


8. 注意事项
- 首页这个联网状态别管他,软件包界面加载慢也别管他,那状态不对。

- 容器没有办法真正的重启,别问同为啥自己查
- 尽量少装点插件,docker的性能不是很好,我只装了openclash用的,其余没装
一些废话
首先说一下我为啥在dokcer中部署openwrt,而不是在openwrt中使用docker
- 设备型号:sw799,配置: CPU RK3399 4+16
一块捡垃圾来的微信支付设备主板。没有太多的适配固件不多,最常用的还是大佬适配的Armbian固件,所以使用了Armbian固件。 - 需求:我需要AdguardHome的DNS服务器 和一个openwrt做旁路由
问题分析:我有一个CPU型号为N6000的ikuai的软路由,以及一个性能还算是凑合的飞牛nas。一些基础的都已经满足了,我需要的是一个稳定的,性能还可以的,并且功耗小的设备。
Q:为什么不使用ikuai虚拟机部署?
A:我只想我的主路由保持稳定,而不是all in boom
Q:为什么不在飞牛里部署?
A:需求不一样,飞牛跑的都是业务类的服务,而像dns解析,旁路由我想给他单独出来