孫晨陽
摘 要: 為使用自動方式來完成網絡設備配置信息的備份,對網絡設備配置信息備份系統進行軟件開發(fā)。該系統經測試使用,效果很好。
關鍵詞:網絡設備 配置信息 自動備份
長江南京通信管理局網絡系統規(guī)模較大,包括長江數據網(內網)和外網、ADSL網絡、AIS網絡、互聯網出口網絡等網絡系統,使用了大量的路由器、交換機、防火墻、DSLAM等網絡設備。為確保這些網絡設備穩(wěn)定、可靠地運行,做好網絡設備配置信息的備份,是網絡系統日常維護工作的一項重要內容。當網絡設備出現配置信息錯誤或丟失時,可以利用這些備份的配置文件迅速恢復網絡設備的工作狀態(tài)。
單位網絡設備配置信息的備份都是通過傳統的人工手動方式來進行,備份工作非常繁瑣,而且效率低下;同時網絡設備有多種品牌的多種款型, 使用上的差異也增加了配置信息備份的難度;并且多個管理人員在不同時間備份的配置信息很難做到同步和統一管理。為此我們希望能通過自動方式來完成這些大量的、煩瑣的工作。針對這種需求,筆者開發(fā)了網絡設備配置信息的自動備份系統。
需求分析
目前單位網絡設備主要有思科、華為、H3C、中興等品牌,數量有30多臺,設備類型主要為路由器、交換機、防火墻、DSLAM等,這些網絡設備主要是通過TFTP的方式來實現備份。
我們在網絡系統日常維護工作中,主要是通過Telnet遠程登陸到網絡設備上,輸入用戶名和密碼,執(zhí)行備份命令將配置信息通過TFTP的方式下載到網管服務器中。
網絡設備配置信息自動備份系統實現的目標是:利用程序模擬人機交互過程,自動遠程登錄到網絡設備上,并自動完成配置信息的下載工作,同時將配置信息存儲到指定的文件夾下,從而實現網絡設備配置信息的自動備份。
設計思路
整個系統分為硬件和軟件兩大部分。
硬件部分主要是搭建一臺TFTP服務器,用于存儲網絡設備的配置信息。
軟件部分用于實現網絡設備配置信息的自動備份和存儲。系統主要包括4個模塊:系統初始化模塊、配置信息采集模塊、配置信息存儲模塊和系統維護模塊。系統可以自動設定任務時間,在指定的時間段對網絡上所有的網絡設備進行配置備份和存儲。
硬件平臺的搭建
局域網內備份和升級網絡設備大多采用TFTP傳輸方式。TFTP(Trivial File Transfer Protocol,簡單)是TCP/IP協議族中的一個用來在客戶機與之間進行簡單文件傳輸的協議,提供不復雜、開銷不大的。TFTP基于UDP協議而實現,為69,提供不可靠的數據流傳輸服務,同時也不提供用戶認證機制以及根據用戶權限提供對文件操作授權;它是通過發(fā)送報文,應答方式,加上超時重傳方式來保證數據的正確傳輸。它的優(yōu)點是提供簡單的、開銷不大的文件傳輸服務。
市場上TFTP 服務器的軟件很多,每種軟件雖然界面不同,但功能大同小異,使用方法也類似,本系統使用3CDaemon軟件。
首先,準備一臺安裝有winows 2003的服務器,并在D盤上建立“netconfig”文件夾作為網絡設備配置信息的存放文件夾,在E盤上建立“netconfig.bak”文件夾作為網絡設備配置信息的存儲文件夾,并在該文件夾下以“網絡設備名稱(IP地址).bak”形式為每個網絡設備建立配置信息的專用存放文件夾。
其次,將3CDaemon軟件復制到服務器C盤上,雙擊3CDaemon.EXE開啟TFTP服務器。打開“設置TFTP 服務器”按鈕,設好配置信息保存路徑D:\ netconfig,勾選允許覆蓋現有文件,TFTP服務器就配置好了。
考慮到這臺服務器中保存了大量網絡設備的IP地址、用戶名、密碼以及這些設備的配置信息,因此這臺服務器的安全性非常重要。因此,我們在這臺服務器安裝了趨勢網絡版殺毒軟件和防火墻,開啟最高防御,利用防火墻軟件開啟IP端口過濾,除TFTP服務使用的端口對指定IP地址段(設備地址和網管地址)開放外,其余的端口全部關閉。
網絡設備配置信息備份系統軟件開發(fā)
網絡設備配置信息自動備份系統可以自動對網絡上所有的網絡設備進行配置信息備份和存儲,系統基于微軟.net VS2010開發(fā)環(huán)境,使用C#.NET語言實現,在windows平臺下運行,和TFTP服務器安裝在同一臺服務器上。系統主要包括系統初始化、網絡設備配置信息采集、配置信息存儲以及系統維護等模塊。
1、系統初始化模塊
系統初始化模塊的功能是啟動系統并進行系統初始化信息的檢查和設置,主要包括以下內容:
檢查系統初始化配置文件system.ini是否存在、內容是否為空,文件不存在或內容為空時則調用系統維護模塊來建立相應文件。
讀取自動定時的時間設定。
檢查配置信息采集文件夾和配置信息存儲文件夾是否存在,不存在時則調用系統維護模塊來建立相應文件夾。
檢查網絡設備列表文件loginuser.txt文件、網絡設備配置信息采集操作文件netconfig_back.txt是否存在、內容是否為空,文件不存在或內容為空時則調用系統維護模塊來建立相應文件。
獲取本機的IP地址作為TFTP服務器的IP地址。
2、配置信息采集模塊
配置信息采集模塊的功能是自動遠程登錄到網絡設備上,將網絡設備配置信息采集到TFTP服務器設定的文件夾,它可以根據系統設定的時間來定時執(zhí)行計劃的采集任務,也可以根據操作人員的操作,在任意時間啟動網絡設備配置信息的采集。
系統使用loginuser.txt文件來存放網絡設備的基本信息,包含網絡設備的IP 地址、設備名稱、設備類型、用戶名、密碼、特權密碼6個字段,其中用戶名和特權密碼字段可以為空。例如以下是兩臺網絡設備的基本信息:
因為不同款型的網絡設備使用的操作系統不同,配置信息的采集操作命令也不同。我們使用netconfig_back.txt文件來存放不同款型網絡設備配置信息的采集操作命令,其中R字段表示“從網絡設備接收到的信息”,S字段表示“發(fā)送到網絡設備的信息”,即配置信息的采集操作命令。例如以下存放的是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,繼續(xù)下一臺網絡設備的配置采集工作,直至所有網絡設備均完成采集為止。
3、配置信息存儲模塊
網絡設備的配置信息采集成功后,將自動調用網絡設備配置信息存儲模塊。存儲模塊對新采集的配置信息文件和存儲文件夾存放的配置信息文件的內容進行MD5信息摘要計算,如果新文件與存儲文件夾中配置信息文件的MD5值不同,就將新采集的配置信息文件保存到存儲文件夾,并且將新配置信息文件的名稱中加入日期信息,同時保存到存儲文件夾下該網絡設備的專用存放文件夾中。
此外,網絡設備配置信息存儲模塊也可以根據操作人員的操作,在任意時間啟動網絡設備配置信息的存儲操作。
4、系統維護模塊
系統維護模塊的功能是對系統配置信息進行維護,主要包括以下內容:
系統初始化配置文件system.ini中初始化配置信息的添加、刪除和修改。
網絡設備列表文件loginuser.txt、網絡設備配置采集操作文件netconfig_back.txt的添加、刪除和修改。
配置信息采集文件夾和配置信息存儲文件夾的設定。
結束語
網絡設備配置信息自動備份系統開發(fā)完成后,我們對該系統進行測試使用,設定于每天凌晨2點對單位的30多臺網絡設備的配置信息進行自動采集和存儲。經過測試,每次網絡設備配置信息備份的執(zhí)行時間不超過5分鐘,大大提高了網絡管理人員的維護工作效率,同時保證了網絡設備配置信息備份結果的準確、及時,為網絡設備的正常穩(wěn)定運行提供了強有力的支撐和保障。