失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > 你懂的技术 懂你的OpenWrt!树莓派OpenWrt旁路由软路由入门教程 你懂的

你懂的技术 懂你的OpenWrt!树莓派OpenWrt旁路由软路由入门教程 你懂的

时间:2022-06-22 05:25:42

相关推荐

你懂的技术 懂你的OpenWrt!树莓派OpenWrt旁路由软路由入门教程 你懂的

前言

许久不发文章了,哈哈。这次直接发个家庭服务器从0到1的全过程攻略。从零开始依靠家中的闲置硬件构建全功能的服务器。内容包括但不限于:1.网络功能增强2.服务器建设3.集群处理4.docker容器管理5.多媒体服务。

话不多说,直接开干!

前置准备

1.FriendlyArm家的ZeroPi(任意Linux开发板均可代替如树莓派)

2.32G Class10 内存卡一张(至少8G,越多越好)

3.5v2A 电源适配器一个,我用的ZeroPi需要电流很小,所以直接用了电脑的USB输出

4.普通家用路由器一台,我的是红米AX5

5.一定的计算机网络基础知识

为什么需要旁路由

小科普:市面上的路由器的固件绝大部分是OpenWrt的修改版

原因:

1.家中普通的家庭路由器功能有限,很多功能不支持,比如SMB,IPv6,多播,关闭NAT,比如安全性要求的企业或者政企客户需要使用VPN远程接入网络,很多功能也无法自行安装选择。

2.家中普通路由器支持一定的功能,但是性能有限,开启复杂功能之后原本路由器的职责又承担不了了,会出现丢包断流等现象,没错我说的就是某杂粮厂,路由器固件做的烂的很,故障经常出现。这时候需要别的硬件来完成高层的工作,减轻路由器的负担,保证家庭网络的运行的流畅稳定。

以下是常见家庭路由器的接口图,实际上只有两个物理的接口(interface),标为lan的几个接口其实是交换机

对应的网络拓扑如下

什么是旁路由

根据上述图片,我们已经知道了家庭网络的大致结构,那么我们现在就需要在中间设置一个代理,把本来从用户走向路由器的流量拦下来,经过这个代理的“处理”之后,再直接给家庭路由器发送出去即可,这样家庭路由器只需要关注传统的路由交换功能,而不需要处理传输层或者应用层的数据了,这就保证了家庭路由器的低负载和网络功能的增强。

于是,我们提出来的一种新的网络结构,其物理结构如下

实际的数据流向是这样的

叫旁路由的原因其实就是因为他就挂在一旁啦,是不是很形象呢?

部署过程

OpenWrt准备

手动下载

去到OpenWrt的官方网站/toh/start,在提供的支持设备列表中找到你的设备,常见的设备都在此提供了。

坏处就是只配备了一些常见的软件,如果你的设备只有snapshot快照版本的镜像,那就很悲剧了,常见的软件都不包含,甚至不开启SSH和luci,这就需要你自己进行手动编译了

自行编译

编译环境:Ubuntu20.04LTS

我使用的是windows的Linux子系统,直接在微软商店安装就行。

打开终端输入命令:

sudo apt update && sudo apt upgrade -y

更新软件源信息和所有软件包

安装依赖

sudo apt-get -y install build-essential asciidoc binutils bzip2 gawk gettext git libncurses5-dev libz-dev patch python3 python2.7 unzip zlib1g-dev lib32gcc1 libc6-dev-i386 subversion flex uglifyjs git-core gcc-multilib p7zip p7zip-full msmtp libssl-dev texinfo libglib2.0-dev xmlto qemu-utils upx libelf-dev autoconf automake libtool autopoint device-tree-compiler g++-multilib antlr3 gperf wget curl swig rsync

克隆OpenWrt的官方仓库

git clone /openwrt/openwrt

进入文件夹,下载需要的依赖项(注意此时和编译时都必须保证良好的网络链接)

cd openwrt #进入文件夹./scripts/feeds update -a #更新依赖目录./scripts/feeds install -a #安装依赖项make menuconfig #打开编译配置菜单

打开界面如下,在target system,subtarget, targetProfile里面找到你对应的硬件

在Base System中用空格选中dnsmasq-full,去除dnsmasq(一定要去除,不然冲突导致编译失败),选中Luci-collection-Luci(Web管理界面),其他的软件包均可以自己添加

我添加了aria,smb,但是其实也可以现在不添加,直接编译即可,之后都可以安装。按两下esc按提示保存配置,之后终端输入

make -j8 download V=s

再次下载一些外部库

下载完成后,输入:

make -j16 V=s -j

后面的数字是线程数,V=s代表视图,写不写都可,写上了方便出错时排查,

编译成功就是这样的,镜像在~/code/openwrt/bin/targets/sunxi/cortexa7位置下,根据硬件不同,生成路径可能会不同,得到的主要内容如下:

我们使用openwrt-sunxi-cortexa7-friendlyarm_zeropi-ext4-sdcard.img.gz烧录到内存卡中即可

烧录

使用etcher进行镜像的烧录,如下:

烧录成功,把内存卡插入开发板中即可!

第一次启动

首先将开发板和电脑直接一根网线直连,浏览器输入192.168.1.1,打开Web管理界面,使用root(无密码)登录,

System-Administration

勾选上GateWayPorts,并设置root用户密码

自定义密码之后,在Network-Interface下点击Edit,将接口协议更改为DHCPClient,之后将开发板断电,网线连在家用路由器上再上电,就可以正常收到IP地址啦,这时候再使用家庭路由器分配的IP地址,就又可以通过浏览器直接访问到Web管理界面。此时可以开启常用的功能如Adblock,aria等等。

之后可以开启SSH

安装软件包在这里,提供了非常好用的软件搜索功能

如果家中网络不佳,可以对opkg进行换源,换源可参照如下教程https://mirrors.tuna./help/openwrt/

主路由配置

在旁路由的后台在Network-Interface下点击Edit,将接口协议更改为静态地址,如192.168.31.2,其默认网关修改为192.168.31.1

访问主路由的后台,我的是小米路由,找到DHCP相关配置,如下图:

将默认网关字段修改为旁路由的IP192.168.31.2.最后我们重启一下路由器,这样网络工作就处理完成了。

这样我们的家庭网络改造完成,现在网络遇到高负载的时候完全不怕啦!这就为我们之后要构建的多媒体娱乐中心打下基础了。

点“阅读原文”,获取更多干货文章!

如果觉得《你懂的技术 懂你的OpenWrt!树莓派OpenWrt旁路由软路由入门教程 你懂的》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。