网上的好多都是拉取的这个镜像kanshudj/n1-openwrtgateway
这个镜像使用魔法有很大问题,我们拉取苏宁哥哥的镜像
首先打开网卡混杂模式

ip link set eth0 promisc on

然后创建macvlan

docker network create -d macvlan --subnet=192.168.1.0/24 --gateway=192.168.1.1 -o parent=eth0 macnet

这里的ip不要和你的主路由相同
然后拉取镜像创建容器

sudo docker run --restart always --name openwrt -d --network macnet --privileged sulinggg/openwrt:latest /sbin/init

然后进入到容器内部

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和网关还有dns
option ipaddr 这里填主路由网段的未使用的ip,不要填成你主路由的ip,否者ip冲突上不了网
option gateway 网关这里填你主路由的ip
option dns dns填你主路由的ip就行,让你的主路由去解析

修改完后容器内执行网络重启

/etc/init.d/network restart 

然后打开浏览器输入上面option ipaddr中填写的ip然后登录到openwrt中,
默认账号root
默认密码password

如果有部分功能不能用,进入openwrt网络----接口------物理设置----桥接勾掉
在这里插入图片描述

旁路由模式:主路由开 DHPC + N1 关 DHPC (非全局)
这种配置即使openwrt有问题别的设备也能上网
上面设置完之后勾选下面的忽略此接口
在这里插入图片描述
然后我们就需要在设备中修改ip网关dns
ip为主路由的网段
网关为openwrt的地址
dns为openwrt的地址

方法二 全局使用旁路由 主路由开 DHPC + N1 关DHPC (全局)
该配置下,所有设备都会使用 N1 作为网关和 DNS 服务。
进入主路由,将主路由的 DHCP 的默认网关修改为openwrt的ip,同时将 DNS 服务器也修改为 openwrt的ip。

参考:

https://post.smzdm.com/p/ag82nzpd/
Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。