电力企业局域网批量配置网络设备的方法

2014-12-10 11:20安学民么利中杨尉薇
山西电力 2014年6期
关键词:网络管理员网络设备脚本

安学民,么利中,杨尉薇

(国网山西省电力公司电力科学研究院,山西 太原 030001)

随着电力企业信息化建设的不断推广,企业内部的大部分事务(如财务报销、用车申请、值班管理、通知公告、公文等)均依赖企业局域网来承载,每个员工均需要接入局域网,因此网络设备的数量较多。随着企业规模的不断扩大,企业局域网的规模也不断扩大。如何高效管理大量的网络设备,成为网络管理员必须面对的问题。

1 电力企业局域网现状

电力企业信息化的快速发展,使信息系统的基础性、全局性作用越来越强。信息化给电力企业带来便利的同时,病毒感染、黑客攻击等极大地威胁着电力企业的网络安全与应用安全。电力企业从2008年起,逐步开始实施了“双网双机”和“分区分域”工程,实现了信息内网和信息外网的物理隔离,网络设备的数量也随之成倍增加。对供电公司来说,网络设备主要分布在公司本部信息机房、各楼层配线间以及直属单位、变电站、营业所等地方,其中接入交换机所占比例较大。对于地市级的供电公司,网络设备的数量已超过100台。由于电力企业网络的分期建设以及集中采购国产化的要求使得企业内部网络设备的品牌较多。

网络管理员日常运维中经常处理的问题包括:定期登录到每台网络设备对其配置进行备份;根据公司信息安全管理的要求,登录到所有网络设备上对设备的配置进行安全加固;网络设备超过保修期后,逐台登录到网络设备上查看并记录每台设备的序列号,提供给维修保护厂家;由于企业的业务扩展,新增办公场所,需要逐台配置网络设备。对于大部分网络设备,网络管理员登录到设备后修改配置的方法是类似的,大部分时间都耗费在登录网络设备的过程(输入IP地址、用户名、口令、超级口令)、配置命令输入过程、配置命令输入后的等待时间及命令执行完成后相关信息的导出时间等。因此,日常运维中网络设备的操作大部分为重复性操作,占用大量的时间,效率很低。

2 批量配置网络设备的方法

根据对网络设备操作过程的分析,工程技术人员利用登录软件结合脚本来对操作过程进行模拟,代替网络管理员登录到网络设备,输入相应的命令,提取需要的信息。本文以C#、SecureCRT结合VBScript为例,实现批量配置网络设备。

2.1 SecureCRT简介

SecureCRT是网络管理员常用的工具软件之一 , 它 支 持 SSH1、 SSH2、 Telnet、 Telnet/SSL、Rlogin、Serial、TAPI等多种协议的终端仿真程序,是管理网络设备较为理想的工具。该软件提供了丰富的图形化操作方法,并提供了1套Active接口,方便了网络管理员通过程序实现自动化操作[1]。

SecureCRT支持VBScript、JScript脚本语言,可自动解释执行脚本指令与路由器进行交互执行,路由器根据脚本指令完成相应的操作任务[2]。SecureCRT提供的ActiveX接口的结构图见图1[1]。

图1 ActiveX结构图

图1中Application Object提供了所有的SecureCRT对象的属性和方法,它属于顶级对象;Session Object提供了当前与远程服务器端的连接和会话信息的状态和属性;Screen Object提供了终端界面的信息访问的方法与属性;Window Object提供了访问SecureCRT窗口的信息和状态等信息;Dialog Object提供了一些自定义对话框的对象和方法;Arguments Object是通过命令行方式启动SecureCRT程序的参数对象。文中主要用到Session Object、Screen Object 2个对象中的7个属性。

a)crt.session.LogFileName返回或设定当前的Log名字。

b)crt.session.Log启用或者不启用Log信息。

c)crt.session.Connect连接远程服务器。

d)crt.session.DisConnect断开远程服务器。

e)crt.Screen.Synchronous设置是否同步。

f)crt.Screen.Send发送命令。

g)crt.Screen.WaitForString等待某一个字符串。

2.2 VBScript简介

VBScript(Microsoft’s Visual Basic Scripting Edition)是一种强大的解释型脚本语言,它可以用于客户端和服务端等多种环境。VBScript是Visual Basic(VB) 的一个子集,它有Visual Basic的所有优势,同时又无需庞大的集成开发环境IDE(Integrated Development Environment),也无需花钱购买软件。VBScript是一种脚本语言,不是程序设计语言[3]。

VBScript的主要特点有语法简单,执行效率高(解释执行);多种嵌入形式(内嵌式和外联式);嵌入方式简单。

3 实施方式

3.1 人工操作方式

日常运行维护工作中对网络设备的人工操作步骤为:输入网络设备的IP地址;输入用户名及密码;输入超级口令;根据工作需要,输入相应的命令并执行;根据工作需要记录相应的回显信息(可选);退出登录;输入下一网络设备的IP地址,循环执行步骤,直到所有设备均执行完毕。图2给出了人工操作网络设备流程。

图2 人工操作网络设备流程

3.2 自动操作方式

3.2.1 创建IP地址和用户名及密码文本文件

创建文本文件的目的是:自动登录网络设备时,根据此文本文件提取网络设备的登录信息(IP地址、登录名、登录口令、超级口令);网络设备的配置存在差异时(如修改网络设备的密码且每个网络设备的密码均不相同),根据该文本文件可提取相应的命令参数。

如文本框所示,创建一个“.txt”文档,命名为“devicelist.txt”。此文档每行由两部分数据组成,分别为登录信息(IP地址、登录名、登录口令、超级口令);命令参数。每行的各数据之间均由空格键进行分隔。

3.2.2 创建VBScript脚本文件

图3 自动操作网络设备脚本流程图

3.2.2.1 标识脚本类型

SecureCRT支持VBScript和Jscript的调用,所以在调用其ActiveX接口时,首先要标识所使用的语言和ActiveX的版本号,脚本头部的每一行必须以“#”开头,头部包括$language行和$interface行[1]。

本文所述方法采用VBScript,标注格式为

#$language= “VBScript”

#$interface=“1.0”

3.2.2.2 脚本主体

读取及分离参数。首先定义变量,然后对定义的变量进行赋值,相应的脚本及注释为

Dimfso,file1,line,str1,params‘定义变量

Set fso=CreateObject(“Scripting.FileSystemObject”)‘创建 FSO 对象

Setfile1=fso.OpenTextFile(“D∶data_inputdeviclist.txt”,Forreading,False)‘读取指定路径的文本文件

line=file1.ReadLine‘读出文档中的每行

params=Split(line)‘分离出每行的参数信息

自动登录网络设备并执行命令。用循环和ReadLine方法遍历文件,每次读取一行数据,然后逐行地处理。以H3C网络设备为例(其他网络设备的操作只需替换相应的操作命令即可),相应的脚本及注释为以下几个过程。

以上脚本以查看网络设备的序列号为例进行说明。本方法运用到日常运维管理其他工作时需要对b)的内容进行调整。编写脚本时需要先在一个设备上进行操作,并对操作过程输入的命令及网络设备的回显信息进行记录,以便编辑脚本,自动执行相应的操作命令。

3.2.3 根据不同品牌的网络设备创建相应的脚本文件

由于企业内部的网络设备品牌较多,不同的网络设备有不同的操作系统(如华为设备的操作系统为VRP(Versatile Routing Platform),H3C设备的操作系统为Comware,Cisco的设备的操作系统为IOS(Internetwork Operating System)),配置命令也不相同,因此需要根据企业中网络设备品牌的具体情况,编写不同的脚本。

3.2.4 利用C#编程调用SecureCRT执行VBScript脚本

3.2.4.1 SecureCRT中执行VBScript脚本

SecureCRT中脚本的执行路径见图4。

图4 执行脚本文件的路径截图

3.2.4.2 C#调用SecureCRT执行VBScript脚本。

为提高本方法的可移植性,便于调用SecureCRT软件,可将SecureCRT的软件包放至该方法的程序包中;将编译好的VBScript脚本放至“VBS”文件夹中(脚本的数量取决于局域网中网络设备的品牌数量);将网络设备的“IP地址、用户名及密码文本文件”放至“data_input”文件夹中;将VBScript脚本的输出文件路径指定到“data_output”文件夹中,见图5。利用C#编程首先打开SecureCRT软件包文件夹运行SecureCRT程序,在SecureCRT中顺序执行“VBS”文件夹中所有的脚本文件,程序运行完毕后会在“data_output”文件夹中产生相应的日志文档,记录脚本执行过程中的数据的交互情况。

图5 脚本相关的程序包文件夹

4 应用实例

利用批量配置网络设备的方法在国网山西省电力公司电力科学研究院信息内外网进行了相关的验证测试。利用常规方法备份信息内外网络设备(大约60台)需要3 h左右;利用本方法仅用6 min就完成了该项工作。

5 结论

通过利用C#调用登录软件结合脚本的方法,实现了网络设备的批量自动登录,并对网络设备进行配置,明显提高了网络设备管理的效率,对于网络设备数量大且设备品牌较多的单位效果更好。

[1] 张斌.精通QTP与自动化测试框架设计实战[M].北京:人民邮电出版社,2010:228-241.

[2] 汪玲敏,陈兵.利用VBScript脚本功能提高信息网络日常维护工作效率[J].电脑知识与技术,2013,9(2):420-422.

[3] Adrian Kingsley-Hughes,Kathie Kingsley-Hughes,Daniel Read.VBScript程序员参考手册[M].3.富弘毅,陈钢,译.北京:清华大学出版社,2009:31-43.

猜你喜欢
网络管理员网络设备脚本
酒驾
网络设备的安装与调试课程思政整体设计
院校网络管理员基本素质与技能探讨
安奇奇与小cool 龙(第二回)
一种基于C# 的网络设备自动化登录工具的研制
提高图书馆网络管理员技术服务水平的途径
快乐假期
小编的新年愿望
基于列车监测网络设备的射频功放模块设计
基于三层交换技术架构数字化校园网络设备的配置与管理