# 联通光猫 Hg8321r 折腾小记

联通开始推送 IPv6 后，曾下放过一次指令，将我的光猫从桥接模式改为路由模式。我当时给本地的宽带师傅打电话，要求远程改回桥接模式。果不其然，投诉未果，对方回应说现在网络升级（IPv6），全公司都是这样要求的，于是查了一些资料，自己动手改回了路由模式，稳定使用一年左右。

最近半个月的时间里，联通不知道哪里抽风，两度下发指令将我的光猫改回路由模式，让人无语。因为我不在设备边，改回路由模式每次还需要他人配合重新连线，异常麻烦，想了想，这次干脆断了TR069，省的再被联通瞎折腾。

因为我设备不在身边，本文基本凭借印象加网上的参考文献整理而成，图片后续等我到设备边后补上。


# 1 开放设备 Telnet

我这边 Web 的登录地址是 [http://192.168.1.1/CU.html](http://192.168.1.1/CU.html) ，不同地方可能不一样，开启 Telnet 需要特定的工具，由于这是第一次（一年多前）时候弄的，时间比较久远，我晚点找下之前的材料补上。

开放之后，我这里 Telnet 的登录用户名是 `root` ，密码是 `admin` 。

# 2 修改配置文件

与网络相关的配置文件就一个，`hw_ctree.xml` 。


## 2.1 提取并刷入完整 Shell

首先使用 `su` 命令进入管理员模式，别着急执行 `shell` 命令，这个阉割版的 shell 其实没啥用，我们先刷入完整版的 shell 。

Shell 文件下载：[https://download.csdn.net/download/u011088955/9246071](https://download.csdn.net/download/u011088955/9246071) 

假设本地IP为 192.168.1.2，此时开启 tftp 服务器（我用的 tftpd64 ），并将完整版的 shell 放到根目录中，然后执行命令 `load pack by tftp svrip 192.168.1.2 remotefile shell.bin` 。

显示成功后， `reboot` 重启光猫。至此，刷入了完整的 shell。再次进入 shell，常用命令均可用。

## 2.2 修改 `hw_ctree.xml` 文件

### 2.2.1 下载和解密文件

`hw_ctree.xml` 文件位于 `/mnt/jffs2` 目录下，这是一个 AES 加密的 gzip 文件。

<br/>


先拷贝一个副本：`cp hw_ctree.xml hw_ctree2.xml.gz`

接下来使用 `aescrypt2` 命令解密此文件：`aescrypt2 1 hw_ctree2.xml.gz tmp`

之后，解压 gz 文件得到原始 xml ：`gzip -d hw_ctree2.xml.gz`

<br/>

### 2.2.2 修改

可以将文件下载到本地（`tftp -g -l hw_ctree2.xml -r hw_ctree2.xml 192.168.1.2`），修改完成之后再上传（`tftp -p -l hw_ctree2.xml -r hw_ctree2.xml 192.168.1.2`），也可以直接使用 vi 在设备上修改。

<br/>

`hw_ctree2.xml` 文件重点关注这几个地方：

1、`<X_ HW_WebUserInfoInstance>` 标签下的 Password，这个是 Web 界面的超级管理员密码。

2、TR069 相关的 Instance 标签，将 Enable 标签置为 0 （不启用）。

<br/>

### 2.2.3 上传并重新压缩和加密

后续将 `hw_ctree2.xml`  重新压缩和加密：

压缩：`gzip hw_ctree2.xml` （注：加密完成后 gzip 会自动添加 .gz 后缀）

加密：`aescrypt2 0 hw_ctree2.xml.gz tmp`

> 注：网络也有人说不需要重新加密，直接上传未加密的 xml 也能解析，我没试，感兴趣的小伙伴可以试试。

<br/>

最后使用 cp 命令将修改后的文件强行覆盖掉原始文件即可。

`cp -f hw_ctree2.xml.gz hw_ctree.xml`

之后 `reboot` 重启光猫即可。

## 2.3 Web 解密改回桥接

登录后进入基本配置→上行线路配置，点击含有 INTERNET 字样的上行线路，将 WAN 类型中默认的路由 WAN，改为桥接 WAN 即可。

![1543779742.png](https://cdn.hashnode.com/res/hashnode/image/upload/v1652604761936/AP6HRoE3W.png align="left")

# References
* [中国联通光猫 HG8321R 折腾小记](https://aunicorn.io/hg8321r/)
* [联通宽带光猫 WO-27s 华为 HG8321R 桥接实现动态域名DDNS](https://weiku.co/article/347/)
* [修改华为 Echolife HG8010h 的超级用户密码](https://blog.csdn.net/LinSeeker85/article/details/88879336)


