交换机配置文件的自动采集及分析
2021-11-29谢大海
谢大海,王 勇,周 泉,卢 峰
(国网合肥供电公司,安徽 合肥 230022)
交换机是信息网络的重要组网设备,也是终端用户的基本接入设备。信息网络的安全管理、资源管理都必须以交换机为切入点,管理、核对与修改这些配置文件,是基础运维的重要工作。由于不同厂商、品牌和型号的差异,导致交换机配置文件的格式以及采集配置文件的操作都存在不同程度的差异。
国网安徽省电力有限公司合肥供电公司的信息运维人员,对交换机配置文件自动采集及分析进行研究。
1 交换机自动分析的现状
目前,在交换机管理方面,市面上有很多成熟系统,有的侧重于网络运行分析,有的侧重于终端客设备管理,有的侧重于拓扑结构管理,有的侧重于服务器类设备,适用于基础运维人员的,适应不同品牌交换机的分析系统相对较少,且费用高昂,从而为自主研究提供了可行性[1]。
1.1 类似系统介绍
北塔(Before Trouble Network Manager,简称BTNM)是上海北塔软件股份有限公司基于Windows操作系统开发的信息网络运维软件。该软件通过收集与业务/服务相关的各种信息:网络设备信息、全网流量信息、服务器内存、I/O的使用情况,以图形化呈现拓扑视图。
优尔准入系统主要采用地址解析协议(ARP)分析、流量分析等技术,建立终端识别指纹库,通过终端的身份鉴别,有效阻止非法终端的随意接入,实现网络透视功能和终端快速定位功能,辅助网络运维管理。
还有,以Zabbix为代表的一系列国外引进系统,比如:Cacti、Nagios等,大多是英文界面,功能强大,但不适应中文环境。
1.2 连接协议介绍
目前交换机通用连接协议有3个,分别是Telnet,SSH1和SSH2。
(1)Telnet是基于TCP/IP连接的远程访问协议,其明文传输一直是该协议的诟病,安全性得不到保证。
(2)SSH是替代Telnet的行业标准,提供了多种加密方式,还可以为ftp、pop甚至ppp提供一个安全的“通道”。SSH协议的初期版本为SSH1,又可分为1.3和1.5两个主要版本。SSH1采用DES、3DES和RC4等对称加密算法保护数据安全传输,而对称加密算法的密钥是通过非对称加密算法(RSA)来完成交换的[2]。该协议还使用循环冗余校验码(CRC)来保证数据的完整性。
(3)SSH2协议修补了CRC的缺陷,采用数字签名算法(DSA)和密钥交换算法(Diffie-Hellman,简称DH)密钥交换算法来代替非对称加密算法(RSA),完成对称密钥的交换,用消息证实代码(HMAC)来代替循环冗余校验码(CRC)。同时SSH2增加了高级加密标准(AES)和双鱼区块加密算法(Twofish)等对称加密算法。
目前,SSH2已经成为交换机连接控制的通用协议。
2 自动采集的实现
在了解交换机的连接协议后,开始对自动采集的研究。理论上可以用任何编程语言或任何操作系统来实现应用系统的开发。按照开发人员的个人知识结构和编程经验,选择用Java语言来作为开发语言,IntelliJ IDEA为开发环境,MY SQL数据库为数据存储后台,操作系统选用Windows。本文一些代码举例也将以Java语言为主。
2.1 流分析
应用系统与交换机的数据传输,以流的方式进行,Java语言所有的流类位于java.io包中,都分别继承4种抽象流类型,分别是输入字节流InputStream、输入字符流Reader、输出字节流OutputStream、输出字符流Writer。采用Java语言数据流的循环读取技术,获取交换机反馈的信息。
2.2 自动登录实现
根据交换机实际情况,采用智能判断技术,虽然增加了代码量和编写代码的难度,但是这一技术实现了登录协议的自动选择[3],减少了人工操作,提高了登录效率[2-3]。
Telnet协议采用Apache组织发布的Telnet开发包。SSH2协议采用JCraft公司的jsch包。因为本公司还有一些老旧交换机运行,因此保留了SSH1协议连接方式,采用MindTerm组件,该组件较为罕见,2010年左右停止更新。
在定义了3种不同的登录协议后,结合Socket对象,判断端口的开通情况,然后尝试登录,并选择适合的协议开展登录。
2.3 命令分析
针对不同交换机和获取参数的需求,列出主要命令。
2.4 分页处理
各个生产厂家和型号版本的差异,有的交换机有连续显示功能,有的交换必须分页显示。
2.5 获取提示符
获取提示符的原理,是输入一个回车,然后获取返回文本,接着对文本进行分析,从而获得提示符。
3 数据分析
交换机配置文件的分析,其实就是对采集文本的分析,大多是文本处理,这里仅给出3个容易忽略的关键点。
3.1 MAC地址类型分析
在分析MAC地址类型时,除了“动态”、“静态”之外,少量交换机有“BlackHole(黑洞)”类型,在此加以区分。
3.2 中兴系列的配置文件分析
中兴交换机的配置文件与华三、华为系列不同,用分段标志把配置文件分成若干段,可以根据分段标志,截取需要的段落,进行分析。
3.3 型号版本的细微差异
在研究过程中发现有的交换机,型号和主版本相同,仅小版本有细微不同,其配置文件差异却很大,影响了数据分析。比如:某品牌S2352P-EI型号交换机的5.70(V100R005C01)版本和5.70(V100R006C03)版本。这两类交换机的版本差异很小,但是MAC表却存在很大差别,系统在处理MAC表时,要加以区分。
4 结语
(1)研究开发了一套完整的应用系统,该系统可以自动循环处理所有交换机,也可以手动处理部分交换机,并将采集到的配置文件保存在数据库中;通过分析配置文件,生成3份表格,包括交换机信息、端口信息、MAC信息;最后将这些数据,应用在交,换机管理、端口识别等工作上,加快了故障判断的准确率,提高了工作效率。
(2)对电力信息网中,交换机配置文件的自动采集及分析进行了研究,比如:版本号的细微差别、输入输出流的等待时隙、端口名称的规范和识别、Java语言系统后台自动运行机制等,在公司信息运维主业化建设上有着深远的意义。
(3)本文研究仅局限于采集和分析这两方面,相同的原理和技术手段,也可以开展交换机配置文件的写入工作。通过进一步提升,可以实现交换机类设备的全自动运维。这将是信息运维自动化研究的提升方向。
(4)通过这一研究,国网合肥供电公司积累了丰富的经验、成果和资料,可以推广至各个相关企业或行业,共同交流。各单位可以合作,针对市场上不同品牌、不同系列的交换机,建立一个庞大的基础资料库,和操作模板库,基础资料库为计算机自动分析提供依据,而操作模板库可以为自动操作提供参考。