OpenWRT浅尝 / 基于RAVPower-WD009便携路由文件宝的旁路网关配置

news2024/12/24 9:35:45

目录

  • 前言
  • 需求分析
  • 手头的设备
  • 家庭网络拓扑图
  • 旁路网关配置
    • OpenWRT固件选择
    • OpenWRT固件刷入
    • 旁路网关配置流程
  • 旁路网关的使用
    • 前置工作
    • 日常存储/关键备份
    • 内网穿透
    • 24小时待命下载器

前言

近期由于个人需求,需要一台OpenWRT设备实现一些功能。所以本文主要还是为了自己后期维护/折腾留底做参考,毕竟OpenWRT这种设备只要配置完后就会到角落呆着(最多会进行重启),这后续万一有什么问题再想去折腾恢复,很多细节记不住就有点麻烦

需求分析

设备需要有的一些功能:

  • 从外网进行内网设备管理/服务访问
  • 从内网进行日常存储/关键备份
  • 24小时待命,低功耗下载
  • V了解资本主义P共产主义万岁N【建设中】

手头的设备

由于【垃圾佬穷】钱包问题,没有选择新购置一台设备,而是从已有设备身上着手,手头刚好有一台闲置设备RAVPower-WD009便携路由文件宝(RAVPower这个牌子可能比较耳熟,旗下主要产品是电源,不知道为啥会出一个这个设备)。我当初购买就是图它功能多,颜值高,支持USB-C充电,目前官网已经找不到这玩意儿了

在这里插入图片描述

它采用了MediaTek MT7628NN硬路由方案,具体参数如下:

  • CPU: 单核 32位 580MHz MIPS24KEc架构
  • RAM:64MB
  • ROM: 16MB Flash
  • 无线: MT7610E射频芯片,WIFI5
  • 有线:: 百兆以太网口 x 1
  • 拓展能力:SD卡插槽 x 1,USB-A 2.0 x 1
  • 其他:可当充电宝,支持USB-C充电

重点是OpenWRT官方竟然对这款设备有支持,这意味我可以投入开源社区的怀抱,而不用面对官方的RAV-FileHub客户端(用着其实还行,但又不是很行),设备可自定义程度更高,更能满足用户多变的需求

在这里插入图片描述

设备相关的一些操作和知识,官方有给出,我在这里记录一下

  • 进入TFTP模式:设备运行任意固件,关机状态下,按住reset键开机,松开开机键,直到地球灯常亮(同时松开reset键)即可。此模式可进行固件更新操作
  • OpenWRT重置操作:设备运行OpenWRT固件,开机状态下,按住reset键,直到地球灯开始闪烁,等待自动重启开机即可。重置后,设备会处于【出厂状态】,无线默认关闭,仅可使用网线连接,默认后台地址192.168.1.1

家庭网络拓扑图

在这里插入图片描述
具体设备和参数如下:

  • 智能网关(光猫+路由+网关/主路由)
    有线:一个光纤口,一个千兆WAN口,四个千兆LAN网口
    无线:2.4GHz Master
  • 旁路网关(本文主角)
    有线:一个WAN/LAN口
    无线:双模2.4GHz/5GHz Master/Client
  • 台式工作站(主力机)
    有线:一个千兆网口

正常情况,如果设备的性能足够强,接口足够多,其实可以当作主路由来使用,此时上图中所有有线/无线网络服务均由主路由提供,此时的性能是最好的,所有设备都处于全双工的模式

碍于RAVPower-WD009不能作主路由的位置,可以将其作旁路网关附加到已有的网络,提供拓展的功能。旁路网关功能的使用有两种方式:

  • 通过配置主路由,使得所有设备流量都经过旁路网关,这种模式旁路网关的要求较高,整体网络速度还受限于旁路网关
  • 通过修改上网终端的网关配置,自由选择流量是否要经过旁路网关,这种模式比较灵活,本文使用这种模式

在各种场景下,上网的流量分配应该做到如下

  • 主路由有线访问外网:上行流量直接到达主路由,下行流量直接到达设备
  • 主路由无线访问外网:上行流量直接到达主路由,下行流量直接到达设备
  • 旁路网关资本主义访问外网:上行流量经过旁路网关,再发送到主路由,下行流量不经过旁路网关,直接发送到设备
  • 旁路网关无线访问内网服务(内网服务由旁路网关提供):上行流量直接到达旁路网关,下行流量直接到达设备
  • 旁路网关无线访问内网服务(内网服务由旁路网关提供):上行流量直接到达旁路网关,再由旁路网关到达主路由,下行流量到达主路由后,转发给旁路网关,再转发到设备

旁路网关配置

OpenWRT固件选择

文章发布时最新版本:23.05(刷入后死机)
选择刷入版本:22.03.5
更多固件相关可以到OpenWRT官方支持页面

OpenWRT固件刷入

设备进入TFTP模式,PC同设备通过网线连接,PC配置IPv4(参数如下,地址10.10.10.x,子网掩码255.255.255.0,网关10.10.10.1,更新完后记得还原),浏览器输入10.10.10.128即可进入TFTP固件更新界面,界面中只有两个操作上传固件/固件更新,上传OpenWRT固件,执行固件更新操作,更新完成后设备会自动重启进入出厂状态

旁路网关配置流程

以OpenWRT默认出厂状态,主路由IP 192.168.1.1,子网掩码255.255.255.0/网段192.168.1.x为配置基础

  • PC仅和设备通过网线连接(不要通过无线网卡等连接其他网络),IPv4不要有其他配置(注意TFTP模式时改动过此配置,如出现不能访问,还原IP/DNS自动获取即可),访问192.168.1.1,进入OpenWRT控制台LUCI图形界面
  • 进入网络-接口配置界面,配置LAN为以下参数
    常规设置:IP获取协议为静态地址,IP地址为192.168.1.x(x=2~254,此地址为网关自身访问地址,注意不要同其他设备的IP冲突),如192.168.1.8;子网掩码为255.255.255.0(确保和自身主路由在同一网段);默认网关地址为192.168.1.1(一般都为主路由的IP地址);广播地址为192.168.1.255
    高级设置:使用自定义的DNS服务器,服务器地址为192.168.1.1(使用主路由充当DNS服务器)
    DHCP服务器:勾选忽略此接口(不在这个接口提供DHCP服务,避免和主路由IP分配策略冲突),IPv6设置中,RA服务、DHCPv6,NDP代理共三个选项,全部设置为禁用
  • 进入网络-防火墙配置界面,配置以下参数
    常规设置:关闭SYN-flood防御,关闭LAN相关的IP动态伪装(如果关闭后出现不能正常上网,可以重新启用)
  • 重启设备,将旁路网关LAN口和主路由的LAN口是用网线连接即可

旁路网关的使用

以下操作需要通过SSH连接到设备IP后进行,操作基本为安装功能插件、更改配置文件等

前置工作

国内源替换

# 替换国内源
sed -i 's_downloads.openwrt.org_mirrors.tuna.tsinghua.edu.cn/openwrt_' /etc/opkg/distfeeds.conf
# 更新国内源
opkg update

中文化支持

opkg install luci-i18n-base-zh-cn luci-i18n-opkg-zh-cn luci-i18n-firewall-zh-cn

添加SD卡槽支持

opkg install kmod-sdhci kmod-sdhci-mt7620

添加USB存储支持

opkg install kmod-usb-core kmod-usb-storage kmod-usb-storage-uas kmod-usb2

添加多种文件系统支持

opkg install kmod-fs-ext4 e2fsprogs swap-utils kmod-fs-exfat exfat-mkfs ntfs-3g kmod-fs-vfat kmod-fs-msdos

添加存储设备分区/挂载工具

opkg install fdisk block-mount

存储拓展(插入SD卡的情况)

# 【此操作会格式化SD卡,并将其分为两个分区】
# SD卡 /dev/mmcblk0
# swap分区(拓展内存) /dev/mmcblk0p1 
# ext4分区(拓展外存) /dev/mmcblk0p2

# 手动将SD设备分区
fdisk /dev/mmcblk0

# 格式化swap分区,开启swap分区
mkswap /dev/mmcblk0p1
swapon /dev/mmcblk0p1

# 格式化ext4分区,重新挂载/overlay
mkfs.ext4 /dev/mmcblk0p2
mount /dev/mmcblk0p2 /mnt ; tar -c /overlay -cvf - . | tar -c /mnt -xf - ; umount /mnt
mount /dev/mmcblk0p2 /overlay

# 配置挂载信息开机启动
block detect > /etc/config/fstab
sed -i s/option$'\t'enabled$'\t'\'0\'/option$'\t'enabled$'\t'\'1\'/ /etc/config/fstab

日常存储/关键备份

安装Syncthing,一款开源免费的分布式文件同步工具。可以实现手机处于内网环境时,指定文件夹文件同步(例如相册,工作文件等)
在这里插入图片描述
图片中的远程设备代表着手机,文件夹代表着需要同步的文件夹

软件安装

opkg install syncthing

安装完成后,Syncthing会出现无法自启动的问题,网上很多教程都是直接删除官方的init.d脚本,重新写新的启动脚本但其实问题很简单

# 只要修改/etc/init.d/syncthing官方启动脚本中的一行
vim /etc/init.d/syncthing

# 以下内容在编辑状态中操作
[ "$enabled" -gt 0 ] || return 0 #注释掉这一行即可,应该是一些向后兼容的配置导致的

# 重启应用,并开机启动
/etc/init.d/syncthing enable && /etc/init.d/syncthing restart

PC访问旁路网关8384端口,可以通过后台进行管理

设备IP:8384

内网穿透

使用DDNSTO远程控制提供的动态域名服务,实现内网穿透
在这里插入图片描述
软件安装

# 下载脚本,并运行。如果默认脚本出错,可以执行我修改后的命令
cd /tmp; wget --no-check-certificate http://fw.koolcenter.com/binary/ddnsto/openwrt/install_ddnsto.sh; cd ..
# 正常运行
ash /tmp/install_ddnsto.sh
# 安装出错运行
sed -i 's/$?/"1"/' /tmp/install_ddnsto.sh && ash /tmp/install_ddnsto.sh

软件使用
可以参考DDNSTO官方教程,官方写的很详细

24小时待命下载器

借助老牌的下载工具Aria2+AriaNG,加上DDNSTO内网穿透可以实现远程下载
在这里插入图片描述
软件安装

opkg install aria2 ariang

软件使用
网上已经有很多aria2+ariang配置教程,只要搭配DDNSTO的aria2配置教程食用即可

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1199706.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

k8s-实验部署 1

1、k8s集群部署 更改所有主机名称和解析 开启四台实验主机,k8s1 仓库;k8s2 集群控制节点; k8s3 和k8s4集群工作节点; 集群环境初始化 使用k8s1作为仓库,将所有的镜像都保存在本地,不要将集群从外部走 仓库…

金和OA jc6 任意文件上传漏洞复现

0x01 产品简介 金和OA协同办公管理系统软件(简称金和OA),本着简单、适用、高效的原则,贴合企事业单位的实际需求,实行通用化、标准化、智能化、人性化的产品设计,充分体现企事业单位规范管理、提高办公效率…

学习率范围测试(LR Finder)脚本

简介 深度学习中的学习率是模型训练中至关重要的超参数之一。合适的学习率可以加速模型的收敛,提高训练效率,而不恰当的学习率可能导致训练过慢或者无法收敛。为了找到合适的学习率,LR Finder成为了一种强大的工具。 学习率范围测试&#x…

Django的ORM操作

文章目录 1.ORM操作1.1 表结构1.1.1 常见字段和参数1.1.2 表关系 2.ORM2.1 基本操作2.2 连接数据库2.3 基础增删改查2.3.1 增加2.3.2 查找2.3.4 删除2.3.4 修改 1.ORM操作 orm,关系对象映射,本质翻译的。 1.1 表结构 实现:创建表、修改表、…

思维模型 暗示效应

本系列文章 主要是 分享 思维模型,涉及各个领域,重在提升认知。无形中引导他人的思想和行为。 1 暗示效应的应用 1.1 暗示效应在商业品牌树立中的应用 可口可乐的品牌形象:可口可乐通过广告、包装和营销活动,向消费者传递了一种…

【递归】求根节点到叶节点数字之和(Java版)

目录 1.题目解析 2.讲解算法原理 3.代码 1.题目解析 LCR 049. 求根节点到叶节点数字之和 给定一个二叉树的根节点 root ,树中每个节点都存放有一个 0 到 9 之间的数字。 每条从根节点到叶节点的路径都代表一个数字: 例如,从根节点到叶节点…

伙伴(buddy)系统原理

一、伙伴算法的由来 在实际情况中,操作系统必须能够在任意时刻申请和释放任意大小的内存,该函数的实现需要考虑延时问题和碎片问题。 延时问题指的是系统查找到可分配单元的时间变长,例如程序请求分配一个64KB的内存空间,系统查看…

Technology Strategy Patterns 学习笔记9 - bringing it all together

1 Patterns Map 2 Creating the Strategy 2.1 Ansoff Growth Matrix 和owth-share Matrix 区别参见https://fourweekmba.com/bcg-matrix-vs-ansoff-matrix/ 3 Communicating

STM32F407: CMSIS-DSP库的移植(基于库文件)

目录 1. 源码下载 2. DSP库源码简介 3.基于库的移植(DSP库的使用) 3.1 实验1 3.2 实验2 4. 使用V6版本的编译器进行编译 上一篇:STM32F407-Discovery的硬件FPU-CSDN博客 1. 源码下载 Github地址:GitHub - ARM-software/CMSIS_5: CMSIS Version 5…

开发者测试2023省赛--Square测试用例

测试结果 官方提交结果 EclEmma PITest 被测文件 [1/7] Square.java /*** This class implements the Square block cipher.** <P>* <b>References</b>** <P>* The Square algorithm was developed by <a href="mailto:Daemen.J@banksys.co…

AWS云服务器EC2实例进行操作系统迁移

AWS云服务器EC2实例进行操作系统迁移 文章目录 AWS云服务器EC2实例进行操作系统迁移1. 亚马逊EC2云服务器简介1.2 亚马逊EC2云务器与弹性云服务器区别 2. 亚马逊EC2云服务器配置流程2.1 亚马逊EC2云服务器实例配置2.1.1 EC2实例购买教程2.1.1 EC2实例初始化配置2.1.2 远程登录E…

Gold-YOLO:基于收集-分配机制的高效目标检测器

文章目录 摘要1、简介2、相关工作2.1、实时目标检测器2.2、基于Transformer的目标检测2.3、用于目标检测的多尺度特征 3、方法3.1、预备知识3.2、低级收集和分发分支3.3、高阶段收集和分发分支3.4、增强的跨层信息流3.5、遮罩图像建模预训练 4、实验4.1、设置4.2、比较4.3.2、 …

recycleView(三)动态修改背景色

效果图 1.关键代码 1. // 定义一个变量来记录滑动的距离var scrollDistance 0// 在RecycleView的滑动监听器中更新滑动的距离binding.recyclerView.addOnScrollListener(object : RecyclerView.OnScrollListener() {override fun onScrolled(recyclerView: RecyclerView, …

Pinia 状态管理器 菠萝

Pinia介绍&#xff1a; Pinia 是 Vue 的专属状态管理库&#xff0c;它允许你跨组件或页面共享状态。 Pinia 大小只有 1kb 左右&#xff0c;超轻量级&#xff0c;你甚至可能忘记它的存在&#xff01; 相比 Vuex,Pinia 的优点&#xff1a; 更贴合 Vue 3 的 Composition API 风…

Leetcode—191.位1的个数【简单】

2023每日刷题&#xff08;二十七&#xff09; Leetcode—191.位1的个数 实现代码 int hammingWeight(uint32_t n) {int ans 0;for(int i 0; i < 32; i) {if(n & ((long long)1 << i)) {ans;}}return ans; }运行结果 翻转比特1思路 就解法一的代码实现来说&am…

基于Transformer架构的ChatGPT:三步带你了解它的工作原理

作者&#xff1a;Insist-- 个人主页&#xff1a;insist--个人主页 梦想从未散场&#xff0c;传奇永不落幕&#xff0c;博主会持续更新优质网络知识、Python知识、Linux知识以及各种小技巧&#xff0c;愿你我共同在CSDN进步 目录 一、Transformer架构 1. 自注意力层 2. 前馈神…

Django中简单的增删改查

用户列表展示 建立列表 views.py def userlist(request):return render(request,userlist.html) urls.py urlpatterns [path(admin/, admin.site.urls),path(userlist/, views.userlist), ]templates----userlist.html <!DOCTYPE html> <html lang"en">…

PCB知识补充

系列文章目录 文章目录 系列文章目录参考文献PCB知识互连线电阻过孔/铜箔电流能力铜箔载流能力过孔载流能力 热设计电磁兼容及部分要求 参考文献 [1]牛森,张敏娟,银子燕.高速PCB多板互联的电源完整性分析[J].单片机与嵌入式系统应用,2023,23(09). [2]陈之秀,刘洋,张涵舒等.高…

【Python】KDtree的调用

前言 查询点集中与目标点最近的k个点 from scipy.spatial import cKDTree import numpy as npdata np.array([[1,2],[1,3],[4,5]]) # 生成 100 个三维数据 tree cKDTree(data) # 创建 K-D Tree result tree.query(np.array([5, 5]), k2) # 查询与 [0.5, 0.5, 0.5] 最近的三…

(离散数学)命题及命题的真值

答案&#xff1a; &#xff08;5&#xff09;不是命题&#xff0c;因为真值不止一个 &#xff08;6&#xff09;不是命题&#xff0c;因为不是陈述句 &#xff08;7&#xff09;不是命题&#xff0c;因为不是陈述句 &#xff08;8&#xff09;不是命题&#xff0c;真值不唯一