n1 docker安装openwrt(旁路由)

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

网上的好多都是拉取的这个镜像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安装OpenWRT设置旁路由教程 #### 安装前准备 为了确保顺利安装并配置OpenWRT作为旁路由,在开始之前需确认主机已正确安装Docker环境,并具备基本的Linux命令行操作能力。 #### 配置Macvlan网络 创建专用的Macvlan网络用于连接物理网络接口,这一步骤对于实现旁路功能至关重要。通过指定父接口参数来建立新的子网段,从而让OpenWRT容器能够独立获取IP地址并与外部通信[^3]。 ```bash docker network create -d macvlan \ --subnet=192.168.1.0/24 \ --gateway=192.168.1.1 \ -o parent=eth0 my_macvlan_net ``` 上述命令中的`parent=eth0`应替换为主机实际使用的外网接口名称;而`--subnet`和`--gateway`则依据个人局域网的具体情况进行调整。 #### 获取官方镜像 从可信源下载适用于ARM架构(aarch64)的OpenWRT Docker镜像文件,以保证系统的稳定性和安全性[^1]。 ```bash sudo docker pull unifreq/openwrt-aarch64 ``` #### 运行OpenWRT容器 启动带有特权模式的OpenWRT实例,并将其加入到先前定义好的Macvlan网络中去。同时赋予其重启策略以及持久化运行状态,以便于长期服务支持[^2]。 ```bash sudo docker run --network=my_macvlan_net --privileged unifreq/openwrt-aarch64 /sbin/init ``` 这里需要注意的是,如果遇到特定硬件平台或其他版本需求,则可能需要更改所使用的镜像标签或路径。 #### 初始化与配置 进入新创建的OpenWRT容器内部执行必要的初始化工作,比如开启防火墙、设定静态IP等基础设置。这部分通常可以通过SSH远程登录完成,也可以直接附加终端会话来进行交互式配置: ```bash sudo docker exec -it openwrt ash uci set network.lan.ipaddr='192.168.1.2' uci commit network /etc/init.d/network restart ``` 以上指令仅作示范用途,请根据实际情况灵活修改相应数值。 #### 测试连通性 最后验证整个链路上各节点之间的可达性,确保数据包可以正常转发至目标位置。可利用ping工具简单测试内外网访问状况。 ---
评论 4
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值