N1 armbian 下docker安装openwrt

openwrt 安装及配置

1. 开启网卡混杂模式

## 启用
ip link set eth0 promisc on

如此设置后,会存在如下问题:

①.同网段设备均可以正常访问(包括ping)N1和op,但N1和op之间是不能互访的【需要将armbian的ip设置为静态的才行】

②.N1重启网卡混杂模式会失效,需设为永久开启

我的armbian来自Ubuntu尝试此方法有效,编辑 /etc/rc.local 加入已下内容

ifconfig eth0 promisc

其他解决方案,修改/etc/network/interfaces文件:(谨慎操作,可能导致armbian永远无网络)
auto eth0
iface eth0 inet manual
up ip link set eth0 promisc on
auto macvlan
iface macvlan inet static
address 192.168.12.104→修改成你需要的
netmask 255.255.255.0
gateway 192.168.12.1→需改成你的主路由ip或192.168.12.5(旁路由的ip)
dns-nameservers 192.168.12.1→需改成你的主路由ip或12.5或再加1个公共dns比如114
pre-up ip link add macvlan link eth0 type macvlan mode bridge
post-down ip link del macvlan link eth0 type macvlan mode bridge

2. docker 创建 macvlan 网络

docker network create -d macvlan --subnet=192.168.4.0/24 --gateway=192.168.4.1 -o parent=eth0 macnet

3. 启动 openwrt 镜像

 

docker run --restart always -d --network macnet --privileged unifreq/openwrt-aarch64:r9.10.24 /sbin/init

 

# for N1
docker run \
  -d \
  --name=unifreq-openwrt-aarch64 \
  --restart=unless-stopped \
  --network=macnet \
  --privileged \
  --ip=192.168.4.11 \
  unifreq/openwrt-aarch64:r21.11.11

4. 修改容器 IP 信息并重启容器

# 见 Docker 镜像说明: https://hub.docker.com/r/unifreq/openwrt-aarch64
docker exec unifreq-openwrt-aarch64 sed -e "s/192.168.1.1/192.168.4.11/" -i /etc/config/network
docker restart unifreq-openwrt-aarch64

5. http://192.168.4.11 访问

THE END