比较费心的折腾 篇二:小米路由器青春版折腾负载均衡

2020-06-04 11:00:23 6点赞 19收藏 8评论

创作立场声明:本文的核心目的是对于比较久远的硬件进行折腾,提及的软件可以在官网、软件包或者github找到。

开篇预警

本文截图较多,但是前期操作不可复制,也没有截图下来,所以就真的没法保留了。本文的具体操作是可以自己搜索到的,作者也能保证本文的具体操作都是走过了一遍,确保没有问题。

本文其实是一个不完全版本,等七月份会有补充截图,并把这段话删除。如果有玩过openwrt的,对于其中的操作应该不会陌生;如果是linux基础比较好的,在没有完全截图引导下也可以以文字问辅助完成整套操作(才不是大作业没时间了没顾及截图小米路由器青春版折腾负载均衡 )。

为什么要折腾

  • 嵌入式系统的大作业

  • 感觉网速叠加还是非常有用的

这里面会涉及到如下内容:路由器刷机、telnet漏洞、mwan3负载均衡、macvlan虚拟网卡

小米路由器青春版介绍

小米路由器青春版,具体型号R1CL,CPU是MT7628AN,575MHz的速度,内存64M,闪存16M,micro-USB接口5V1A供电,100Mbps的WAN和LAN。

这个路由器其实比较早了,感觉还挺有折腾的价值。

打开telnet、ssh

打开telnet

这里实际上是利用了一个web漏洞才可以打开telnet,同时后续版本已经封了这个漏洞,需要刷入非常早期的开发板固件才可以调用对应API。

在初次设置完成之后,会进入一个类似于miwifi.com/cgi-bin/luci/;stok=xxx/web/home#router这样的网址,此时需要把stok=xxx后面的内容换成/api/xqsystem/set_name_password?oldPwd=当前路由器管理密码&newPwd=新密码,这样可以重新设置后续ssh、telnet的root密码,否则root的密码和当前路由管理密码不一样照样进不去。成功的返回码是{code:0}

在刚才的基础之上,把原有部分换成/api/xqnetwork/set_wifi_ap?ssid=tianbao& encryption=NONE&enctype=NONE&channel=1%3B%2Fusr%2Fsbin%2Ftelnetd,这样才能打开telnet模式。这一步时间大约需要1分钟,不要急着刷新。成功的返回值是{"msg":"未能连接到指定WiFi(Probe timeout)","code":1616},返回码有可能不同

打开ssh

之后利用powershell、linux的bash,putty等等支持telnet的软件进入路由器,IP默认情况下是192.168.31.1,用户名root,密码是刚才设置的新密码。进去以后直接使用三个命令,可能需要等一段时间才能结束。

  • sed -i ":x;N;s/if [.*; thenn.*return 0n.*fi/#tb/;b x" /etc/init.d/dropbear

  • /etc/init.d/dropbear start

  • nvram set ssh_en=1; nvram commit

刷入breed、openwrt

刷入breed

在打开ssh之后,用ssh登录路由器,IP、用户名和密码不变。在另一个窗口用scp命令上传breed.in作为刷入的文件,或者使用WinSCP的scp传输协议连接到路由器,上传到/tmp/即可(如果路径不一样,需要修改下面的命令)。

之后使用mtd命令刷入。刷机需要等待一段时间,并且会重启。

  • mtd -r write /tmp/breed.bin Bootloader

进入breed的方法是断电后按住reset键的同时插入电源(要先按住再插入电源)。第一次刷完之后重启会自动进入。刷入breed不会影响原系统。进入breed时,只有有线才可以连接到路由器,无线不开启,IP针对不同的包不一样,我用的是192.168.1.1。

刷入openwrt

电脑有线连接之后可以打开这个界面,默认在“系统信息”选项卡,上传openwrt固件即可,会要求二次确认的。

本次刷机也需要一定时间和重启,重启之后可以按照相同方法回到breed。

breed界面breed界面

安装macvlan、mwan3与设置

在一个单WAN口的地方怎么可能做到负载均衡?很显然这是多个网口的事情,于是我们可以做类似于单线多拨的操作,通过虚拟网卡和负载均衡达到这样的效果。

更新与安装macvlan、mwan3

首先使用ssh登录路由器Terminal,然后使用opkg更新已有库文件。

  • opkg update

  • opkg list-upgradable

  • opkg upgrade *(这里没有*这个符号,仅仅用于指代你看到的所有软件包)

  • 希望zdm能给代码提供一个比较好的支持(markdown大法好)

之后下载安装macvlan、mwan3和web界面设置。

  • opkg install kmod-macvlan mwan3 luci-app-mwan3

产生新的网卡

用ip命令生成网卡。

  • ip link add link eth0.2 name veth0 type macvlan

  • ifconfig veth0 up

检查可以用ifconfig查询veth0是否出现。

用ifconfig检查一下虚拟化是否成功用ifconfig检查一下虚拟化是否成功

在Network->Interfaces点击Add new interface生成接口并设置,此时才可以拨号。记得把网关越点设置到和其他都不一样(默认是0)。

vwan0的设置1-网关越点vwan0的设置1-网关越点

vwan0的设置2-划分物理接口vwan0的设置2-划分物理接口

vwan0的设置3-划分VLANvwan0的设置3-划分VLAN

负载均衡

打开负载均衡页面,可以发现默认自带一系列规则,但是这些规则会导致在关闭默认wan之后无法通过其他wan上网,但是电脑本身还是处在联通状态。正是因此才需要调整

删除掉Interfaces标签页下的所有的东西,新增wan和vwan0,Enabled选择启用,Metric填入之前设计好的网关越点。Members也全部删除,新增wan和vwan0,权重一样。最终在policies的策略全部删除,只留下balanced,成员选择wan、vwan0,last resort选择default。

给mwan添加interfaces给mwan添加interfaces

删除默认规则后,给mwan设置仅有的balance规则删除默认规则后,给mwan设置仅有的balance规则

至此,所有设置完成。如果需要添加多个的话只需要多写几个vwan即可。

实际体验与方案的不足

通常来说有mac就可以拿到IP,所以在有mac和IP的情况下,只需要验证关闭一部分的情况下依旧可以连通网络,和在所有都联通的情况下,上网流量的分配大致按照预计进行。本实验中依旧只用wan和vwan0。

  • 关闭wan或者vwan0,网页打开bilibili.com,查看能否打开主页。如果wan关闭以后无法打开,可能是因为你的mwan3安装并且没有设置好;如果是vwan0关闭也是同理,也有可能是因为wan本身网络就不对。

  • 两者都打开,随意打开一个视频(或者能观察到明显网络流量的其他动作,比如下载),过一段时间观察两者的分配情况。

最后的结果是,通过两个端口都可以单独上网;同时通过两个端口上网时,可以看到端口的流量是差不多的,基本做到了负载均衡。

这个方案其实有一个问题:在刷入openwrt之后,/etc/rc.local写入ip link命令会不生成网卡,但是把那段命令的eth0.2改成eth0就可以做到生成虚拟网卡,但是无法拿到IP(显然)。这显然是涉及到eth0.2生成时间的问题,就需要花费时间去阅读启动shell才可以定位到对应位置,已知的是从S95done这一块调用的rc.local,直接从后面开始应该没有问题。

展开 收起

Xiaomi 小米 AX3000T 双频3000M 家用千兆Mesh路由器 Wi-Fi 6 白色 单个装

Xiaomi 小米 AX3000T 双频3000M 家用千兆Mesh路由器 Wi-Fi 6 白色 单个装

99元起

Xiaomi 小米 BE6500 Pro 双频6500M 家用千兆Mesh无线路由器 Wi-Fi 7

Xiaomi 小米 BE6500 Pro 双频6500M 家用千兆Mesh无线路由器 Wi-Fi 7

535元起

Xiaomi 小米 BE3600 2.5G版 3600M 双频千兆家用无线路由器 Wi-Fi 7 白色

Xiaomi 小米 BE3600 2.5G版 3600M 双频千兆家用无线路由器 Wi-Fi 7 白色

229元起

Xiaomi 小米 AX6000 双频6000M 家用千兆Mesh无线路由器 Wi-Fi 6 单个装 黑色

Xiaomi 小米 AX6000 双频6000M 家用千兆Mesh无线路由器 Wi-Fi 6 单个装 黑色

299元起

Xiaomi 小米 BE7000 三频千兆Mesh无线路由器 Wi-Fi 7

Xiaomi 小米 BE7000 三频千兆Mesh无线路由器 Wi-Fi 7

406元起

Xiaomi 小米 AX9000 双频9000M 企业级千兆Mesh无线家用路由器 Wi-Fi 6 单个装 黑色

Xiaomi 小米 AX9000 双频9000M 企业级千兆Mesh无线家用路由器 Wi-Fi 6 单个装 黑色

778元起

Xiaomi 小米 AX3000 双频3000M 家用千兆Mesh无线路由器 Wi-Fi 6 单个装 黑色

Xiaomi 小米 AX3000 双频3000M 家用千兆Mesh无线路由器 Wi-Fi 6 单个装 黑色

235元起

Xiaomi 小米 BE10000 三频万兆Mesh无线路由器 Wi-Fi 7

Xiaomi 小米 BE10000 三频万兆Mesh无线路由器 Wi-Fi 7

1269元起

Xiaomi 小米 AX3000 双频3000M 家用千兆Mesh全屋路由器 Wi-Fi 6 白色 子母装

Xiaomi 小米 AX3000 双频3000M 家用千兆Mesh全屋路由器 Wi-Fi 6 白色 子母装

189元起

Xiaomi 小米 4A 千兆版 双频1200M 家用千兆无线路由器 Wi-Fi 5 单个装 白色

Xiaomi 小米 4A 千兆版 双频1200M 家用千兆无线路由器 Wi-Fi 5 单个装 白色

69元起

Xiaomi 小米 AX1500 双频1500M 家用千兆Mesh无线路由器 Wi-Fi 6 白色 单个装

Xiaomi 小米 AX1500 双频1500M 家用千兆Mesh无线路由器 Wi-Fi 6 白色 单个装

134元起

Xiaomi 小米 HomeWiFi 三频11700M 家用千兆Mesh路由器 Wi-Fi 6 两个装 黑色

Xiaomi 小米 HomeWiFi 三频11700M 家用千兆Mesh路由器 Wi-Fi 6 两个装 黑色

1039元起

Xiaomi 小米 Pro 300M 无线信号放大器 Wi-Fi 4 黑色

Xiaomi 小米 Pro 300M 无线信号放大器 Wi-Fi 4 黑色

55.9元起

Xiaomi 小米 BE3600 双频3600M 家用Mesh无线路由器 Wi-Fi 7 白色 单个装

Xiaomi 小米 BE3600 双频3600M 家用Mesh无线路由器 Wi-Fi 7 白色 单个装

229元起

Xiaomi 小米 CR8808 双频3000M 家用千兆Mesh无线路由器 Wi-Fi 6 白色 单个装

Xiaomi 小米 CR8808 双频3000M 家用千兆Mesh无线路由器 Wi-Fi 6 白色 单个装

120元起

Xiaomi 小米 4A 双频1200M 家用百兆无线路由器 Wi-Fi 5 单个装 白色

Xiaomi 小米 4A 双频1200M 家用百兆无线路由器 Wi-Fi 5 单个装 白色

56.9元起
8评论

  • 精彩
  • 最新
  • openwrt的负载均衡还是很弱的,比如播多了后,ip变得太厉害了,太难设置了,我在chiphell上写了一个pfsense的多拨教程,你搜一下,当然,openwrt的优点是硬件便宜

    校验提示文案

    提交
    果然这里还是有大佬的 [尴尬] ,我就赶快让开了。
    当时用openwrt的最主要原因还是有包管理器= =有啥用啥呗。
    大佬的教程马上去看 [呲牙]

    校验提示文案

    提交
    总共有2个,还有一个搜 最丐的amd yes软路由?惠普t620单网卡路由,pfsense热备教程

    不过折腾pfsense这种系统,我后来才知道对硬件的单核性能要求有点高,比如惠普t620的pppoe自能跑到400m,估计常见的j1900跑pppoe也差不多渣

    校验提示文案

    提交
    收起所有回复
  • 这一篇看下来,我只有硬件和po主一样,其他的没有一样的 [皱眉]

    校验提示文案

    提交
    不存在的= =
    这些东西又不是只有我能看到,只不过不肯去找、没时间去找罢了。

    校验提示文案

    提交
    收起所有回复
  • 这路由器有一个,用起来一言难尽

    校验提示文案

    提交
    确实有点不太行,特别是屋子比较大的这玩意穿透不了很多层,最近换了D191G和RM2100组合来让全屋都有5G信号,这玩意就退役下来自己折腾了= =
    之后可能是挂在哪里作为2.4G信号的补充或者直接作为智能家居的接入点。

    校验提示文案

    提交
    收起所有回复
  • 请教楼主一个问题:我刷的是很低版本的OpenWrt R8.1.2 By Lean / LuCI lede-17.01,没有负载均衡mwan3,请问是否可以单独安装

    校验提示文案

    提交
提示信息

取消
确认
评论举报

相关好价推荐
查看更多好价

相关文章推荐

更多精彩文章
更多精彩文章
最新文章 热门文章
19
扫一下,分享更方便,购买更轻松