1. 破解贝尔吉比特G-120W-B光猫的Telnet入口家里那台2017年的贝尔吉比特G-120W-B光猫最近总是莫名其妙卡顿刷个视频都要转圈半天。作为技术宅我决定给它来个大保健——设置自动重启功能。这个看似简单的需求却让我在嵌入式Linux系统里摸爬滚打了整整三天。首先要解决的是管理员权限问题。普通用户界面就像个笼子根本找不到定时任务的设置入口。好在老款光猫还保留着Telnet这个后门。在浏览器地址栏输入http://192.168.1.1/system.cgi?telnet注意把IP换成你的光猫地址页面会显示一个简陋的Telnet开关。打开后用PuTTY连接熟悉的命令行界面终于出现了登录时有个坑要注意默认的telecomadmin账号密码可能被运营商修改过。我通过vi /configs/config.xml查到了真实密码XML里搜索password字段。这个操作就像在迷宫墙上凿了个洞瞬间获得了系统最高权限。不过要提醒的是修改系统文件前一定要备份我吃过手滑误删配置的亏。2. 嵌入式Linux系统的断头路探索本以为拿到root权限就万事大吉结果刚执行crontab -e就给我当头一棒——系统居然报错说/var/spool/cron/crontabs目录不存在这就像给你车钥匙却发现停车场被拆了。手动创建目录后定时任务确实能临时生效但光猫重启后这个目录就像被施了魔法般消失无踪。经过反复测试发现两个关键点这个光猫使用的是裁剪版的OpenWRT系统很多标准Linux功能都被阉割了系统每次启动都会还原/var目录就像电脑开了还原卡用mount命令检查时更让人困惑明明/configs目录是可写的为什么/var就这么特殊后来在/etc/fstab里发现玄机——/var被挂载为tmpfs这种内存文件系统当然不会持久化。这就解释了为什么新建的crontab目录总是见光死。3. 破解系统自启动机制的俄罗斯套娃既然系统要清除/var那我就让它在每次启动时自动重建所需文件。听起来简单但在嵌入式设备上却像在玩解谜游戏首先尝试在/etc/init.d/rcS添加脚本——无效然后测试/etc/rc.local——根本不存在这个文件最后在/etc/init.d/syslogd里发现了曙光这个日志服务脚本会在启动时执行我的解决方案是编写一个套娃脚本#!/bin/sh # /configs/myconfig.sh mkdir -p /var/spool/cron/crontabs cp -p /etc/crontabs/root /var/spool/cron/crontabs/ chmod 600 /var/spool/cron/crontabs/root crond -c /var/spool/cron/crontabs然后把这个脚本的调用命令/configs/myconfig.sh插入到syslogd文件的合适位置。这里有个细节必须确保插入点在服务启动完成之后否则可能遇到依赖问题。4. 定时任务设置的防坑指南实际设置crontab时又遇到新问题这个裁剪版crond居然不支持reboot参数只能老老实实用传统的时间表达式。我的最终配置是这样的# /etc/crontabs/root 30 4 * * * /sbin/reboot选择凌晨4:30重启是因为这时候家里没人用网。这里分享几个血泪教训时区问题光猫默认可能是UTC时间要先用date命令确认时区日志查看logread | grep cron可以查看定时任务执行记录权限控制crontabs目录权限必须设为700否则crond会拒绝执行测试阶段建议先用* * * * * /bin/date /tmp/test.log这样的每分钟任务验证基础功能等确认整套机制稳定后再改成真正的重启命令。5. 系统健壮性优化的组合拳完成基础功能后我又做了几个增强方案双保险机制在/configs/下存放备份脚本即使myconfig.sh被误删也能快速恢复运行监控添加pgrep crond || /configs/myconfig.sh到定时任务防止crond进程意外退出安全加固修改默认Telnet端口并设置防火墙规则避免暴露管理接口特别提醒操作前建议拔掉光纤线我有次误操作导致光猫配置重置不得不重新注册OLT过程相当痛苦。另外修改系统文件时尽量使用sed -i代替直接vi编辑避免因终端异常导致文件损坏。折腾完这套系统后光猫运行稳定得像换了新机器。最意外的是WiFi信号强度都提升了——估计是长期运行积累的缓存问题被彻底解决了。这套方法虽然针对特定型号但解决问题的思路对各类嵌入式设备都适用理解系统机制、寻找持久化存储点、利用现有服务实现自启动。
攻克贝尔吉比特G-120W-B光猫:从Telnet到Crontab的自动化运维实战
发布时间:2026/6/29 17:45:46
1. 破解贝尔吉比特G-120W-B光猫的Telnet入口家里那台2017年的贝尔吉比特G-120W-B光猫最近总是莫名其妙卡顿刷个视频都要转圈半天。作为技术宅我决定给它来个大保健——设置自动重启功能。这个看似简单的需求却让我在嵌入式Linux系统里摸爬滚打了整整三天。首先要解决的是管理员权限问题。普通用户界面就像个笼子根本找不到定时任务的设置入口。好在老款光猫还保留着Telnet这个后门。在浏览器地址栏输入http://192.168.1.1/system.cgi?telnet注意把IP换成你的光猫地址页面会显示一个简陋的Telnet开关。打开后用PuTTY连接熟悉的命令行界面终于出现了登录时有个坑要注意默认的telecomadmin账号密码可能被运营商修改过。我通过vi /configs/config.xml查到了真实密码XML里搜索password字段。这个操作就像在迷宫墙上凿了个洞瞬间获得了系统最高权限。不过要提醒的是修改系统文件前一定要备份我吃过手滑误删配置的亏。2. 嵌入式Linux系统的断头路探索本以为拿到root权限就万事大吉结果刚执行crontab -e就给我当头一棒——系统居然报错说/var/spool/cron/crontabs目录不存在这就像给你车钥匙却发现停车场被拆了。手动创建目录后定时任务确实能临时生效但光猫重启后这个目录就像被施了魔法般消失无踪。经过反复测试发现两个关键点这个光猫使用的是裁剪版的OpenWRT系统很多标准Linux功能都被阉割了系统每次启动都会还原/var目录就像电脑开了还原卡用mount命令检查时更让人困惑明明/configs目录是可写的为什么/var就这么特殊后来在/etc/fstab里发现玄机——/var被挂载为tmpfs这种内存文件系统当然不会持久化。这就解释了为什么新建的crontab目录总是见光死。3. 破解系统自启动机制的俄罗斯套娃既然系统要清除/var那我就让它在每次启动时自动重建所需文件。听起来简单但在嵌入式设备上却像在玩解谜游戏首先尝试在/etc/init.d/rcS添加脚本——无效然后测试/etc/rc.local——根本不存在这个文件最后在/etc/init.d/syslogd里发现了曙光这个日志服务脚本会在启动时执行我的解决方案是编写一个套娃脚本#!/bin/sh # /configs/myconfig.sh mkdir -p /var/spool/cron/crontabs cp -p /etc/crontabs/root /var/spool/cron/crontabs/ chmod 600 /var/spool/cron/crontabs/root crond -c /var/spool/cron/crontabs然后把这个脚本的调用命令/configs/myconfig.sh插入到syslogd文件的合适位置。这里有个细节必须确保插入点在服务启动完成之后否则可能遇到依赖问题。4. 定时任务设置的防坑指南实际设置crontab时又遇到新问题这个裁剪版crond居然不支持reboot参数只能老老实实用传统的时间表达式。我的最终配置是这样的# /etc/crontabs/root 30 4 * * * /sbin/reboot选择凌晨4:30重启是因为这时候家里没人用网。这里分享几个血泪教训时区问题光猫默认可能是UTC时间要先用date命令确认时区日志查看logread | grep cron可以查看定时任务执行记录权限控制crontabs目录权限必须设为700否则crond会拒绝执行测试阶段建议先用* * * * * /bin/date /tmp/test.log这样的每分钟任务验证基础功能等确认整套机制稳定后再改成真正的重启命令。5. 系统健壮性优化的组合拳完成基础功能后我又做了几个增强方案双保险机制在/configs/下存放备份脚本即使myconfig.sh被误删也能快速恢复运行监控添加pgrep crond || /configs/myconfig.sh到定时任务防止crond进程意外退出安全加固修改默认Telnet端口并设置防火墙规则避免暴露管理接口特别提醒操作前建议拔掉光纤线我有次误操作导致光猫配置重置不得不重新注册OLT过程相当痛苦。另外修改系统文件时尽量使用sed -i代替直接vi编辑避免因终端异常导致文件损坏。折腾完这套系统后光猫运行稳定得像换了新机器。最意外的是WiFi信号强度都提升了——估计是长期运行积累的缓存问题被彻底解决了。这套方法虽然针对特定型号但解决问题的思路对各类嵌入式设备都适用理解系统机制、寻找持久化存储点、利用现有服务实现自启动。