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

背景

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

这时在需要在主路由上开通了个静态路由把对远程子的访问路由到旁路由的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

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

好了今天到这果,

相关推荐
聪明的笨猪猪36 分钟前
企业知识库AI架构选型:落地导向的架构决策与组件清单
经验分享·面试·架构·embedding·数据库架构
Go Work2 小时前
两个等值条件摆着,MySQL 偏要全表扫
经验分享·笔记
深圳智根网络程序开发7 小时前
WordPress固定链接怎么设?改不对谷歌收录直接崩
经验分享
德思特7 小时前
如何提升 5G 移动性切换验证效率?德思特 Amarisoft Callbox 新增 NR SA LTM 测试功能详解
经验分享·无线通信·车载通信
虹科数字化与AR10 小时前
农业机械AR质检ROI怎么算?从搬运、测量、返工和交付成本入手
经验分享·ar·质检·农业机械
聪明的笨猪猪1 天前
Java 工程案例:AI 生成 @Async 异步线程池踩坑
java·经验分享·面试·ai编程
仓库日记1 天前
Excel进销存何时该换?用3项检查判断是否需要软件
经验分享·excel·进销存·开单软件
AI工具挖掘机1 天前
开源!2个Skill复刻带货视频、图文和Live,做百号矩阵
经验分享
虹科网络安全2 天前
Redis Radar:在统一视图中掌握 Redis 部署、健康与容量
经验分享·redis·艾体宝·艾体宝it·艾体宝redis
聪明的笨猪猪2 天前
实际工程问题:AI 生成 Spring Cache(@Cacheable / @CachePut / @CacheEvict)缓存注解踩坑
java·经验分享·面试·ai编程