感谢 神雕 teasiu 大佬开发的固件
设备名称 : hi3798mv200
系统版本 : Ubuntu 20.04.4 LTS | V20220510-4.4.35_hi3798mv2x
可用存储 : 70.1% 4361.0M
可用内存 : 56.1% 527.0M | 100.0% 20.0M
启动时间 : 0 天 22 小时 35 分钟 34 秒
😀 开启网卡的混杂模式
ip a #查看网卡信息
sudo ip link set eth0 promisc on #开启网卡eth0的混杂模式
😀 安装Docker并创建MACVLAN
docker network create -d macvlan -o parent=eth0 mLAN \
--subnet=192.168.123.0/24 \ #子网
--ip-range=192.168.123.10/28 \ #自动分配的IP段、可不配置
--gateway=192.168.123.1 #网关/主路由IP
😀 启动容器
docker run -d \
--restart always \
--name OpenWrt_v21.02.3 \
--privileged \
--network mLAN \
--ip=192.168.123.111 \
sulinggg/openwrt:armv7 \
/sbin/init
😀 进入容器,修改默认LAN ip
docker exec -it OpenWrt_v21.02.3 ash
vi /etc/config/network
...
:wq
/etc/inin.d/network restart
浏览器访问你自定义的ip就可以进入openwrt的luci管理页面了
macvlan为了安全,禁止了宿主机与容器的直接通信,不过可以通过曲线救国的方式解决——宿主机虽然没办法直接和容器内的macvlan接口通信,但是只要在宿主机上再建立一个macvlan,然后修改路由,使数据经由该macvlan传输到容器内的macvlan即可,macvlan之间是可以互相通信的。
具体可以Google
突然发现不能插入图片 🤣