群晖Docker部署OpenWRT旁路由

群晖Docker部署OpenWRT旁路由

网络环境

因为只有充分了解自己的网络环境才能合理的搭建适合自己的旁路由系统。

3280585548415092

自己家里电信宽带,光猫桥接,爱快AX3000路由器负责拨号,DHCP服务器。连接交换机有线到各个房间。根据上述简单网络拓扑,之前用小主机安装VMware ESXi虚拟系统安装OpenWRT作为旁路由, 但是VMware ESXi虚拟系统不支持Docker,所以只能用群晖Docker部署OpenWRT。

部署

群晖NAS上部署旁路由系统,有2种方式,一种是利用群晖虚拟机功能,一种是利用Docker部署,
Docker熟悉一点, 所以这里介绍Docker部署。

  1. 打开群晖NAS Container Manager ,点击左边注册表搜索openwrt。选标星最多的(sulinggg/openwrt)。

3280585581969413

  1. 点击下载,下载时需要在选则标签里填写x86_64,我的群晖NAS是cpu是J1900,所以选x86_64。,当然也可以不选择修改标签,按latest默认下载。

3280585481310328

  1. 下载完成后,点击左边菜单映像,选择下载好的sulinggg/openwrt点击运行

3280599439949833
勾选启用自动重新启动,然后点击下一步
3280585481310328.png

  1. 接下来的一些配置大部分按默认选择,两个位置需要修改,一个是功能,一个是执行命令

功能选择使用高权限执行容器

3280585347088397

执行命令处需要填写/sbin/init,如果此处不填写,则镜像无法执行启动。

3280585313538090

  1. 下一步,不要勾选向导完成后运行容器,点击完成
    3280584575340681

  2. docker容器创建完成,现在需要进行容器网络配置

首先要群辉开启open vswitch功能

打开控制面板``网络,网络界面,管理,Open vSwitch设置,启用Open vSwitch

3280641953419305

3280643161378905

开启ssh 功能打开控制面板``终端和SNMP,点击启动SSH功能并保存
3280612593287241
然后网络开启混杂模式
创建一个名为 openwrt_lan 的 macvlan 网络,该网络与物理网接口
ovs_eth0 共享相同的 IP 地址和 MAC 空间。该网络使用子网 192.168.66.0/24,网关为 192.168.66.1。

这种类型的网络通常用于将 Docker 容器连接到现有的物理网络,例如家庭或办公室局域网。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
#切换到root用户

sudo -i

# 查看网络信息

ip addr

# 开启混杂模式(群晖一般是ovs_eth0)
ip link set ovs_eth0 promisc on
# 创建网络 openwrt_lan
docker network create -d macvlan --subnet=192.168.66.0/24 --gateway=192.168.66.1 -o parent=ovs_eth0 openwrt_lan


  1. 修改容器网络参数

打开群晖NAS Container Manager ,点击左边网络,选择bridge。不勾选openwrt(容器名称)。

3280661951856670

选择刚刚创建的网络openwrt_lan,勾选openwrt(容器名称)。

3280662186737723

  1. 启动容器,openwrt容器的地址还没有设置,可通过容器终端修改ip地址。
    3280669803593819

修改好后 根据修改的ip登录旁路由

3280672957714469

ps: 打开终端修改IP地址有的镜像 未安装 bash 群晖默认新增终端 打开终端时提示找不到 bash
OpenWrt 默认 shell 是 ash,而不是 bash
/bin 目录下本来就没有 bash,自然也无法运行
新增命令 /bin/ash 打开终端