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

背景

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

这时在需要在主路由上开通了个静态路由把对远程子的访问路由到旁路由的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 小时前
多泵联动控制器工作原理与应用选型指南
经验分享
Eric775 小时前
塞梅普雷斯 如是说 (第二部/11.因果)
经验分享
个 人 练 习 生5 小时前
C++:模板初阶详解
开发语言·c++·经验分享·学习
AI4ELAB5 小时前
品茗科技,3431万收购了一家新加坡公司,刚刚完成首次交割
经验分享
東隅已逝,桑榆非晚6 小时前
priority_queue的介绍和使用
c++·经验分享·笔记·学习
思陌Ai算法定制17 小时前
医疗AI系统架构:多癌早筛血液检测从cfDNA甲基化测序到CSO预测,特异性99.6%
经验分享
ychqsq18 小时前
201.春风
经验分享·职场和发展
xiaomu0012318 小时前
高湿环境床垫湿度管理技术框架:湿度阈值、排湿结构与材料选型
经验分享·学习·学习方法
总线通信小百科19 小时前
汽车以太网交换器怎么选?先分清媒体转换器与多端口交换机
经验分享
波力海苔夹心脆67520 小时前
C# 值类型与引用类型详解:存储位置、赋值机制、参数传递、相等比较、装箱拆箱与常见陷阱
开发语言·jvm·经验分享·笔记·c#·.net