孙晨阳
摘 要: 为使用自动方式来完成网络设备配置信息的备份,对网络设备配置信息备份系统进行软件开发。该系统经测试使用,效果很好。
关键词:网络设备 配置信息 自动备份
长江南京通信管理局网络系统规模较大,包括长江数据网(内网)和外网、ADSL网络、AIS网络、互联网出口网络等网络系统,使用了大量的路由器、交换机、防火墙、DSLAM等网络设备。为确保这些网络设备稳定、可靠地运行,做好网络设备配置信息的备份,是网络系统日常维护工作的一项重要内容。当网络设备出现配置信息错误或丢失时,可以利用这些备份的配置文件迅速恢复网络设备的工作状态。
单位网络设备配置信息的备份都是通过传统的人工手动方式来进行,备份工作非常繁琐,而且效率低下;同时网络设备有多种品牌的多种款型, 使用上的差异也增加了配置信息备份的难度;并且多个管理人员在不同时间备份的配置信息很难做到同步和统一管理。为此我们希望能通过自动方式来完成这些大量的、烦琐的工作。针对这种需求,笔者开发了网络设备配置信息的自动备份系统。
需求分析
目前单位网络设备主要有思科、华为、H3C、中兴等品牌,数量有30多台,设备类型主要为路由器、交换机、防火墙、DSLAM等,这些网络设备主要是通过TFTP的方式来实现备份。
我们在网络系统日常维护工作中,主要是通过Telnet远程登陆到网络设备上,输入用户名和密码,执行备份命令将配置信息通过TFTP的方式下载到网管服务器中。
网络设备配置信息自动备份系统实现的目标是:利用程序模拟人机交互过程,自动远程登录到网络设备上,并自动完成配置信息的下载工作,同时将配置信息存储到指定的文件夹下,从而实现网络设备配置信息的自动备份。
设计思路
整个系统分为硬件和软件两大部分。
硬件部分主要是搭建一台TFTP服务器,用于存储网络设备的配置信息。
软件部分用于实现网络设备配置信息的自动备份和存储。系统主要包括4个模块:系统初始化模块、配置信息采集模块、配置信息存储模块和系统维护模块。系统可以自动设定任务时间,在指定的时间段对网络上所有的网络设备进行配置备份和存储。
硬件平台的搭建
局域网内备份和升级网络设备大多采用TFTP传输方式。TFTP(Trivial File Transfer Protocol,简单)是TCP/IP协议族中的一个用来在客户机与之间进行简单文件传输的协议,提供不复杂、开销不大的。TFTP基于UDP协议而实现,为69,提供不可靠的数据流传输服务,同时也不提供用户认证机制以及根据用户权限提供对文件操作授权;它是通过发送报文,应答方式,加上超时重传方式来保证数据的正确传输。它的优点是提供简单的、开销不大的文件传输服务。
市场上TFTP 服务器的软件很多,每种软件虽然界面不同,但功能大同小异,使用方法也类似,本系统使用3CDaemon软件。
首先,准备一台安装有winows 2003的服务器,并在D盘上建立“netconfig”文件夹作为网络设备配置信息的存放文件夹,在E盘上建立“netconfig.bak”文件夹作为网络设备配置信息的存储文件夹,并在该文件夹下以“网络设备名称(IP地址).bak”形式为每个网络设备建立配置信息的专用存放文件夹。
其次,将3CDaemon软件复制到服务器C盘上,双击3CDaemon.EXE开启TFTP服务器。打开“设置TFTP 服务器”按钮,设好配置信息保存路径D:\ netconfig,勾选允许覆盖现有文件,TFTP服务器就配置好了。
考虑到这台服务器中保存了大量网络设备的IP地址、用户名、密码以及这些设备的配置信息,因此这台服务器的安全性非常重要。因此,我们在这台服务器安装了趋势网络版杀毒软件和防火墙,开启最高防御,利用防火墙软件开启IP端口过滤,除TFTP服务使用的端口对指定IP地址段(设备地址和网管地址)开放外,其余的端口全部关闭。
网络设备配置信息备份系统软件开发
网络设备配置信息自动备份系统可以自动对网络上所有的网络设备进行配置信息备份和存储,系统基于微软.net VS2010开发环境,使用C#.NET语言实现,在windows平台下运行,和TFTP服务器安装在同一台服务器上。系统主要包括系统初始化、网络设备配置信息采集、配置信息存储以及系统维护等模块。
1、系统初始化模块
系统初始化模块的功能是启动系统并进行系统初始化信息的检查和设置,主要包括以下内容:
检查系统初始化配置文件system.ini是否存在、内容是否为空,文件不存在或内容为空时则调用系统维护模块来建立相应文件。
读取自动定时的时间设定。
检查配置信息采集文件夹和配置信息存储文件夹是否存在,不存在时则调用系统维护模块来建立相应文件夹。
检查网络设备列表文件loginuser.txt文件、网络设备配置信息采集操作文件netconfig_back.txt是否存在、内容是否为空,文件不存在或内容为空时则调用系统维护模块来建立相应文件。
获取本机的IP地址作为TFTP服务器的IP地址。
2、配置信息采集模块
配置信息采集模块的功能是自动远程登录到网络设备上,将网络设备配置信息采集到TFTP服务器设定的文件夹,它可以根据系统设定的时间来定时执行计划的采集任务,也可以根据操作人员的操作,在任意时间启动网络设备配置信息的采集。
系统使用loginuser.txt文件来存放网络设备的基本信息,包含网络设备的IP 地址、设备名称、设备类型、用户名、密码、特权密码6个字段,其中用户名和特权密码字段可以为空。例如以下是两台网络设备的基本信息:
因为不同款型的网络设备使用的操作系统不同,配置信息的采集操作命令也不同。我们使用netconfig_back.txt文件来存放不同款型网络设备配置信息的采集操作命令,其中R字段表示“从网络设备接收到的信息”,S字段表示“发送到网络设备的信息”,即配置信息的采集操作命令。例如以下存放的是H3C7506R和CISCO4507R两类网络设备配置信息的采集操作命令:
网络设备配置信息采集模块的工作流程如下:
步骤1. 读取loginuser.txt文件的一行信息,直至所有行读完为止;
步骤2. 将读取的网络设备IP 地址、设备名称、设备类型、用户名、密码、特权密码字段分别放入HOSTIP 、HOSTNAME、HOSTTYPE、ID、PASS、PPASS变量中;
步骤3. 根据“设备类型”,读取netconfig_back.txt文件中对应行的R字段和S字段信息,分别放入r[k]和s[k] 字符串数组变量中;
步骤4. 将HOSTIP 、HOSTNAME、ID、PASS、PPASS、TFTPIP变量中的信息,替换s[k] 字符串数组中的“*HOSTIP” 、“*HOSTNAME”、“*ID”、“*PASS”、“*PPASS”、 “*TFTP.IP”等字符串;
步骤5. 运行Telnet程序登陆网络设备;
步骤6. 根据从网络设备接收到的信息,使用 s[k] 字符串数组变量中的信息,输入网络设备的用户名、密码、特权密码;完成网络设备当前运行的配置信息在本机的存储操作;将配置信息上传至TFTP服务器的指定文件夹中;
步骤7. 退出设备;
步骤8. 返回步骤1,继续下一台网络设备的配置采集工作,直至所有网络设备均完成采集为止。
3、配置信息存储模块
网络设备的配置信息采集成功后,将自动调用网络设备配置信息存储模块。存储模块对新采集的配置信息文件和存储文件夹存放的配置信息文件的内容进行MD5信息摘要计算,如果新文件与存储文件夹中配置信息文件的MD5值不同,就将新采集的配置信息文件保存到存储文件夹,并且将新配置信息文件的名称中加入日期信息,同时保存到存储文件夹下该网络设备的专用存放文件夹中。
此外,网络设备配置信息存储模块也可以根据操作人员的操作,在任意时间启动网络设备配置信息的存储操作。
4、系统维护模块
系统维护模块的功能是对系统配置信息进行维护,主要包括以下内容:
系统初始化配置文件system.ini中初始化配置信息的添加、删除和修改。
网络设备列表文件loginuser.txt、网络设备配置采集操作文件netconfig_back.txt的添加、删除和修改。
配置信息采集文件夹和配置信息存储文件夹的设定。
结束语
网络设备配置信息自动备份系统开发完成后,我们对该系统进行测试使用,设定于每天凌晨2点对单位的30多台网络设备的配置信息进行自动采集和存储。经过测试,每次网络设备配置信息备份的执行时间不超过5分钟,大大提高了网络管理人员的维护工作效率,同时保证了网络设备配置信息备份结果的准确、及时,为网络设备的正常稳定运行提供了强有力的支撑和保障。