armbian下docker安装openwrt做旁路由(M401a)
openwrt镜像地址:
https://hub.docker.com/r/unifreq/openwrt-aarch64
把docker下的openwrt做旁路由,有2种网络结构,一种是采用桥接网络,桥接的网段设置在主路由的网段,另一种是采用Macvlan网络,这种网络主机和docker版的openwrt网络不通,需要设置.
- 建立macvlan需要为其指定网卡,即准备在哪个物理网卡上创建macvlan。采用ifconfig命令来看网络信息,带IP的就是物理网卡
- 接下来创建macvlan网络,命令如下:
docker network create -d macvlan --subnet=192.168.66.3/24 --gateway=192.168.66.1 -o parent=eth0 macnet
命令说明:
* -d 指定 Docker 网络 driver
* --subnet 指定 macvlan 网络所在的网络
* --gateway 指定网关
* -o parent 指定用来分配 macvlan 网络的物理网卡
用docker network ls查看网络
- 创建openwrt容器
docker run \
-d \
--name=openwrt \
--restart=unless-stopped \
--network=macnet \
--privileged \
--ip=192.168.66.3 \
unifreq/openwrt-aarch64:latest
- 打开网卡混杂模式
#第一次运行,需要修改ip地址,lan口网络(192.168.66.3)和网关(192.168.66.1)
docker exec openwrt sed -e "s/192.168.66.1/192.168.66.3/" -i /etc/config/network
#重启容器
docker restart openwrt
#也可以直接重启openwrt的网络
- 第一次运行openwrt,需要指定其lan口网络(192.168.66.3)和网关(192.168.66.1)
#第一次运行,需要修改ip地址
docker exec openwrt sed -e "s/192.168.66.1/192.168.66.3/" -i /etc/config/network
#重启容器
docker restart openwrt
#也可以直接重启openwrt的网络
也可以进入openwrt里面去修改:
#进入openwrt
docker exec -it openwrt bash
# 修改网络配置
nano /etc/config/network
#修改完毕后重启网络
/etc/init.d/network restart
- 做完上述工作,就可以输入openwrt的IP地址192.168.66.3进入openwrt的管理页面了.
后面的工作就是进入openwrt里面做旁路有的设置。
唯一要注意的就是要开启lan口的IP动态伪装。
实测可以在armbian里面通过armbian-config进入设置,把armbian的网关和dns设置成openwrt的ip,这样armbian也可以快乐了。