网上的好多都是拉取的这个镜像kanshudj/n1-openwrtgateway
这个镜像使用魔法有很大问题,我们拉取苏宁哥哥的镜像
1.首先打开网卡混杂模式
ip link set eth0 promisc on
2.创建macvlan
docker network create -d macvlan --subnet=192.168.1.0/24 --gateway=192.168.1.1 -o parent=eth0 macnet
上面命令里的ip不要和你的主路由相同
3.拉取镜像创建容器
sudo docker run --restart always --name openwrt -d --network macnet --privileged sulinggg/openwrt:latest /sbin/init
4.进入到容器内部
sudo docker exec -it openwrt bash
看一下OpenWrt 的网络配置文件 :
cat /etc/config/network
镜像默认的ip和网关如下:.
config interface 'loopback'
option ifname 'lo'
option proto 'static'
option ipaddr '127.0.0.1'
option netmask '255.0.0.0'
config globals 'globals'
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.123.100'
option gateway '192.168.123.1'
option dns '192.168.123.1'
config interface 'vpn0'
option ifname 'tun0'
option proto 'none'
如果你的主路由刷的不是老毛子,大概率你需要修改ip和网关还有dnsoption ipaddr
这里填主路由网段的未使用的ip,不要填成你主路由的ip,否者ip冲突上不了网option gateway
网关这里填你主路由的ipoption dns
dns
填你主路由的ip就行,让你的主路由去解析
修改完后容器内执行网络重启
/etc/init.d/network restart
然后打开浏览器输入上面option ipaddr
中填写的ip然后登录到openwrt中,
默认账号root
默认密码password
如果有部分功能不能用,进入openwrt网络----接口------物理设置----桥接勾掉
5.旁路由设置
旁路由模式:主路由开 DHPC + N1 关 DHPC (非全局)
这种配置即使openwrt有问题别的设备也能上网
上面设置完之后勾选下面的忽略此接口
然后我们就需要在设备中修改ip网关dns
ip为主路由的网段
网关为openwrt的地址
dns为openwrt的地址
评论区