OpenWRT
小于 1 分钟
开启网卡混合模式
# 查看网卡
ifconfig
# 开启混合
# wlp0s20f3: flags=4419<UP,BROADCAST,RUNNING,PROMISC,MULTICAST> mtu 1500
# 出现 PROMISC 即成功
ifconfig wlp0s20f3 promisc
# 关闭混合
ifconfig wlp0s20f3 -promisc
系统转发
sudo vim /etc/sysctl.conf
# 添加
net.ipv4.ip_forward = 1
# 确认
sudo sysctl -p /etc/sysctl.conf
创建Docker网络
# 创建网络
docker network create -d macvlan --subnet=192.168.8.0/24 --gateway=192.168.8.1 -o parent=wlp0s20f3 macnet
# 查看docker网络列表
docker network list
# 查看配置
docker network inspect macnet
# 树莓派额外配置
# 否则会报macvlan不支持
sudo apt install linux-modules-extra-raspi
sudo reboot
修改网络配置
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'
启动
docker run -it --restart always --name openwrt -d --network.md macnet --privileged --ip 192.168.1.111 -v /home/openwrt/data/network.md:/etc/config/network.md openwrt/rootfs:x86_64 /sbin/init