这次摸鱼好像摸的有点久了呢。开学至今,这学期其实还是做了挺多事情的,值得记述的也有不少,不过烦心的事实在有很多, 所以——都摸了吧~

其中一件事,就是上了斐讯的车(不过至今还没下车),刷了openwrt固件让它完美的成为校园网路由器啦。

我们先来聊一聊mentohust吧。

每一个华科萌新从入学开始,都要经历的就是长达一年的没有有线网、只有挤到爆炸且限速在10M以下的校园无线网的灰暗生活,要不就只能办没什么卵用的6MADSL的电信宽带,或者向学长献出py来换取有线网的账号。而当这一年好不容易过去,心急火燎地把网线插到电脑上时(你可能还会发现你的电脑并没有网线接口,比如我的xps13,这时候就要多一个步骤哭唧唧地去买usb转rj45的扩展坞),却面临一个问题:咋联网啊?联啥网啊?你到底会不会啊dalao?

如果你稍微上道一点的话,你可能还会在cmd里输入ipconfig(windows)或是在bash里输入ifconfig(UNIX)来检查网络情况,你会发现你压根就没拿到ipv4的地址,以及拿到了一个ipv6的地址但是却用不了。没错,与大部分高校校园网一样,华科的校园网是需要认证后才会给你分发ip的!而认证方式则是和锐捷网络合作的锐捷认证。

如果你是一名一般学生,此时你会在华科的网中官网找到学校官方提供的认证工具并且下载对应的版本,填上账号密码,认证完就可以愉快地上网了。

然而你可能会发现一些问题:

1.Windows版不能保证断线自动重连,手机一连wifi电脑就会被挤下去。

2.Linux版极其难用,每次启动都必须要用运行.sh脚本,而且还不支持daemon。

3.就这仨平台啊,那我想在别的平台用怎么办?比如我也想让手机能用上百兆的网啊,总不能每次都用电脑开热点吧!

于是你开始寻找能替代辣鸡锐捷的东西,你发现了——mentohust!

mentohust是全平台的锐捷认证的开源完美替代品,并且除了锐捷以外还支持赛尔等认证方式(当然我也只试过锐捷),由一位华科学长编写,在其毕业后又由另一位华科学长接手维护,为无数华科和非华科的高校学校学子提供了便利。

注:现在已有替代mentohust的新项目minieap,同样是我科大佬开发维护的

各平台版本mentohust已编译包下载

windows用户需要点击winpcap来进行安装才可以使用哦~

mentohust的简要参数说明:

账号密码和有线网卡的选择就不用说了吧,然后在华科dhcp方式要选择认证后。linux用户将daemon参数置1即可后台运行。

到这里,用mentohust取代锐捷作为认证客户端是一件非常自然的事情,mentohust的自动重连、低占用都能优化我们的使用体验。不过,只是换了一个认证工具而已,本质上什么都没变啊!我们还是需要用电脑去认证有线网,而手机等设备依然可怜巴巴地望着。

所以接下来要讲的就是,mentohust让在学校里使用路由器成为可能!

我们的思路很简单,在路由器里装上mentohust,由路由器完成认证工作,路由器拿到ip地址以后就跟在家里使用路由器一样了。

为了装上mentohust,我们需要一台能刷写固件方便我们折腾的路由器,为路由器装上嵌入式Linux类的系统,然后就能像折腾一台电脑一样折腾路由器了。请注意避开TP-Link之类的厂商,因为TP-Link的许多产品都需要强改硬件才能进行刷写,并且支持的固件少之又少。

因为没有钱钱,我选择了不要钱的斐讯k2p,售价799,分三期全部返还,我是750左右买的,所以如果成功下车的话还能小赚一点钱。很不可思议吧,不要甚至还倒贴钱的路由器,那他是怎么赚到钱的???这就是所谓资本家的玩法了,有兴趣自己去搜一下斐讯相关的文章吧,我等p民只要知道自己没花钱就拿到了一个在学校可用的路由器就好了~

第一步,先确认一下路由器的硬件版本,比如k2p的硬件版本有A1,A2,B1,其中B1用的是博通芯片而A1,A2则是mtk芯片,二者不能通刷,在恩山无线上先找找相关的教程贴,摸清楚路数我们就可以准备开刷了。

第二步,挑选一个合适的固件。常见的固件有openwrt、LEDE、华硕、梅林、padavan、官改(官方修改版)等等,前两者就是典型的嵌入式linux了,可玩性很高,用啥装啥想怎么配怎么配,不过需要有一定的基础;而后面几个则强调定制性和稳定性,比如padavan,里面的一大票预装插件让人眼馋的不行,同时操作也相对简单,没什么需要用到命令行的时候。

最适合作为校园网路由器的,还是Openwrt/LEDE了,而hiboy的padavan也很不错(自带mentohust),不过很遗憾不支持k2p。我最后刷的固件是Openwrt_Chaos_Calmer.

第三步,把已经编译好的mentohust二进制文件托入路由器。你可以用路由器型号当关键词搜索一下编译好的mentohust,如果很不幸没有找到的话你就得学一下交叉编译来自己编译了。给mentohust设置可执行权限,./mentohust执行,首次认证后会生成一个.conf的配置文件,去把配置文件里的daemon设置为1,然后愉快的把mentohust添加到开机启动吧~

第四步,诶等等都已经认证成功能上网了为什么还有第四步??那是因为如果只做到第三步,当你开心地上着网想要跟平时一样打开蝴蝶pt下载一部小电影来打法周末时光的时候,会发现压根打不开这些高校pt站的官网,下载和上传也做不到。那么问题已经很明显了———ipv6因为路由器down掉了!

为了解决v6的问题,因此在前面我才说推荐Openwrt/LEDE,因为别的固件都是给一般人家用的,而中国的ipv6远未普及,所以自然在这方面处理的不甚完美。

查阅资料,发现路由器配置ipv6大致有三种方法:

1.利用odhcpd

2.利用ipv6nat

3.利用ipv6穿透

第一种方法最为简单,但是在华科并不适用!这是为什么呢?回到本文的最前面的部分看看,我们的设备确实在插上网线的时候就已经拿到v6地址了,但是在认证前确实不可用的,因此即使用odhcpd让内网设备拿到v6地址,依然是无济于事的。不过,在很多v4收费而v6不收费的学校,这个方法可以帮助学生直接绕过认证匿名上网,同时再利用4in6达到免费上网的目的。

第二种方法是我现在采用的,虽然都说nat6效率低下,不过跑满百兆带宽还是没什么问题的。

第三种方法没有尝试过,我的固件好像也缺少必要组件,因此就跳过了。

关于v6NAT可以参考这两篇文章:

OpenWRT 路由器作为 IPv6 网关的配置

Lede、PandoraBox IPv6 NAT66的实战操作【亲测】

如果一切顺利的话,你路由器下的内网设备就会对外表现出同样的v6ip,同时你也可以开心地继续使用pt了~