docker 安装 ImmortalWrt,并分配局域网 IP
1. 终端中查看网络信息
ip addr
找到群晖 ip 地址所在的那行, scope global 后面就是网卡信息
2. 开启网卡混杂模式
ifconfig ovs_eth1 promisc
再次查看网络信息,网卡上出现 PROMISC 说明开启成功
关闭网卡混杂模式
ifconfig ovs_eth1 -promisc
3. docker 创建 macvlan 网络
参考:https://docs.docker.com/network/drivers/macvlan/
docker network create -d macvlan \
--subnet=192.168.3.0/24 \
--gateway=192.168.3.1 \
--ipv6 \
--subnet=fd1e:6551:6c39::/64 \
--gateway=fd1e:6551:6c39::1 \
-o parent=ovs_eth1 \
macnet
查看创建的网络
docker network ls
gunzip immortalwrt-23.05.1-x86-64-generic-rootfs.tar.gz
docker import immortalwrt-23.05.1-x86-64-generic-rootfs.tar immortalwrt:23.05.1
docker run -d \
--restart always \
--name openwrt \
--privileged \
--network macnet \
--ip 192.168.3.100 \
immortalwrt:23.05.1 \
/sbin/init
config interface 'loopback'
option proto 'static'
option ipaddr '127.0.0.1'
option netmask '255.0.0.0'
option device 'lo'
config interface 'wan'
option proto 'dhcp'
option device 'eth0'
config interface 'wan6'
option proto 'dhcp6'
option device 'eth0'
参考: https://blog.simpdog.me/posts/using-docker-to-deploy-openwrt-as-a-home-router/