STEP1:
docker network create -d macvlan \
--subnet=192.168.8.0/24 \
--ip-range=192.168.8.118/29 \
--gateway=192.168.8.1 \
-o parent=eth0 mn
STEP2:
docker network create -d macvlan \
--subnet=192.168.8.0/24 \
--ip-range=192.168.8.158/27 \
--gateway=192.168.8.129 \
-o parent=eth0.1 mn1
STEP3:
docker network create -d macvlan \
--subnet=192.168.8.0/24 \
--ip-range=192.168.8.188/27 \
--gateway=192.168.8.161 \
-o parent=eth0.2 mn2
STEP4:
docker run --name op1 \
--restart always \
--network mn \
-d --privileged=true \
--ulimit nofile=16384:65536 \
jekyll/openwrt-n1:latest
STEP5:
docker exec -it op1 /bin/sh
vi /etc/config/network
修改IP地址为192.168.8.116
vi /etc/rc.local
新增
ip link add link eth0 name veth0 type macvlan
ifconfig veth0 up
重启容器。
STEP6:
浏览器配置openwrt。
修改管理密码,清空计划任务,关闭UPNP,添加wan接口,设置PPPOE;
修改防火墙规则,启用FullCone-NAT,转发改为接受,lan和wan防火墙规则全部改为接受;
通过端口转发添加192.168.8.158为DMZ主机(端口留空即可);
添加自定义规格如下:
iptables -t nat -I POSTROUTING -j MASQUERADE
修改LAN接口DHCP范围,起始129,数量30;
修改LAN接口静态地址为192.168.8.129。
STEP7:
docker stop op1
docker network disconnect mn op1
docker network connect mn1 op1
docker restart op1
过程中N1可能重启,需注意各行命令有无执行成功。