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