1.起因
自从去年宽带升级到千兆后就一直没去管它,直到小半年后测速发现最高就到900兆左右,按理说一般运行商给的带宽都会有富余的,像500兆的带宽实测会到600兆左右。于是经过一番搜索后知道了这锅就是千兆光猫的物理限制了。没办法,要想突破千兆就得换光猫。然后其实在我网上搜索时得知了一个好东西——ponstick猫棒。
2.关于ponstick猫棒
这玩意外观看着就跟一般的光模块一样,区别是在它的soc里有集成了phy、mac、cpu等,差不多就是一个完整光猫的配置。猫棒和光猫一样有分GPON和EPON,目前来看EPON的选择比较少主要还是价格太感人,如果GPON的话那就可以扯开了折腾,淘宝闲鱼大把可捡,这些GPON的猫棒都是机房淘汰下来的东西,主要是华为、诺基亚、阿尔卡特等品牌,一般都刷好了第三方的固件到手就能用。网上有说华为的MA5671A最好,但依我看硬件都是差不多的东西,无非就是华为的第三方固件可能出的最早点而已。
在确认了家中的光猫是GPON后,马上下单猫棒和收发器(当时内网还没升级万兆没有光口兆交换机可用),因为猫棒和光模块一样需要插入SFP接口使用。
我给猫棒三边贴上了散热片,上面压着风扇吹,降温效果很可以的。
3.前期准备
首先要知道运行商会对接入PON网的光猫进行验证,所以需要获取原来光猫的:逻辑ID,密码,SN序列号,MAC物理地址,vlan。一般运营商会选取一种或几种进行组合验证。SN和MAC地址直接在光猫底部可以看到,据说华为光猫的SN号是16位的(为此其实已经在我后面的翻车埋下了伏笔),所以这次主要就是进光猫查看逻辑ID和密码。
进入光猫后台看到的是这样及其精简的电信定制界面。好在逻辑ID可以看到,密码为空,可以判断我们这的电信在认证时逻辑密码是不需要的,至于需不需要MAC地址那就后面尝试,vlan的话一般同一地区的都一样,我们这应该是41没错。
一切都在很顺利的进行着,接下去就是进入猫棒后台设置好信息就可以扔光猫了。
4.配置猫棒(翻车)
进入猫棒后台后可以看到是基于openwrt的固件,在GPON菜单下选择互操作兼容配置。
然后就是填入SN、逻辑ID和vlan。保存应用并重启。
在状态界面的GPON栏里注册信息如果显示5的话就说明认证成功了。
但是,万万没想到经过多次尝试,包括修改了接口的MAC地址,注册信息那显示不是1就是3。
完了,年轻人的第一次就这么翻车了。
5.分析翻车原因
首先肯定的是我所获取的信息和输入绝对没有差错,唯一不确定的就是vlan,还有就是发现在16位的SN序列号后面括号内是一个12位的号,简单研究判断两个号应该是一样的,因为两个号的后8位是相同的,前8位的数字应该就是对应括号内的前四位英文HWTC,我猜测这个无非就是当这个序列号需要用12位表示的时候才用到,本质都是这台机器的序列号。就在我研究纠结SN号时,突然想到我这个光猫当时安装师傅拿来安装时一眼就知道不是全新的,要知道运营商给我们的光猫本来就是重复利用的,当我们的宽带注销停用后他们会把光猫回收继续给新装的人使用。想着一个几经周转后的光猫鬼知道都经历了些什么,我有点怀疑这个光猫是不是有过维修然后被更换了序列号,到这里我已经不想继续在猫棒的界面折腾了,还不如想办法进入光猫的超级管理员后台。
6.破解光猫超级密码
先要说的是网上查到的那些超级密码,用8080端口登录,地址后加/cgi-bin/baseinfoset.cgi什么的在我这根本行不通,真的火大,既然这样那就只能硬来了。
所谓破解超级密码其实原理很简单,就是我们这个光猫的超级密码是记录在一个叫hw_ctree.xml的加密文件里的,现在我们只需想办法得到这个文件就算是破解了超级密码。
1.开启光猫telnet
正常开启光猫telnet是需要用超级密码登录开启,但我的目的就是为了获取超级密码,死循环了。
还好华为有个ONT维修使能工具可以直接开启光猫的telnet,把所需用到的工具下载后就可以开始了。
首先把电脑的ip改成光猫同一网段并开启电脑端的telnet服务,移除光猫所有接线,LAN口与电脑相连,打开ONT使能工具。
选择维修使能——选择网卡——点击启动
光猫断电重启后多等几分钟,不出意外光猫的telnet就已开启
2.通过telnet连接到光猫
打开电脑cmd输入telnet 192.168.1.1进行登录
账号:root密码:adminHW
成功登录后su,再是shell,结果反馈“command not found”,给我搞不会了shell命令居然用不能用,那还怎么玩,感觉又要翻车了。继续搜索后得知,原来是光猫固件的shell命令被阉割了。好在还有救,可以刷入带有shell的固件来补全shell。
3.补全shell并提取hw_ctree.xml文件
找到一个差不多应该可用的固件后继续使用ONT使能工具。
这次选择升级——ONT版本包那选择刚找到的固件——点击启动,等光猫再次重启后不出意外就已经补全shell了
再次登录后发现shell命令可用了,同时在mnt目录下可以看到插入的U盘usb1_1,无需手动挂载。因为等等需要提取文件,所以插上了U盘
继续进入jffs2目录,终于可以看到这个hw_ctree.xml文件了。
提取这个文件我看网上有人通过tftp来传输,我是懒得再去下载服务端,还是简单粗暴的插上U盘直接cp过来。
cp hw_ctree.xml /mnt/usb1_1/
4.解密hw_ctree.xml文件
因为这个文件是加密的,所以需要用到解密工具,打开解密好的文件搜索telecomadmin就可以找到超级密码了
可以看到上面的密码部分依旧有加密且是$2开头,继续在解密工具用$2把密码解开
至此,终于得到了光猫的超级密码
7.登录光猫后台
用超级密码登录后终于看到了华为的原厂界面了,但是就是看不到SN号,只有一个设备标识号,然后vlan也确实是41没错。
试着在猫棒上填入以上信息后成功连接。测速结果没有达到预期的1200多兆,但能够突破千兆我已经满足了。
最后,当我准备把光猫收拾好扔抽屉吃灰时,看到了光猫底部标签上的设备标识号,差点一口老血没喷出来了,折腾了两个小时后才发现刚刚的一顿操作都是在原地踏步,不过话说回来如果不进光猫后台我也不知道这台光猫的设备标识号就算是SN号了,说好的16位呢。
8.补充(访问桥接的光猫)
回想早期想进光猫后台的话,都是搬个笔记本到光猫面前,插上网线,电脑改成光猫网段,进入后台。
后来,在网上有看到过在路由器那边设置好后,内网的设备就能直接访问了,但是对我来说访问光猫的频率实在是太低了,设置好后基本就没去登录过。
不过现在对于设置猫棒就显得特别重要和方便了,我这边是ROS访问光猫,设置如下:
首先在Address里添加一条记录, 让ROS在光猫网段下有一个固定IP, 接口设置为WAN口
然后在防火墙里加一条NAT记录如下:
chain为srcnat,Src Address和Dst Address分别为ROS DHCP的网段和光猫的网段。
Action为masquerade。
这样,内网设备就能通过ROS的WAN口访问到光猫了。
9.后记
更换猫棒至今已使用4个月,稳定性还算可以,没有出过什么幺蛾子,中间也就掉线过一次,重启后就好了。
关于为了提升这一点网速至于吗,其实我知道是真的没必要,实际使用中的900兆和1200兆是完全感受不到区别的。
突破千兆对我的意义纯粹就是为了好玩,没事测个速治治强迫症,一个人的快乐就是那么简单。