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