zezhiya 发表于 2024-8-6 12:12:28

软路由?错了!软光猫!(如何将nezha-agent部署在光猫)

## 前言

软路由的灵活和高度diy性质证明了软路由的好用,而光猫作为运营商的一种“赠品”却不怎么待见mjj把玩!
甚至为了缩短路由器与光纤的链接使用光猫棒来获得更好的体验,但你知道吗?光猫的用处很大,它也可以为你运行相关的linux程序,跑起来一些还能用的服务,来继续为你发光发热
今天要说的,就是让光猫运行**nezha-agent**,为你的探针增加一只小鸡,作为一种装饰品来为你发光发热

## 准备工具

1个在面对本教程不符合的地方还能灵活运用的**脑子**

1个u盘

光猫本体,需要**兼容telnet服务**,需要**支持插入USB设备**电脑

## 步骤

首先,光猫需要开启telnet,大部分的光猫开启telnet的前提是光猫后台的超管账号,可以通过谷歌搜索产品型号寻找密码,或者拨打运营商电话询问,宽带师傅的操作来获取

!(https://img.z4a.net/images/2024/08/05/-2024-08-05-221024.png)

这里我使用的是移动光猫GM220-S,这也是一款古老经典的光猫了,超管账号是 *CMCCAdmin* 密码是 *aDm8H%MdA* ,通过访问 (https://www.nodeseek.com/jump?to=http%3A%2F%2F192.168.1.1%2Fusr%3DCMCCAdmin%26psw%3DaDm8H%25MdA%26cmd%3D1%26telnet.gch) 跳转到了telnet页面,一般情况下,网页会提示success,这代表了telnet的开启,那就意味着可以通过 telnet 光猫ip 来进行链接了

在我这里 链接telnet的默认账号是 *CMCCAdmin*,密码就是 宽带普通管理的密码 + *[@C1](https://www.nodeseek.com/member?t=C1)* ,链接上去后,宽带部分的设置就完成了

下一步就是,使用你们mjj的勤劳的小手 打开nezha官方agent[二进制仓库主页](https://www.nodeseek.com/jump?to=https%3A%2F%2Fgithub.com%2Fnezhahq%2Fagent),通过git clone把源代码下载到本地,嫌弃麻烦的可以选择使用github codespace来进行下一步操作(当然你也可以找别的大佬编译完成给你,这样做只是为了获得适配光猫指令集的二进制)

!(https://img.z4a.net/images/2024/08/05/-2024-08-05-222715.png)

在这里,我们以GitHub codespace演示,如果不按照codespace,输入下面的命令

```bash
git clone https://github.com/nezhahq/agent.git && cd agent/
```

然后输入

```
GOARCH=arm GOARM=5 go build -o nezha-agent ./model
```

!(https://img.z4a.net/images/2024/08/05/-2024-08-05-224019.png)

随后将生成的nezha-agent下载下来,存入u盘(默认情况下,GitHub codespace会将下载的文件变成txt格式,你需要将txt后缀删除后拷贝进入u盘

进入终端,cd前往 /mnt 后按几次Tab补全,这就是你的u盘,我们需要把你的nezha-agent拷贝进 /usr/data 文件夹

- Q:为什么要把文件拷贝进 /etc/data 而不是任意一个地方
- A:大部分的光猫为了清空log日志,会把所有不相干的文件删除,他们设置了tmpfs,每次重启都会恢复成原来的样子,已知 /usr/data 文件夹并不是tmpfs,在这里存储是最好的选择

```
# 创建文件夹
mkdir /usr/data/nezha-agent
# 拷贝文件到
cp /mnt/usb1_1/nezha-agent /usr/data/nezha-agent
```

这个特殊的Linux使用的是init.d保活,可是美中不足的是他存在tmpfs删除异己的因素下,我们***没有任何办法写入保活文件!!***

况且,错误的磁盘挂载操作什么的可能会导致光猫变成一个长得像蟑螂的天线砖头,不建议进行更改tmpfs,除非你准备了备份(不会有些人用光猫都是次次关机吧,不是小角落挂着懒得理他的)

使用nohup来保证后台存活

```
nohup /usr/data/nezha-agent/nezha-agent -s <ip>:<port> -p <key> <其他参数>> nezha-agent.log 2>&1 &
```

到这的运行成功了,那就恭喜你,收获了一个光猫在你的探针装饰啦

## 灵感来源

!(https://img.z4a.net/images/2024/08/05/-2024-08-05-230454.png)
页: [1]
查看完整版本: 软路由?错了!软光猫!(如何将nezha-agent部署在光猫)