巴彦淖尔电业局信息网络管辖70个变电站,办公用计算机3800多台,网络交换机410台,其中,外网交换机32台,内网交换机378台,内网交换机型号主要为思科C3945、C3560、C2950、C2960,华为S5700,华三S5310。现依赖信息网络的业务主要涉及生产MIS、ERP、综合门户、财务管控、视频会议、营销缴费系统、法律系统、计划统计系统等[1]。由于业务量不断增多,对信息网络的性能、管理水平提出了更高的要求。
目前,巴彦淖尔电业局信息网络主要存在以下几方面问题。
(1)新入职人员不断增多,人员部门间流动频繁,办公地点经常调整,各处室缺乏及时有效的沟通,网络管理员对人员的变动信息掌握不及时,IP盗用及乱用现象较为严重,导致部分用户网络中断。排查网络故障方法十分繁琐,给网络管理带来很大的困难。
(2)根据《网络安全法》以及内蒙古电力公司信通中心提出的相关要求,网络管理员需要留存网络日志不少于6个月、定期修改设备的登录密码、实现MAC+IP+PORT绑定等,导致网络管理员的日常维护工作十分繁重。
(3)由于历史原因,早期对数据重要性意识不足,缺乏对设备原始资料的完整保存,网络管理员对已用的网络资源、现有设备的运行情况掌握不准确,对未知资源未能及时恢复成可用状态,网络资源严重浪费,影响新分配IP、调整IP、申报网络设备等工作。
(4)目前,在申报网络设备大修和技改工程时,网络管理员往往要逐一登录到交换机上,手动逐条输入命令进行查看、配置、统计设备信息,不仅工作量大,耗费大量的人力成本,而且很难保证统计结果的准确性。随着农电的逐步接入,内外网交换机的数量大幅增加,提升网络管理员的工作效率,提高配置成功率,是亟需解决的问题。
针对上述问题,本文在Python3.6系统中,以交换机管理为例,将管理员日常运维中大量繁琐的重复性操作(例如:输入IP地址、用户名、密码、配置代码等)写成脚本,再利用Secure Crt 8.1(简称Crt)软件的Script Files接口,调用Python脚本,实现批量信息网络设备的自动化操作,有效提高网络管理员的工作效率和操作结果的准确性。
2 批量操作系统介绍近几年,信息网络发展十分迅猛,基于VBScript的信息网络设备批量操作系统[2-4]在其他省市已经提过。内蒙古地区信息网络的发展相对滞后,至今没有相关文献涉及批量操作系统的研究与使用,网络管理员仍然以逐台登录设备、手动输入重复命令的方式进行大量设备的管理,工作效率较低。
Python语言具有简洁性、易读性以及可扩展性特点,用户可以在任何计算机上免费安装使用Python。VBScript只能处理简单任务的编程语言,其功能不能与Python相提并论。而且,VBScript常用来编写病毒文件,一旦使用不当,病毒在局域网中扩散开来,将造成严重的后果[5]。因此,本文选用Python语言来编写批量操作系统的脚本文件,将有利于日后系统功能扩展。
2.1 手动配置交换机在传统的日常网络维护中,网络管理员需手动配置n台交换机。单台交换机配置流程如图 1所示。
![]() |
图 1 传统手动配置交换机流程图 |
首先登录Secure Crt,输入交换机的管理地址,选择通过远程登录服务的标准协议Telnet进行登录,输入交换机的用户名和密码,运行配置命令,保存配置,检查配置无误后退出交换机。然后再对下1台交换机进行重复操作。
2.2 批量操作系统配置交换机在批量操作系统中,根据不同的需求,编写能够实现不同功能的Python脚本,然后在Crt中进行调用,实现批量交换机的自动运行,具体步骤如图 2所示。
![]() |
图 2 批量操作系统配置交换机流程图 |
新建1个设备信息Devices.txt文件,包括交换机的不同参数,如名称、管理地址、远程登录服务的端口号23、登录协议telnet、设备型号、登录密码等,有多少台交换机,就在txt文档中写多少行,这些参数之间用英文分号“; ”隔开。
2.2.2 编写Python脚本在Python中,新建工程,编写test.py脚本。
(1)在脚本中,调用上述Devices.txt文件,通过指定分隔符英文分号“; ”,使用split函数对字符串进行切片,返回分割后的字符串列表。
(2)利用Crt中的session.log()打开日志记录,session.Synchronous()设置屏幕的同步属性,session. Connect()连接交换机,Send()向远端设备、屏幕发送字符串,WaitForString()发送命令后等待指定的字符串,session.Disconnect()关闭连接。
(3)按照txt文档中交换机的参数逐行执行,每执行1行,即打开1个Crt的标准界面,使用telnet协议远程登录到交换机,输入交换机的登录密码,从用户视图进入系统视图,查看交换机的配置信息和调试信息,对交换机进行配置,待这台交换机配置命令执行完以后,关闭标准界面,再执行下1行,以此类推。
(4)对需要统计、配置的交换机信息进行保存,针对每1台交换机,保存为名称_型号_log.txt文件,用于记录交换机的操作过程,显示当前的配置信息。
(5)对脚本的运行进行计时。
2.2.3 运行脚本文件打开Crt软件,点击菜单的script run,选择test. py脚本文件,自动执行脚本文件。
2.2.4 保存日志文件查看名称_型号_log.txt日志文件,得到所需的交换机的配置信息,检查备份文件。
3 批量操作系统的检验批量操作系统的核心是具有不同功能的Python脚本文件,本文以查询交换机的配置信息和修改交换机的远程登录密码为实例,说明该批量操作系统的可用性及有效性。
3.1 查询交换机的配置信息选取巴彦淖尔电业局15台H3c交换机,查询这15台交换机的配置信息。如表 1所示,建立设备的参数文件Devices.txt。
![]() |
表 1 交换机参数 |
新建工程chaxx,编写Python脚本文件test_chaxx.py,使用display current-configuration查看当前交换机配置情况,display transceiver int查看交换机接口光模块信息,display logbuffer查看系统日志,display interface brief查看接口汇总情况,将15台交换机的配置信息保存为15个交换机的名称_型号_log.txt文件。
在Crt中调用test_chaxx.py文件,待程序运行结束,如图 3所示,在根目录下生成了15个日志文件,共用时99.41 s,而1名业务熟练的网络管理员手动配置大约需要90 min。检验日志文件发现,每台交换机的日志文件都包含了该交换机的配置情况、接口的光模块信息、系统日志、接口的汇总情况。
![]() |
图 3 交换机的配置信息文件 |
选取巴彦淖尔电业局5台H3c交换机,修改这5台交换机的远程登录密码,进行验证。如表 2所示,建立设备的参数及远程登录密码文件Devices.txt。
![]() |
表 2 交换机参数 |
新建工程gaimm,编写Python脚本文件test_gaimm.py,在用户视图下输入super命令,切换到高级别,使用user-interface vty 04进入虚拟接口,通过set authentication password simple ***(***为设置的新密码),改为如表 2所示的新密码,然后,保存和更改交换机的配置,将5台交换机的配置信息保存为5个交换机名称_型号_log.txt文件。
在Crt中调用test_gaimm.py文件,待程序运行结束,如图 4所示,生成了5个日志文件,共用时30.11 s,而1名业务熟练的网络管理员手动配置大约需要30 min。使用表 2中的新密码进行逐一验证,发现5台交换机均可使用新密码进行远程登录。
![]() |
图 4 交换机的配置信息文件 |
通过查询交换机的配置信息和修改远程登录密码2个应用实例,充分说明批量操作系统的可用性及有效性,该系统的使用将大大缩短网络管理员的工作时间,提高工作效率及准确性。
4 结束语2018年,巴彦淖尔电业局引入IT综合业务管理平台实时监控管理信息网络,网络管理员需要在全局378台内网交换机上配置snmp协议,前期人工手动配置需要逐台登录交换机录入代码,不仅耗时长、效率低,而且极易出现交换机接入失败问题,且排查困难。
通过批量操作系统进行配置,在Crt软件中调用脚本文件即可自动配置,效率提高约60倍,极大减少了人工操作的工作量,提高了网络管理的效率和准确性。
[1] |
李寅东, 贾红, 田崇军. 内蒙古电力信息网络常见故障分析及处理[J]. 内蒙古电力技术, 2014, 32(4): 85-88. |
[2] |
安学民, 么利中, 杨尉薇. 电力企业局域网批量配置网络设备的方法[J]. 山西电力, 2014(6): 41-44. DOI:10.3969/j.issn.1671-0320.2014.06.012 |
[3] |
王玲敏, 陈兵. 利用VBScript脚本功能提高信息网络日常维护工作效率[J]. 电脑知识与技术, 2013, 2(9): 420-437. |
[4] |
王飞, 曹祥龙.一种批量配置网络设备的方法: 201310300521.4[P].2013-10-02. http://nmgdl.paperopen.com/oa/DArticle.aspx?type=view&id=20140421
|
[5] |
刘景云. 见招拆招, 智斗加密型VBS脚本病毒[J]. 电脑知识与技术, 2016(5): 116-118. DOI:10.3969/j.issn.1009-3044.2016.05.042 |