前言
- 原计划是准备让原来的新路由3刷成openwrt做旁路由使用的,但是新路由的硬件规格属实是有点差,索性在网上查能不能通过docker安装,倒是有几个上天的固件,但是很少能查到信息。在熊猫的群里面有群友说用docker+openwrt实现,是可以的!毕竟是开源的路由器固件!扩展性还是很强的!
- 由于我的树莓派安装成了OMV的nas系统,所以默认的80端口是被omv占用的。但是经过查询资料是不影响的。网卡会虚拟出一个新的IP地址。
操作教程
- 硬件规格:树莓派4B4G
- 软件规格:官方64位lite版
该教程通过docker实现安装openwrt作为旁路由,电脑上网的部分数据通过openwrt处理转发,实现更多的可玩性。
操作步骤
- SSH到树莓派
- 由于树莓派官方基于Debian64位系统,此步骤可以通过
sudo -i
切换到root命令下,下方执行的命令可以不输入sudo
。 - 打开网卡的鱼龙混杂模式
sudo ip link set eth0 promisc on
- 创建网络
- 根据本地网络情况设置,以我本地网络情况演示,我们本地树莓派获取的IP地址是192.168.8.10,那下方的两处的
172.16.1.0/24,172.16.1.1
就要替换成192.168.8.0/24,192.168.8.1
docker network create -d macvlan --subnet=192.168.8.0/24 --gateway=192.168.8.1 -o parent=eth0 macnet
- 创建完毕我们可以通过
docker network ls
命令可以看到网络macnet。 - 拉去镜像
- docker官方厂库镜像
docker pull sulinggg/openwrt:latest
- 国内阿里云镜像
docker pull registry.cn-shanghai.aliyuncs.com/suling/openwrt:latest
- 创建容器并启动
docker run --restart always --name openwrt -d --network macnet --privileged registry.cn-shanghai.aliyuncs.com/suling/openwrt:latest /sbin/init
- 容器启动后,通过
docker ps -a
,查看下刚才的容器。
进入容器修改网络参数
docker exec -it openwrt bash
nano /etc/config/network
- 修改下方的IP地址网关DNS,根据实际情况!下方设置的IP地址,可以进入路由器查询一下,找一个没有使用的IP地址,避免IP冲突。比如我的树莓派是192.168.8.10,我给openwrt设置的是192.168.8.101.
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.8.101'
option gateway '192.168.8.1'
option dns '8.8.8.8'
- 重启网络
/etc/init.d/network restart
- 输入上面设置好的IP进入openwrt后台
- 默认账号密码:
`用户名:root
密码:password`
结语
- 网上实现的方法有直接安装插件的,也有安装openwrt的,我测试了几个,都没有安装成功,很多时候都是受限制网络,安装openwrt的目的也是解决此类问题的。以上方法经过实际安装测试,是没有什么问题的,由于要的网友可以按照步骤尝试即可!
20 条评论
我感觉我现在对OpenWrt的依赖越来越小了,以前觉得一直要全屋网络都能解决网络问题,折腾来折腾去才发现,还是直接在客户端上直接安装相关工具会方便点。
有些应用还是需要挂一下
挂是要挂的,搞OpenWrt一般都是想家里的网络方便走代理,如果需求只在电脑和手机端,直接装个clashx这类软件可能会更方便。
嗯嗯 主要给树莓派用,除了这个还有什么广告之类的。
docker network create -d macvlan --subnet=192.168.8.0/24 --gateway=192.168.8.1 -o parent=eth0 macnet
博主执行这个语句的时候没有出错吗? 我报了:Error response from daemon: invalid subinterface vlan name eth0, example formatting is eth0.10 错误。
你先看看主网卡名称是啥,我的是eth0
晚安大佬
午安!