网上的好多都是拉取的这个镜像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/
本文档详细介绍了如何使用Docker在N1设备上安装OpenWrt作为旁路由。首先开启网卡混杂模式并创建macvlan,确保IP不与主路由冲突。接着,拉取苏宁云的OpenWrt镜像并启动容器,进入容器内部修改网络配置,如IP、网关和DNS,避免冲突。完成配置后,重启网络服务,通过默认的账号密码登录OpenWrt。对于旁路由模式,建议关闭N1的DHCP,并在其他设备上配置相应的IP、网关和DNS。若要实现全局使用旁路由,还需在主路由上调整DHCP设置。
6356

被折叠的 条评论
为什么被折叠?



