跳转至

IPv6与光猫

吐槽一下

随着网络的发展,国内运营商的光猫限制越来越严格。虽然出发点可能是为了保护用户家庭设备的网络安全,但是对于我们这些有折腾需求的用户来说门槛就高了很多。下面国光就拿江苏南京移动的光猫为例,记录一下国光我的折腾过程。

光猫现状

外观概览

设备名称:吉比特无源光纤接入用户端设备(GPON ONU) 设备类型:中国移动智能网关 设备型号:H2-3e(无语音/无 Wi-Fi) 生产日期:2022-08-18

家用光猫的性能都比较垃圾,国光我目前使用的光猫配置还算是不错的了(矮子里拔高个),最起码有 4 个千兆 LAN 口,下面是几张外观图片:

可以看出是 2022 年 8 月份生产的光猫,所以理论上来说固件是比较新的,门槛也比网上那些老的光猫门槛高一点。

正面没啥好看的,毫无亮点。

就这 4 个全千兆 LAN 口感觉还有点用处,后面改桥接可以多接一些设备。

系统概况

普通用户只能使用光猫背面的 user 普通用户登录,因为新一代光猫都是通过远程下发定期更改密码的,所以并没有默认的超管密码,这块先放一放,我们先使用普通用户登录看看再说:

下面是几张系统内部的图片信息:

展示了一些温度和联网服务情况等基本信息,可以看到国光我这里联网服务情况少了 1 个「中国移动宽带管理中心」,这是因为国光我后面手动删掉这个服务了,删了这个服务我们的光猫就不会被远程下发任务了,超管密码也不会被定期更改。下面看看没有删之前是啥样子的:

展示了 CPU、内存的使用率,以及接口的连接信息等。硬件型号为吉比特 H2-3e,所使用的固件版本 HWVer-A911


简单总结

可以看到普通用户进去基本上啥也干不了,这个前端页面给人一种半成品的感觉,我们很多进阶操作在这个界面肯定是没法操作的,所以需要使用超管(CMCCAdmin)的身份进后台才可以。

超管权限

越权访问

中国移动这个吉比特 H2-3e 光猫的 Web 系统写的很垃圾,在 user 用户登录的状态下,然后访问下面的界面可以直接越权访问到 CMCCAdmin 的管理页面:

http://192.168.1.1/start.ghtml

但是吧虽然可以看到这个界面了,还是有一些功能我们是无法操作的(桥接功能、防火墙关闭等),所以我们需要光明正大的拿到真正的 CMCCAdmin 用户的密码来登录操作这个界面才行。

开启 Telnet

默认情况下光猫是没有开启 Telnet 23 端口的,这样我们就没法和光猫 shell 交互了:

还是鉴权不当的漏洞,在 user 用户登录的状态下,我们可以访问下面的 URL 直接跳转到 Telnet 的配置页面:

http://192.168.1.1/getpage.gch?pid=1002&nextpage=tele_sec_tserver_t.gch

然后开启 Telnet,设置好 Telnet 的用户名 CMCCAdmin 的密码,然后勾选 WAN 和 LAN 侧访问(保存 多操作几次就行):

此时在看看光猫的端口开放情况,可以发现 23 端口正常开放了:

获取 root 权限

因为历史遗留的问题,也是中国移动的代码写的太烂了,很多高权限的密码甚至直接硬编码到代码里面:

所以幸运的是,Telnet 下 su 切换 root 用户,密码依然可以使用: aDm8H%MdA 登录

获取超管密码

因为中国移动会通过他的中国移动宽带管理中心远程下发任务了,定期更换超管密码,不过好在我们在 root 的 shell 交互性下可以直接解密出超管的密码:

Bash
# 解密 db_user_cfg.xml 配置文件
sidbg 1 DB decry /userconfig/cfg/db_user_cfg.xml

# 将解密后的文件传输到 transfer.sh
curl -v -k --upload-file /tmp/debug-decry-cfg  https://transfer.sh/debug.xml

transfer.sh 是第三方运费商可能有一定泄露分享,如果担心数据泄露的小伙伴自己本地查看即可。国光我个人建议备份一下这个文件,毕竟我们后面改桥接,删了一些配置就回不来了。

curl 上传成功或回返回随机路径的 URL:

访问即可下载我们的配置文件:

下面来看看这配置文件里面记录了哪些信息。

  • 光猫的超管和普通用户的密码信息

  • 保存的 PPPoE 拨号上网的信息

此时回到之前的 http://192.168.1.1/ 页面,我们重新使用获取到的 CMCCAdmin 的用户名和密码登录即可。

光猫调教

删除 TR069

因为移动的光猫是通过 TR069 中国移动宽带管理中心远程下发任务了,做一些定期更换超管密码等操作的,所以我们需要删掉它,一劳永逸,这样超管密码就一直是我们解密出来的样子了:

不过如果不删掉这个 TR069 的话,理论上有其他奇技淫巧的玩法:TR069 内网隧道、异地组网、内网渗透? 可惜国光明天要上班了,精力不够继续深入了,mark 一下后面有机会折腾这个。

启用 UPnP

开启 UPnP 通用即插即用功能,UPnP 或通用即插即用是一种协议集,允许设备连接和应用程序(主要是游戏)自动转发端口。可以极大的改善我们的 NAT 类型,虽然中国移动是一个大内网,但是改善一点是一点吧:

关闭 QoS

不需要对带宽进行限速,而且我们上网的 INTERNET 业务优先级还是最低?这不能忍!直接关掉 QoS 即可,非常省事儿:

防火墙配置

首先取消所有安全防护:

然后将防火墙等级调到

这样在猫下面的机器会自动获取到 IPv6 公网地址,然后 Python 启动个 Web 服务验证一下:

Bash
python3 -m http.server --bind ::

手机使用 SIM 运营商网络也成功访问:

光猫桥接

其实如果光猫桥接的话,之前的「光猫调教」部分操作都无所谓了,因为这样相当于直接使用路由器拨号了。光猫桥接的好处:

  1. 改善 NAT 类型(中国电信有公网 IPv4 的话,甚至可以直接路由器拨号获取公网 IPv4)
  2. 提高网络体验,减轻光猫负担,压力转移到了路由器
  3. 方便用户自定义,因为光猫的官方限制有点多,直接交给路由器的话就可以很灵活配置

而且据说江苏南京移动可以最多 4 拨,那不就美滋滋了,直接准备开始桥接。

记录配置

因为无法直接修改已有的网络为桥接模式:

所以需要我们删掉现有的配置,然后新建1个连接,所以我们需要记录一下之前的配置,重点记录一下 VLAN 模式和 ID:

新建连接

新建 1 个 WAN 连接,主要配置抄一下我们之前拨号模式的即可,下面是国光的配置详情,因为江苏移动最大支持 4 拨,正好也有 4 个 LAN 口,所以我们直接勾选这几个 LAN 口,具体配置细节如下:

最后确保删掉之前的拨号模式,只有 1 个桥接模式配置即可:

最后如果没有生效的话,记得重启一下光猫。

拨号上网

桥接成功后,MBP 直接网线插光猫上,即可拨号上网成功:

因为光猫改了桥接模式,所以需要我们手动在路由器上进行拨号上网:

美滋滋,开始尽情享受你的网络吧~~~

小众场景

肯定会有网友好奇光猫可以同时存在桥接和拨号模式吗?那肯定是可以的,不过这样的场景非常少,但是国光我还是需要的。

因为国光写这篇文章的时候,住的还是 LOFT 公寓,和楼上的小哥共用 1 个光猫。我如果改了桥接模式,想让楼上小哥无感的话,只能在光猫下外接 1 个路由器,然后楼上小哥的网线插路由器了。但是这样也太张扬和不优雅了,所以我们需要单独给楼上小哥配置 1 个拨号模式,其他全部走桥接模式。

其实很简单,就是桥接模式绑定 2、3、4 端口:

拨号模式绑定 1 端口即可:

最后测试均正常,真的太优雅了,还节省了 1 个路由器的钱:


最后更新: 2023-03-06