1、网卡设混杂模式
ip link set enp3s0 promisc on
2、配置MACVLAN
docker network create -d macvlan --subnet=192.168.31.0/24 --gateway=192.168.31.1 -o parent=ens33 macnet
3、创建网络配置文件
mkdir -p /home/docker/openwrt
vim /home/docker/openwrt/network
config interface 'loopback'
option ifname 'lo'
option proto 'static'
option ipaddr '127.0.0.1'
option netmask '255.0.0.0'
config globals 'globals'
option packet_steering '1'
config interface 'lan'
option type 'bridge'
option ifname 'eth0'
option proto 'static'
option netmask '255.255.255.0'
option ip6assign '60'
option ipaddr '192.168.0.3'
option gateway '192.168.0.1'
option dns '192.168.0.1'
config interface 'vpn0'
option ifname 'tun0'
option proto 'none'
4、拉取镜像并初始化
docker run --restart always --name openwrt -d --network macnet --privileged --ip 192.168.31.13 -v /home/docker/openwrt/network:/etc/config/network nonnichen/nonniwrt /sbin/init
docker run --restart always --name openwrt -d --network macnet --privileged --ip 192.168.0.3 -v /home/docker/openwrt/network:/etc/config/network nonnichen/nonniwrt /sbin/init
注: 替换 192.168.0.3
为 openwrt 的 IP。
如果提示 WARNING: IPv4 forwarding is disabled. Networking will not work
,需要进行开启 ipv4 转发。
vim /etc/sysctl.conf
#添加 net.ipv4.ip_forward = 1
sysctl -p /etc/sysctl.conf