M401a系列:armbian下docker安装openwrt做旁路由

在armbian下,输入armbian-software,下面就有openwrt的安装选项。直接会安装opub大佬的openwrt。

但是这个openwrt没有我需要的插件,所以直接用别的openwrt镜像来用了。

镜像地址:
https://hub.docker.com/r/unifreq/openwrt-aarch64

里面有用法。

把docker下的openwrt做旁路由,有2种网络结构,一种是采用桥接网络,桥接的网段设置在主路由的网段,另一种是采用Macvlan网络,这种网络主机和docker版的openwrt网络不通,需要设置

韩风talk大佬的视频里用的是第一种网络,教程已经做成视频:

链接: OpenWrt的套娃,兼具稳定性和功能性,我是这么玩的

我用的是macvlan,虽然主机(armbian)和openwrt不能直接通信,但是发现设置armbian的网关为openwrt的ip,armbian本身也是很OK的。

1 建立macvlan网络

  1. 建立macvlan需要为其指定网卡,即准备在哪个物理网卡上创建macvlan。采用ifconfig命令来看网络信息:
    M401a系列:armbian下docker安装openwrt做旁路由_第1张图片
    带IP的就是物理网卡,eth0

  2. 接下来创建macvlan网络,命令如下:

docker network create -d macvlan --subnet=192.168.1.0/24 --gateway=192.168.1.1 -o parent=eth0 macnet
  • -d 指定 Docker 网络 driver
  • --subnet 指定 macvlan 网络所在的网络
  • --gateway 指定网关
  • -o parent 指定用来分配 macvlan 网络的物理网卡

可以看下docker的网络,用docker network ls

M401a系列:armbian下docker安装openwrt做旁路由_第2张图片
3. 创建openwrt容器

docker run \
  -d \
  --name=unifreq-openwrt-aarch64 \
  --restart=unless-stopped \
  --network=macnet \
  --privileged \
  --ip=192.168.1.11 \
  unifreq/openwrt-aarch64:latest

注意network字段要和创建的macvlan的网络名称一样,这里是macnet

这就算安装完了。

  1. 打开网卡混杂模式
sudo ip link set eth0 promisc on 
  1. 第一次运行openwrt,需要指定其lan口网络和网关
#第一次运行,需要修改ip地址
docker exec unifreq-openwrt-aarch64 sed -e "s/192.168.1.1/192.168.1.11/" -i /etc/config/network
#重启容器
docker restart unifreq-openwrt-aarch64
#也可以直接重启openwrt的网络

注意第一个IP是网关,第二个是lan口IP

也可以进入openwrt里面去修改:

#进入openwrt
docker exec -it unifreq-openwrt-aarch64 bash
# 修改网络配置
nano  /etc/config/network
#修改完毕后重启网络
/etc/init.d/network restart

6 做完上述工作,就可以输入openwrt的IP地址192.168.1.11进入openwrt的管理页面了。


后面的工作就是进入openwrt里面做旁路有的设置。
唯一要注意的就是要开启lan口的IP动态伪装。

实测可以在armbian里面通过armbian-config进入设置,把armbian的网关和dns设置成openwrt的ip,这样armbian也可以快乐了。

你可能感兴趣的:(M,401a折腾,docker,网络,容器)