Docker部署iStoreOS实现旁路由随笔

一、开启网卡混杂模式

先查看本地网卡情况

ip addr
ifconfig

选择LAN口网卡,开启混杂模式

ip link set <网卡名> promisc on

二、创建macvlan网络

macvlan相当于创建一块有MAC地址的网卡给docker使用

docker network create -d macvlan --subnet=[子网范围] --ip-range=[容器范围] --gateway=[网关] -o parent=[网卡] [macvlan名称]
docker network create -d macvlan --subnet=192.168.1.0/24 --ip-range=192.168.1.128/25 --gateway=192.168.1.1 -o parent=end0 docker_mac_vlan

三、使用下载好的镜像启动

根据自己的系统下载对应的docker镜像,然后使用下面的命令启动。

docker run --restart always --name openwrt -d --network [macvlan名称] --privileged [openwrt镜像名称] /sbin/init
docker run  --restart always --name istoreos -d --network docker_mac_vlan --privileged kowming/istoreos-openwrt-n1-aarch64 /sbin/init

四、容器启动后使用docker进入容器

docker exec -it [容器名] /bin/sh

五、修改容器内部IP(LAN地址)

修改网络配置

vi /etc/config/network

填写正确的IP地址

config interface 'lan'
        option device 'br-lan'
        option proto 'static'
        option ipaddr '192.168.1.[可用]'
        option gateway '192.168.1.1'   --主路由网关
        option dns '192.168.1.1'
        option netmask '255.255.255.0'
        option ip6assign '60'

之后可以重启网络服务

/etc/init.d/network restart

六、配置旁路由

浏览器直接输入刚才配置的镜像IP,默认密码password登录管理端配置即可