ToC
本文主要是分享本人在广东药科大学(简称广药)大学城校区的 iNode 校园网下折腾小米路由器青春版这一蛋疼的路由器时走的弯路以及一些解决的过程. 期间略有辛酸与蛋疼, 故写出来供参考.
认识过程
自然, 在未上到大学的时期, 天真的我以为网络都应该是不受限制, 方便接入, 是不知道校园网这一麻烦至极的存在的. 开学时好不容易东问西问完成了校园网帐号的注册和缴费, 又试用了无数用于电脑共享 Wi-Fi 的软件, 终于是可以像以往一样”正常”地上网了. 可是这样的一种”凑合”的状态, 仍然有几个不满的地方:
- 电脑上的 Shadowsocks 使用全局翻墙模式会被 iNode 客户端检测到从而被下线(断网)处理. 而由于各种奇怪的需求, 很经常需要用到全局翻墙. (Sockcap 可以解决部分需求.)
- 翻墙上瘾, 想实现路由器级翻墙.
- 电脑共享 Wi-Fi 的软件关了电脑就不能用了, 路由器可以解决.
因此, 从大一开始便有了想有个路由器的需求.
入手来由
而实际上, 写此文的时候我也大三了, 这次的主角: 小米路由器青春版, 也是这时期得到的. 从想法到得到, 经历了两年.
原因是学生时期的经济能力, 让我秉持着
的心态, 用电脑发 Wi-Fi 勉强能用, 加上抓包的需求也可以通过其他曲折的处理代替, 便一直没有买.
那么为何又拿到了呢? 嘛… 因为女朋友问, 生日礼物想要啥, 就随口说了想要个路由器…
路由器到手的我, 便立刻开始了折腾.
尝试直连
小米号称自己有”黑科技”(笑), 那么不做任何折腾是不是能直连广药的 iNode 认证的校园网呢? 把电脑的网线拔下, 插到已经有电源的路由器上, 出现了 Xiaomi_E3E6DE 的开放 Wi-FI. 连上去, 按照经验, 后台页面一般是 192.169.1.1
, 不过, 没有反应, 看来小米又做了特殊处理. 那么, 去下载个小米路由手机 App 吧.
一打开便要求登陆小米帐号,
你的 App 现在连着的 Wi-Fi 是一个还没拨号还没配置的网络, 一上来就要求登陆这个需要用到外网的功能?
还是开始查资料吧…
搜寻资料
我选择了从小米官网开始, 可是, 没有什么有用的信息, 转战小米社区论坛, 结果, 只有一个”小米路由器”的大类, 很好. 鉴于论坛的搜索系统一般都烂到极点的经验, 放弃在论坛搜索这个途径, 换着关键词在 Google 搜索, 似乎也都是一些小白在问如何用青春版在校园网拨号的问题, 本着粪坑里面也应该会有黄金的心态, 筛选了一会, 得到似乎是相关的链接:
搜索 小米路由器青春版 校园网
:
内容是关于 Mini 的, 不同型号的教程也许不适用, 但是, 先参考下吧.
这个有提到青春版, 不过, SSH 是什么? 为什么要计算密码? 也许后面要用到, 也先留着.
锐捷…小米路由器… 不怎么相关, 忽略.
搜索 小米路由器青春版 inode
:
NULL
毫无有用的结果.
思考
既然没有特定的解决方案, 又或者可能是关键词错误, 无法搜索到在搜索引擎里靠前的结果, 那么就从通用的解决方案开始. 之前知道路由有 OpenWRT 这样的系统, 同时感觉路由器系统应该也属于 Linux 嵌入式系统的一种, 那么肯定有 root 和刷固件的方法.
那么, 换关键词:
搜索 小米路由器青春版 openwrt
:
第一个答案:
已经刷入 Pandorabox。把 flash 拆下来强行烧入
好高端的样子! 敢情这是要拆机咯?!
还好下面有第二个答案, 这种似乎是可行的, 然而, 步骤非常简略, 似乎需要另一个更详细的教程来验证, 先留着备用.
终于找到你… 里面详尽地指明了应该先刷开发版, 开启 SSH, 再刷入 PandoraBox 的途径, 还有每一步的指令. 那么, 开始吧.
刷入开发版
根据上面教程提到的, 跳转到了小米路由器青春版刷机教程, 里面只有操作的部分, ROM 需要从这里下载.
这个刷机教程也比较详细, 没有需要特别注意的, 回到上一级的教程, 继续下一步.
开启 SSH
此处开始, 该教程便开始有难以理解的地方,
重新登录
192.168.31.1
, 登录成功后, 记下地址栏中的 stok 后面的数字, 这个非常重要.
嗯, 记下了.
在终端下运行如下命令,
curl -d "oldPwd=<Your Original Password>&newPwd=<Your New Password>" "http://192.168.31.1/cgi-b
比如,curl -d "oldPwd=old_password"&newPwd=new_password""http://192.168.31.1/cgi-bin/luci/;stok=my_stok_num/api/xqsystem/set_name_passsword"
old_password 就是上面设置的密码. 如果返回 code 是 “0”, 说明 已经开启 root 和 ssh, 并且 root 密码已经更新为”new_password”.
终端? 哪里的终端? 鉴于对指令操作的不熟悉, 不敢开始轻易尝试. 开始回想.
之前搜索到这么一个教程. 小米路由器青春版 (mini) 开启 SSH 小米路由计算 & 更改官方 root&SSH 密码 , 应该就是现在要使用的了, 开始仔细阅读.
我们常说的开启 SSH 就是启动 dropbear 程序,启动方法:/etc/init.d/dropbear start
小米在这个启动脚本增加了两个限制,不满足就不让启动:
1:必须是开发版
2:nvram 参数 ssh_en=1
mini 和 R1D、R2D 的 ssh_en 默认是 0,是通过 U 盘刷机的方式把 ssh_en 设置成 1 从而启动 SSH 的,而青春版没有 usb 接口, 所以青春版的 ssh_en 出厂默认就是 1,所以 青春版只要刷成开发版 dropbear(SSH) 就会启动 (但是我们不知道密码).
一大段看不懂没关系, 我也看不懂, 就看最后加粗的就好了. 教程接着说:
计算 & 更改官方 root&SSH 密码:
二选一
好, 接着看.
计算官方 root 密码:(可以计算小米路由器 mini 和青春版的 root 密码,R2D 理论也支持)
小米的 root 密码是根据 SN 加密运算得到的,我们不知道也无需知道它是怎么加密的,
只要给出 SN,运行官方的一个程序,他就会输出 SN 对应的密码.我把这个程序提取出来简单修改了一下,这是 mips 平台的软件,
只能在 MT7620 MT7621 MT7628 芯片上面运行,
找一个这种芯片的路由运行 或者 让有这种路由的人帮你算密码 (小米 mini, 极路由,newifi, 优酷等都可以).
等等, “找一个这种芯片的路由运行或者让有这种路由的人帮你算密码”这种事怎么想都是
使用方法:
解压得到 sn 和 bin 两个文件上传到路由 / tmp 目录
执行
cd /tmp && chmod +x sn
./sn 666666666666
行了行了…咱们来看第二种方法吧教练.
更改官方 root 密码:(全支持)首先网页登陆路由进入首页,浏览器地址类似这样
http://miwifi.com/cgi-bin/luci/; … 6b246eaa4c2c586fc65/web/home#router
把你浏览器中的 /web/home#router 替换成 /api/xqsystem/set_name_password?oldPwd=tianbaoha&newPwd=admin
把 tianbaoha 换成你的当前网页管理密码,admin 为你的新管理密码和 root 密码
回车以后网页显示 {“code”:0} 就是成功了。
对比回刚才那个教程, 简单而且容易操作得多了.
于是就这样改好了 root 和 SSH 密码(两者是同一个东西), 请把它牢牢记住, 这很重要. 接下来, 可以使用官方开发版 ROM 的 SSH 功能了.
其实一般来说, 很多教程会提到可以用官方的的开启 SSH 的教程, 不过我不建议使用, 原因看这里. 而除了这个原因, 还有就是, 小米官方似乎根本就没有为青春版路由器提供开放 SSH 权限的打算, 因为我用其官方手机 App 绑定了青春版路由器之后, 登陆官方的开放 SSH 工具的时候, 是这样的
所以即使我使用的教程没有让我去官方页面解 SSH, 我还是因为查了相关的资料并进行了尝试而走了弯路.(因为这教程也没提嘛.)
刷入 PandoraBox
我试着再跟着刚才那个教程的思路继续下去, 不过,
从 openwrt 下载 Pandora, 并复制到 路由器的 /tmp 目录下,
scp PandoraBox-ralink-mt7628-xiaomi-r1cl-squashfs-sysupgrade-r1468-20151001.bin [email protected]:/tmp/
登录到路由器, 将固件刷入路由器,
mtd -r write /tmp/PandoraBox-ralink-mt7628-xiaomi-r1cl-squashfs-sysupgrade-r1468-20151001.bin firmware
Pandora 的获取倒是没什么问题(链接里就只有一个 ROM 可以下), 但是从”并复制到 路由器的 /tmp 目录下”又开始不懂了. 怎么复制?
思考
回顾一下这篇教程, 里面也有 scp 这个命令, 而且文章也有提到开启 SSH, 那么应该是一个 SSH 相关的命令, 那么是不是需要什么工具来使用 SSH 呢?
再结合这篇教程的末尾, 需要用的 WinSCP 和 PuTTY, 应该就是相关的工具. Google 一下这两个软件的官网和相关教程之后得知确实如此, 具体使用和下载安装也请读者自行 Google.
在查 PuTTY 的过程中有看到其他文章说使用 XShell 也可以, 以下我选用的是 XShell.
WinSCP 起到的作用其实就是一个用 SCP 协议访问路由器文件目录的有图形界面的程序, 可以省去输入命令的繁琐和更加直观地知道文件的移动过程. XShell 则是使用 SSH 协议的终端程序(大概高手们直接使用 Windows 的终端就可以了吧).
所以, 打开 WinSCP, 填好参数来登陆, (此时你的电脑要连着路由器发出来的 Wi-Fi)
特别提醒下, 输入开发版之后, 路由器的后台管理页面似乎就不是
192.168.31.1
了, 而是别的奇怪的 IP, 例如我这里就是192.168.45.100
, 这个需要用手机上的小米路由 App 连上你的青春版 Wi-Fi 来识别.
连上之后, 把下载好的 ROM 包拖放进去路由器的 /tmp 目录就好了.(如下图)
再打开 XShell, New Session 登陆填参数登陆
于是可以在 XShell 里输入命令
mtd -r write /tmp/PandoraBox-ralink-mt7628-xiaomi-r1cl-squashfs-sysupgrade-r1468-20151001.bin firmware
如果以上步骤都顺利的话, 之后要做的就是一直等待, 直到路由器蓝灯(稍微有点发紫)常亮, 就是刷机成功了.
有些文章误导说如果红灯和黄灯闪烁就是刷机失败(里面的制作备份 U 盘的步骤也与我们无关, 因为青春版路由器压根没有 USB 口给我们插 U 盘), 请无视, 那是正常的现象, 猜测红灯黄灯闪烁只是重启时的正常亮灯步骤.
于是这个教程就无可用之处了, 接下来的拨号应该怎么办?
我们可以先连接路由器重启完成后一个开头为 PandoraBox_ 的无线网络,用户名和密码分别为 root 和 admin。进入管理平台后,修改 root 用户的默认密码(不修改的话其他人就也可以用默认密码掌控你的路由器咯),设置网络。
拨号
关于拨号, 应该才是在校园网里使用路由器最难的部分, 因为…我们用搜索结果说话:
“编译进路由进行认证”, “通过 vlan 把其中一个 lan 口虚拟成 wan 口”, “我自己改写了 njit-client 的源代码,使之适应 SYSU East Campus 的校园认证网络”, “交叉编译到 Openwrt 平台下”…
编译, 编译, 编译…
哦对了,c3h 的已经开源,源码请戳这里:https://github.com/KiritoA/c3h_client,请自行下载并编译,本人不提供二进制文件。
哦.
点击网络 – H3C 校园网络认证根据实际情况设置好自己的参数,(此处 wan 口为 eth0.2,视情况而定)点击保存 & 应用。
视情况就是什么情况呢大神?
OK, 也就是说, 搜索结果的关键词基本集中在编译 , H3C, njit, 等等几个关键词, 上, 而出现得最多的就是编译, 现阶段的我还没想尝试这一极其费时费力的方式, 所以选择了这篇开始尝试.
结果是失败.
一开始是忘记克隆 MAC 地址, 被学校的 iNode 系统自动拉入了黑名单, 找了班上做管理员的同学拉了出来. 但是之后即使克隆了 MAC 地址, 管理员那边也告诉我, 又因为”客户端版本不正确”而被封了.
然后再尝试另外的方法, 比如这篇, 如常失败, 原因也是”客户端版本不正确”
尾声
至此, 因为学业上也有其他工作需要完成, 也就暂时停下了研究如何拨号的进程, 继续用回曾经的电脑共享 Wi-Fi 的方法先暂时完成其他工作.
可以预见的是, 由于机型的小众以及校园网这种苛刻到极点的验证方式, 恐怕到了以后再有空继续研究时, 经历的也会一样曲折吧…
本作品采用 CC BY-NC 4.0 进行许可。地址: https://d4v.is/install-pandorabox-for-r1cl-in-inode-gdpu/183/ 转载请注明。