移动联通中兴光猫路由的静态路由配置

背景

在启动了外部子网,以后,旁路由有时会承担起来接远程子网的任务。为主路由分担压力,且不影响正常业务。

这时在需要在主路由上开通了个静态路由把对远程子的访问路由到旁路由的IP。

架构

一般来说家里主路由是通信公司的设备,有很强的固定性,不是通用的,当然这时用Openwrt就不会有这样的疑问。在路由表很容容加上一条定制的静态路由。

通过对两大公司,移动和联通的光猫的观察。他们几乎都是一样的内核, 我用的是中兴的。还有阿尔卡特的。

在静态路由中,只容许设目的IP,淹码,端口。不能有下一跳的地址。

解决

经过在AI中找,发现有超级用户的话的可以打开telnet后台。https://blog.csdn.net/gitblog_00622/article/details/161358003?f_link_type=f_linkinlinenote\&flow_extra=eyJkb2NfaWQiOiI0NWYwOGJhMTc0YWUyMzI3LWU4NWIyMGUyMjBkZTk1ZWQiLCJpbmxpbmVfZGlzcGxheV9wb3NpdGlvbiI6MCwiZG9jX3Bvc2l0aW9uIjowfQ%3D%3D

https://link.gitcode.com/i/7788ffb00806dc40655add91c8e5d599?uuid_tt_dd=10_16959945550-1781255009516-844253\&isLogin=1\&from_id=161358003

bash 复制代码
zteOnu工具的完整使用教程

虽然让go 去得到了二进制,但是使用上还发生了点小问题,现在说一下。

原理

使用,ip rout. -table. ip. mask. gw.

这样的结构只能改变运行时的内存。且这样的结果是更改了路由本身的指向,对于代理过来的流量,不起作用。

但有个想法是,服务器作为中转,转发方,将流量发给旁路由。虽然不是最好的方法,但是在网关固定的情况下,也是折中的。于是还需要另外两条firewall

bash 复制代码
ip r add t table.csp_main 192.168.10.0/24 via 192.168.1.13
iptables -I FORWARD -s 192.168.1.0/24 -d 192.168.10.0/24 -j ACCEPT
iptables -I FORWARD -s 192.168.10.0/24 -d 192.168.1.0/24 -j ACCEPT

在内存中的中转。

但是我依然不能保存,虽然有结果可起作用。

于是我说

参考 zteOnu的源码,找到永久保存的办法

找到一个线路

这样发现,在1DB中存放着所有需要留存的可变参数。通过,对1 DB中各表格的操作,达到了openwrt中对,uci. config 的一样的结果。

以下是对自定义路由信息的作用,其中,p 中print 显示。 addr 对表加1行, delr减1行, 行号。

set 是对表中一行中的参数名值给定内容。这里的,value是一个能用的静态路由加码。

各大运营商没有去作这样的界面,可是内核有这样的功能。

bash 复制代码
/ # sendcmd 1 DB  p DHCPSOpts
<Tbl name="DHCPSOpts" RowCount="1">
        <Row No="0">
                <DM name="ViewName" val="sta"/>
                <DM name="RViewName" val=""/>
                <DM name="OptCode" val="121"/>
                <DM name="OptValue" val="18C0A86400C0A8010D"/>
                <DM name="OptTag" val="1"/>
        </Row>
</Tbl>

上面的结果是下面的命令得到的

bash 复制代码
sendcmd 1 DB addr DHCPSOpts 
sendcmd 1 DB set DHCPSOpts 0 OptID 121
sendcmd 1 DB set DHCPSOpts 0 OptVal 1800A8010DC0A86400
sendcmd 1 DB set DHCPSOpts 0 Enable 1

结束后不要忘记

sendcmd 1 DB save

现在把那个初

ztx0nur的,导火索和工具箱拿出来

直接参考 zteOnu 的源码确实是解决这个问题的"终极答案"。

zteOnu 之所以能永久开启 Telnet,正是因为它没有去修改 /etc/rc.local 这种容易被重启还原的临时文件,而是直接使用了中兴光猫底层的 sendcmd 命令,将配置写入了设备的持久化数据库(DB)中。

通过分析 zteOnu 的源码(特别是 app/telnet/telnet.go 模块),我们可以找到它永久保存配置的底层逻辑:

. zteOnu 的核心原理:直接修改底层数据库

zteOnu 在获取 root 权限后,会向光猫发送一系列以 sendcmd 1 DB set 开头的命令,直接修改光猫闪存中的 TelnetCfg 数据库表。例如:

text

编辑

sendcmd 1 DB set TelnetCfg 0 Lan_Enable 1

sendcmd 1 DB set TelnetCfg 0 TSLan_UName root

sendcmd 1 DB set TelnetCfg 0 TSLan_UPwd Zte521

修改完这些数据库参数后,它最后会执行一条灵魂命令:

text

编辑

sendcmd 1 DB save

这条命令会将刚才修改的数据库参数真正固化到闪存中。

好了今天到这果,

相关推荐
智者知已应修善业3 小时前
【如何将此图变为000到101就返回】2026-4-7
驱动开发·经验分享·笔记·硬件架构·硬件工程
虹科数字化与AR13 小时前
弱网环境下,电力AR系统如何保证SOP执行、任务同步与本地计算?
经验分享
辰辰观影1 天前
AppleTV家庭影院大屏播放方案推荐
经验分享
恒锐丰科技林技术员1 天前
EG1198:120V 宽压内置 MOS 降压 DC‑DC 电源芯片解析
经验分享·嵌入式硬件·硬件工程
1314lay_10071 天前
C#调用Sql Server存储过程,并且使用传入表结构
数据库·经验分享·笔记·sqlserver·c#
vickycheung31 天前
基于启扬RK3576核心板双屏翻译机应用解决方案
经验分享·arm 嵌入式开发
恒锐丰科技林技术员1 天前
EG1151 四开关升降压 DC‑DC 芯片:宽压大功率电源解决方案
经验分享·嵌入式硬件·硬件工程
总线通信小百科1 天前
从挖掘机到农机:移动机械物联网接入方案全解析
经验分享
FLJwu1 天前
镜头模组与画质量产实战 03:运动相机 ISP 图像调校、杂光鬼影抑制与来料验收标准|20 年源头工厂量产经验
经验分享·数码相机·产品运营·接口隔离原则·相机