在armbian下,输入armbian-software
,下面就有openwrt的安装选项。直接会安装opub大佬的openwrt。
但是这个openwrt没有我需要的插件,所以直接用别的openwrt镜像来用了。
镜像地址:
https://hub.docker.com/r/unifreq/openwrt-aarch64
里面有用法。
把docker下的openwrt做旁路由,有2种网络结构,一种是采用桥接网络,桥接的网段设置在主路由的网段,另一种是采用Macvlan网络,这种网络主机和docker版的openwrt网络不通,需要设置
韩风talk大佬的视频里用的是第一种网络,教程已经做成视频
我用的是macvlan,虽然主机(armbian)和openwrt不能直接通信,但是发现设置armbian的网关为openwrt的ip,armbian本身也是很OK的。
1 建立macvlan网络
- 建立macvlan需要为其指定网卡,即准备在哪个物理网卡上创建macvlan。采用
ifconfig
命令来看网络信息: - 带IP的就是物理网卡,
eth0
- 接下来创建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
:
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
这就算安装完了。
- 打开网卡混杂模式
sudo ip link set eth0 promisc on
- 第一次运行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也可以快乐了。