树莓派中利用docker搭建openwrt旁路由

树莓派中利用docker搭建openwrt旁路由

注意需要先查看内核信息(需要是aarch64)
uname -m
1.查询当前网卡名称(以下均以网卡名eth0为例,请注意替换)
ifconfig
2.打开网卡混杂模式
ip link set eth0 promisc on
3.创建虚拟网络
docker network create -d macvlan --subnet=192.168.0.0/24 --gateway=192.168.0.1 -o parent=eth0 macnet
4.拉取openwrt镜像
docker pull unifreq/openwrt-aarch64:latest

拉取完毕之后查看一下拉取结果

docker images
5.创建并运行openwrt容器(创建openwrt_start.sh脚本)
#!/bin/bash
IP="192.168.0.200" #旁路由ip地址
MACADDR="02:42:C0:A8:00:02" #MAC地址,随机生成
IMG_TAG=latest
KERNEL_VERSION=$(uname -r)
docker run \
	        --name openwrt-${IMG_TAG} \
	        --restart always \
	        --network macnet \
	        --mac-address ${MACADDR} \
	        --ip ${IP} \
	        -d \
	        --privileged=true \
	        --ulimit nofile=16384:65536  \
	        -v /lib/modules/${KERNEL_VERSION}:/lib/modules/${KERNEL_VERSION} \
	        unifreq/openwrt-aarch64:$IMG_TAG
6.查看openwrt容器运行状态,如果STATUS是UP则说明运行成功
docker ps -a
7.进入openwrt容器
docker exec -it openwrt /bin/sh
8.编辑配置文件
vim /etc/config/network

修改lan口内容

config interface 'lan'
        option type 'bridge'
        option ifname 'eth0'
        option proto 'static'
        option ipaddr '192.168.0.100'
        option netmask '255.255.255.0'
        option ip6assign '60'
        option gateway '192.168.0.1'
        option broadcast '192.168.0.255'
        option dns '192.168.0.1'
9.重启网络
/etc/init.d/network restart
10.ctrl+D退出openwrt
11.浏览器访问之前设置的ip地址,默认密码password

docker中搭建openwrt到此结束,具体openwrt旁路由配置请参照百度或者google

unifreq/openwrt-aarch64地址
sulinggg/openwrt地址

### 使用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工具简单测试内外网访问状况。 ---
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值