跳至主要内容

中兴Epon C220 C200 :如何批量修改配置

文章很长,其实主要是讲中兴的OLT如何写割接脚本最快最方便。

众所周知,中兴的Epon设备是目前所有设备中最差的,尽管有某国有电信公司采购大振其名声,但是仍然掩盖不住中兴Epon设备的缺陷,如果你还在为选择Epon设备而奔走,我建议你选Raisecom 其后是GreenWay,这是实践中得出来的。

先说中兴的Epon设备,设备不能单独配置Pon为Access,虽然设备上是可行的,但是用在大型的网络中会有瞬断等情况,那天中兴的所谓工程师捣鼓了半天也没搞天,结果还是我们这些门外汉搞定了。所以至今我们的设备中仍然要将每一个Pon口下的每一个ONU,然后是每一个ONU的每一个电口配置为Trunk,可能你不知道这有多严重的缺陷,那我告诉你吧,你要想修改一个Epon的配置,你需要改4700行命令,而且这些命令是基本上是没有规律的。

好了,我们说一下这4700行的命令如何输入到中兴Epon C220 ,C200中,当你粘贴了7行代码时,后面的全部被截断,中兴的工程师说为了系统稳定,其实是他们的处理机制导致CPU过高无法响应后面的代码,有时是7行,有时候3行就会中断,你可以想一下4700行代码要贴到里面需要贴到哪年?至于中兴Epon不能防止环路,不能防止ARP,也不能自动注册ONU,这些不今天要说的,今天就说一下如何将中兴的Epon批量修改ONU的Vlan。如果你还没有装Windows,请安装吧,就如同 @terryxxy 所说,我们离不开windows。

以我实际工作中为例,原来一台中兴的C220,下面插了pon板11块,共44个pon口,由于vlan初期使用的vlan不连续,现在需要重新划分为连续的vlan,这就需要简化工作,一定要备份原始配置,这个配置以后会多次用到,SecureCRT+VBS脚本,来解决问题,事情要分三步:
1 删除ONU
由于长时间的更换ONU,使ONU的编号出现不连续的情况,因此脚本有时候会出错,这就需要删除ONU并重新创建,按照新的顺序
删除的指令原始如下


interface epon-olt_0/1/1 
no onu 1  
no onu 2  
no onu 3  
no onu 4  
no onu 5  
no onu 6  
no onu 7  
!
请注意要有一个!,这个相当于exit,用来切换interface用的,首先,把此时的文件另存为一个备份,第二步要用到。然后把这指令做成SecureCRT的脚本后如下
crt.Screen.Send "interface epon-olt_0/1/1 " & VbCr
crt.sleep 10
crt.screen.WaitForString "#",10
crt.sleep 10

crt.Screen.Send "no onu 1  " & VbCr
crt.sleep 10
crt.screen.WaitForString "#",10
crt.sleep 10

crt.Screen.Send "no onu 2  " & VbCr
crt.sleep 10
crt.screen.WaitForString "#",10
crt.sleep 10

crt.Screen.Send "no onu 3  " & VbCr
crt.sleep 10
crt.screen.WaitForString "#",10
crt.sleep 10

crt.Screen.Send "no onu 4  " & VbCr
crt.sleep 10
crt.screen.WaitForString "#",10
crt.sleep 10

crt.Screen.Send "no onu 5  " & VbCr
crt.sleep 10
crt.screen.WaitForString "#",10
crt.sleep 10

crt.Screen.Send "no onu 6  " & VbCr
crt.sleep 10
crt.screen.WaitForString "#",10
crt.sleep 10

crt.Screen.Send "no onu 7  " & VbCr
crt.sleep 10
crt.screen.WaitForString "#",10
crt.sleep 10

crt.Screen.Send "!" & VbCr
crt.sleep 10
crt.screen.WaitForString "#",10
crt.sleep 10

嗯,我知道大家可能一看就头晕了,心想我怎么才能把这么复杂的代码欠入到脚本的“”中去啊,其实不必害怕,使用windows自的notepad可以实现一小部分功能,不过如果你愿意或者你是一个标准的IT人,你真的应该试一下移植到Windows下的VIM(单文件小巧,如果不熟练的可以用GVim)。下面是方法
把上面的类似interface XXXX  no onu 1 ....no onu 64 ! 这一类的做成一个文本,使用VIM打开,然后下列命令如无特殊说明,均使用Shift+: 来使用
%s/^/

crt.Screen.Send "/g
%s/$/

" \& VbCr\r

crt.sleep 10\r

crt.screen.WaitForString "#",10\r











crt.sleep 10/

















g




































好了,现在你的4000多行的代码就完全换成了SecureCRT的脚本了,存为*.vbs,然后用SecureCRT打开运行吧。。。。









































































这个傻13的中兴设备,光是这么智能的脚本就要执行40多分钟 。。。汗。









































































2 注册ONU




































由于上一步已经删除了所有的ONU,这一步我们要注册所有的ONU,方法仍然是使用Vim的查找替换使用上一步中存为备份的文件,将上一步的中 no onu 1  换成是"onu 1 type ZTE-D400 mac ",不过事情不总是这么简单,我们要把所有的no onu 1(2,3....10....32....64)换成相应的vim




































%s/onu \d\{,2}/\0





































 type ZTE-D400 mac /g
%s/no //g

现在所有的interface  下应该都是如下格式了 
onu 1 type ZTE-D400 mac
onu 2 type ZTE-D400 mac 
onu 3 type ZTE-D400 mac 
onu 4 type ZTE-D400 mac 
onu 5 type ZTE-D400 mac 
onu 6 type ZTE-D400 mac 
onu 7 type ZTE-D400 mac 

这接下来我们就需要在所有的mac结尾后面加上ONU的MAC地址,在VIM很简单,先打开原始的配置备份,使用vim的过滤得到
onu 1 type ZTE-D400 mac 0015.eba3.da26 
onu 3 type ZTE-D400 mac 0015.eba3.dcad 
onu 4 type ZTE-D400 mac 0015.eba3.d688 
onu 5 type ZTE-D400 mac 0015.eba3.d85d 
onu 8 type ZTE-D400 mac 0015.eba3.d87f 
onu 9 type ZTE-D400 mac 0015.eba3.d7d8 
onu 19 type ZTE-D400 mac 0015.eba3.d801 

然后将光标移动到mac字样的后面,按下contl+q 这时可以移动光标向下选中所有的mac地址,然后contl+c。到上面的所有以mac为结尾的那个文件中,使用contl+v ,这个时候你就会看到所有的mac地址就按当时的顺序一个一个的排列起来。
同样的方法,倒置为vbs脚本格式。

3 修改ONU电口的vlan

大体方法如1,2中所示,基本一样,总之一句话,多学学Vim,可以提高工作效率,放弃系统自带的记事本和写字板吧。


就在我这与这文章的时候,我的中兴C220脚本执行了1个半小时了,一台设备还没自动配置完,我真要哭了。

评论

此博客中的热门博文

使用StrongSwan搭建 IKEv1 IKEv2 VPN服务器

#2016-01-04 决定将本文作废,因我要另再写新版本的配置。这篇作于 2013年,而strongswan已经更新很多版本。 #本文需要有独立的VPS,如果你需要一台速度快,每月30元的左右的VPS,可以使用我的邀请注册 http://www.vultr.com/?ref=6813064 并且在注册时使用 SSDVPS 可以送 $20(或者 $10 不等)。一定要选日本线路,这个到国内延迟约40ms ~ 100ms ,一般是 80ms 左右,非常快非常稳定,一个月32元,可以和几个人合租了。 #LOG:2014-04-30 对ipsec.conf进行修改,增加了android手机的兼容,现在可以支持完整支持android 自带的VPN设置啦~~~~ #LOG:2013-0609 对ipsec.conf进行修改,加入清楚DPD代码,防止IP 地址池不正确占用 #LOG: 2013-0519 删除ipsec.conf 中多余的conn iOS一节,这本是我一年前调试用的,时间不起作用; 删除了 %default中的 rightsubnet ,如果不删除,在定义了多段IP路由的情况下会导致账号无法上网(只有一段IP没这个bug),感谢  JackWindows  ‏ @ JackWindows #LOG 2013-05-12 修正bug,原配置文件会导致一个ID不可以同时多次登陆。得蒙  @ KhaosT   指点,对  strongswan.conf 加入duplicheck.enable = no ,对 ipsec.conf 加如 uniqueids=never #完成度100% 在我们生活的周围,通常要用到很多种VPN: PPTP, L2TP/IPSec, Cisco IPSec, IKEv2, 这些不同类型的VPN覆盖了目前我们常见的所有手机或者电脑平台,比如 iOS, Blackberry OS, BB10, Android, WebOS, Windows XP, Windows Vista/7/8, Unix/Unix-like。 (*如果你正在找blackberry 翻墙方法、ios ipsec vpn、windows IKEv2 VPN、Blackberry...

简易 APN Proxy (APN代理)的搭建

2012年2月1日 ,新增加了一种方案,请看 《 搭建增强型代理服务器(APN Proxy) 》 2012-01-03 更新 3proxy 及 监控进程脚本,分别见 B 3) 和 曾经在twitter被封锁的时候,我在长城宽带干过一件事,那就是将twitter的请求和通讯使用SSH,让全网用户可以无阻访问,不过也因此付出了代价,略不去说了。 后来得厨神 @paveo 的创意,何不将其用在手机等移动设备上?厨神的APN现在已经很成熟并在免费有限量专供中。我今天这里写得,是如何搭建自己的APN Proxy(APN 代理),但在阅读下面内容之前,需要一个刚性要求:一台在国内的Unix-Like的主机(可以是Linux/FreeBSD/Mac Osx Server/Solaris等等)并且是公网IP地址以及在国外的VPS主机(Unix类)。这个要求可以看出成本比较高,所以我看到淘宝上已经有人开始出售APN代理了,这个可以理解。 第一部分 原理 原理图1 如上图所示,我们要实现的功能原理是,将上网请求先发送到“国内VPS”,再由“国内VPS”通过SSH隧道转送到国外,最终实现无阻上网。点击查看大图可以看出,主要配置是在“国内VPS”上,包括配置SSH -D、Squid、Privoxy或者Polipo(socks代理程序你可以选自己喜欢的)。 第二 配置 1 国外VPS 国外VPS上,你需要有一个SSH帐户,并且请注意,使用密钥方式登录你的SSH而非密码,之所以如此,是为了下一步建立长久的SSH以及断线自动重连做准备,这个很重要。关于“SSH 免密码 密钥 登录”请使用google看一下。 这里有一个小插曲,部分centos 上如果默认的话,SSH帐户会报错,大约 是adminitstatly close之类,这有可能是 openfile数目问题,可以轻松解决。我非Linux爱好者,所以是临时google,并没有记录下来,你只要记得如果遇到同样问题,5分钟之内就可以google解决。 2 国内VPS 这一节将会是我们的主战场,基本上,我将会按下面的逻辑图来进行配置,这其中会涉及很多文件的配置,需要你注意哦,最后部分我会提供部分配置文档下载,由于我使用的是FreeBSD,因此会有少量差...

Blackberry PushMail企业激活利器:BlackberryUnite!---免费的BES哦

很久很久以前,我们公司里有三部黑莓,我们当时想能不能破解BES来实现我们几个的PushMail,但是失败了;很长时间以来,我们众多的莓友为了能实现PushMail,不断地尝试着尚邮和Berrymail等等邮件客户端,于是延时和耗电成为了我们的焦点。而今天,我们原生的push mail终于可以手机上使用了,这就是blackberry Unite! 1.0.3,在我的ota上早已经提供下载。 1 安装方法: 在安装blackberry Unite的时候,请注意,尽量选择Sever版的系统,目前我测试了在win 2000 ADS,Win 2003 都可以一次性成功,而我自己的XP则是没有一次成功。当然并不绝对,Twitter 好友 @smallzheng 就能成功。还要注意的是,不要使用精简的XP,我试过了三个ghost版的XP,全都没有成功,因为已经没有力气再折腾所以不打算重装系统测试了。 其实Blackberry Unite过程中没有任何特别的,一路下一步就行了,根本不需要用代理或者国外的VPN!但是有个技巧要注意一下,因为在安装过程中,blackberry Unite!会强制安装.NET Framework 2.0 和 Java 6 Update 2,时间较长,你可以事先从我的服务器上下载安装,这样的话BU就只会下载安装MSSQL和msxml4.0了。 这一步里,由于要下载和安装,所以那个程序会卡死,请你能注意一下,不要看着程序假死就强制关闭,这样一来程序安装不完全,就会启动不了。我在这里了吃了大亏了。 2 安装后,桌面上就会多出一个链接和一个文件夹。点一下那个链接就能直接使用了。我这里重点说一下无法打开那个链接的情况也就是 http://localhost:8080/unite 无法打开。 为了能实验成功这个软件,我在Twitter上号召过大家,也有好心的推友转发了那个号召,实际上那是因为我当时我已经14个小时还没有解决 这个问题,由于blackberry Unite资料很少,如果有需要请参阅一些BES的资料。 a  Blackberry Unite需要在XP的服务里加几个常规服务进去,他们都是有依赖的。如果启动不成功,请你去看一下依赖有没有问题。 b 我的依赖就没有问题,但是仍然不能启动。教你一个方法,可以测试一下是不...