树莓派-Docker安装最新全功能OpenWRT

此次教程使用的镜像基于 pro­ject-Open­Wrt 18.06 固件制作镜像,编译方法及模板来自
https://github.com/SuLingGG/OpenWrt-Rpi
在此感谢! 基于官方 OpenWrt 19.07 编译的固件在插件兼容性上还有很多问题,极不稳定。如果是要稳定使用建议使用 Lean 或者 project-OpenWrt 18.06 固件

打开网卡混杂模式

创建 macvlan 网络

在 Docker 中,macvlan 是众多 Docker 网络模型中的一种,并且是一种跨主机的网络模型,作为一种驱动(dri­ver)启用(-d 参数指定),Docker macvlan 只支持 bridge 模式。相同的 macvlan 之间可以互相通信,不同的 macvlan 网络之间在二层上不能通信,需要借助三层的路由器才能完成通信。做这一步就是让 Docker 中的 Open­Wrt 容器和路由器等其他终端设备处在同一个二层网络中。

命令解释如下:

-d --subnet --gateway -o parent

很重要 命令中的 –subnet 和 –gateway参数需要根据自己的网络环境修改,切记不要照抄。其中
--gateway #就是你的路由器地址
--subnet #是你路由器地址所在的网段。
一般情况是修改两个10.0.0.1为自己主路由地址
创建完成后可以使用 docker network ls查看当前主机的网络环境,其中出现了macvlan网络

首先下载编译好的官方固件,提供 Github 和 OneDrive 两种下载方式,Github 如果比较慢可以使用 OneDrive。由于 OneDrive 容量有限只提供基于官方源码编译的固件。制作 Docker 镜像需要使用 rootfs固件,别下错了。
下载地址:https://github.com/SuLingGG/OpenWrt-Rpi
下载好得到文件openwrt-bcm27xx-bcm2711-rpi-4-rootfs.tar.gz,通过 sftp将固件上传至树莓派/home/pi目录。

查看镜像

创建容器,命令如下

-v #参数用于挂载宿主机目录到 Docker 容器中,
由于未知原因,每次重启 Open­Wrt 容器都会导致其 DNS 服务器被修改为127.0.0.11,导致域名解析失败不能上网,所以使用挂载宿主机 DNS 服务器文件 /etc/resolv.conf的方式解决此问题。
因为 Open­Wrt 中有 smba 文件共享服务功能,所以使用
-v /mnt/sda1:/home/harddisk/挂载 宿主机/mnt/sda1作为媒体目录。如果不需要也可以不挂载此目录。
创建完成后使用

查看容器创建情况

进入容器内部

修改容器网络配置

请根据自己的网络情况进行修改,不要照抄,修改后的完整配置如下

重启容器内部网络服务

这里需要提到的一点是,如果你需要同时使用多个 Open­Wrt 容器,那么一定要修改 mac 地址,因为 Open­Wrt 的固件 mac 地址都是一样的,不修改 mac 地址会出现冲突导致网络不稳定。

修改 lan 的 mac 地址

修改 eth0 mac 地址

之后重启 Open­Wrt 容器
docker restart openwrt
至此 Open­Wrt 容器的安装及配置部分我们就已经完成了。接下来就是登录 Open­Wrt 的 web 页面操作了。

在浏览器输入之前在 Open­Wrt 容器里配置的地址
192.168.2.240

,即可打开 Open­Wrt 控制面板登陆页。默认密码:
password

在网络诊断部分进行网络测试,使用域名
baidu.com
如果此处网络不通,请登录树莓派检查 DNS 配置文件
/etc/resolv.conf将 name­server 设置为 Open­Wrt 的地址 。
至此上网的部分就基本设置好了,需要魔法加持的,就可以配置好ssr plus 或者 pass­wall
或者其他的特殊服务
旁路由的设置和上一篇一样
可参考上一篇

原文链接:https://www.bilibili.com/read/cv12737576/

© 版权声明
THE END
喜欢就支持一下吧
点赞5 分享