版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
項(xiàng)目18
基于Python網(wǎng)絡(luò)自動(dòng)化運(yùn)維目錄CONTENTS知識(shí)鏈接網(wǎng)絡(luò)文檔、VRP文件系統(tǒng)、網(wǎng)絡(luò)管理命令項(xiàng)目設(shè)計(jì)網(wǎng)絡(luò)拓?fù)鋱D、IP地址、DNS設(shè)計(jì)項(xiàng)目描述為微小企業(yè)局域網(wǎng)部署鏈路聚合項(xiàng)目實(shí)施與驗(yàn)證鏈路聚合功能驗(yàn)證0103020401PART020304知識(shí)鏈接1.1基于Python的網(wǎng)絡(luò)自動(dòng)化運(yùn)維0102Python編寫的自動(dòng)化腳本能夠很好的執(zhí)行重復(fù)、耗時(shí)、有規(guī)則的操作。基于Python自動(dòng)化配置設(shè)備步驟:(1)編寫配置文件(2)編寫Python代碼將配置文件推送到設(shè)備上,首先用命令行方式寫配置腳本,然后通過(guò)
Telnet/SSH
將它傳到設(shè)備上運(yùn)行。1.2Python簡(jiǎn)介0102Python是一門完全開源的高級(jí)編程語(yǔ)言。Python特點(diǎn):(1)Python擁有優(yōu)雅的語(yǔ)法、動(dòng)態(tài)類型具有解釋性質(zhì)。能夠讓學(xué)習(xí)者從語(yǔ)法細(xì)節(jié)的學(xué)習(xí)中抽離,專注于程序邏輯。(2)Python同時(shí)支持面向過(guò)程和面向?qū)ο蟮木幊?。?)Python可以調(diào)用其他語(yǔ)言所寫的代碼,又被稱為膠水語(yǔ)言。由于Python具有非常豐富的第三方庫(kù),加上Python語(yǔ)言本身的優(yōu)點(diǎn),所以Python在非常多的領(lǐng)域內(nèi)使用,比如人工智能、數(shù)據(jù)科學(xué)、APP、自動(dòng)化運(yùn)維腳本等。(4)Python也存在運(yùn)行速度慢的缺點(diǎn)。Python是解釋型語(yǔ)言,不需要編譯即可運(yùn)行。代碼在運(yùn)行時(shí)會(huì)逐行地翻譯成CPU能理解的機(jī)器碼,這個(gè)翻譯過(guò)程非常耗時(shí)。(5)Python源碼不需要編譯成二進(jìn)制代碼,它可以直接從源代碼運(yùn)行程序。運(yùn)行Python代碼的時(shí)候,Python解釋器首先將源代碼轉(zhuǎn)換為字節(jié)碼,然后再由Python虛擬機(jī)來(lái)執(zhí)行這些字節(jié)碼。1.2Python簡(jiǎn)介0102Python有兩種運(yùn)行方式,交互式運(yùn)行和腳本式運(yùn)行。1.2Python簡(jiǎn)介0102一個(gè)完整的Python源碼文件一般包含幾個(gè)組成部分:解釋器和編碼格式聲明、文檔字符串、模塊導(dǎo)入和運(yùn)行代碼。(1)解釋器聲明的作用是指定運(yùn)行本文件的編譯器的路徑(非默認(rèn)路徑安裝編譯器或有多個(gè)Python編譯器)。Windows操作系統(tǒng)上可以省略本例中第一行解釋器聲明。(2)編碼格式聲明的作用是指定本程序使用的編碼類型,以指定的編碼類型讀取源代碼。Python3默認(rèn)支持UTF-8編碼。(3)文檔字符串的作用是對(duì)本程序功能的總體介紹。(4)time為Python內(nèi)置模塊,作用是提供處理時(shí)間相關(guān)的函數(shù)。如果在程序中調(diào)用標(biāo)準(zhǔn)庫(kù)或其他第三方庫(kù)的類時(shí),需要先使用import或from...import語(yǔ)句導(dǎo)入相關(guān)的模塊。導(dǎo)入語(yǔ)句始終在文件的頂部,在模塊注釋或文檔字符串docstring之后。1.2Python簡(jiǎn)介0102函數(shù)Function是組織好的、可重復(fù)使用的一段代碼。它能夠提高程序的模塊化程度和代碼利用率。函數(shù)使用關(guān)鍵字def定義。模塊Module是一個(gè)保存好的Python文件。模塊可以由函數(shù)或者類組成。模塊和常規(guī)Python程序之間的唯一區(qū)別是用途不同,模塊用于被其他程序調(diào)用。因此,模塊通常沒(méi)有main函數(shù)。1.2Python簡(jiǎn)介0102類Class是用來(lái)描述義方法時(shí)候必須攜帶self關(guān)鍵字,它表示類的實(shí)例本身。圖18-5展示了類與方法的用法。類是具有一類相同的屬性和方法的集合。類的定義使用關(guān)鍵字class。被實(shí)例化的類的“函數(shù)”被稱作方法Method。類定更多類的學(xué)習(xí),請(qǐng)參考/3/tutorial/classes.html。1.3Paramiko模塊使用0102Paramiko模塊的使用非常靈活,可以用于自動(dòng)化運(yùn)維、遠(yuǎn)程服務(wù)器管理、批量執(zhí)行命令等各種場(chǎng)景。下面將簡(jiǎn)單介紹Paramiko模塊的安裝和使用。1.3.1Paramiko安裝Paramiko是Python的一個(gè)第三方庫(kù),所以需要使用pip安裝,安裝命令如下。安裝完成后,就可以在Python腳本中導(dǎo)入Paramiko模塊并開始使用了。pipinstallParamiko1.3Paramiko模塊使用01021.3.2Paramiko使用Paramiko是Python實(shí)現(xiàn)SSHv2協(xié)議的模塊,它支持口令認(rèn)證和公鑰認(rèn)證兩種方式。它可以實(shí)現(xiàn)安全的遠(yuǎn)程命令執(zhí)行、文件傳輸?shù)裙δ?,Paramiko模塊與SSH服務(wù)器建立SSH連接如圖顯示。1.3Paramiko模塊使用0102Paramiko常用的兩個(gè)類為SSHClient和SFTPClient,分別提供SSH和SFTP功能。Paramiko模塊與SSH服務(wù)器建立SSH連接:(1)首先導(dǎo)入Paramiko模塊,然后創(chuàng)建一個(gè)SSHClient對(duì)象,代碼如下。importparamiko#導(dǎo)入Paramiko模塊ssh=paramiko.SSHClient()#創(chuàng)建SSHClient對(duì)象(2)接下來(lái),可以設(shè)置連接參數(shù),如遠(yuǎn)程主機(jī)的IP地址、端口號(hào)、用戶名和密碼。#設(shè)置連接參數(shù)ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())ssh.connect('remote_host',port=22,username='username',password='password')注意:創(chuàng)建ssh_client對(duì)象后,需要設(shè)置其missinghostkeypolicy為AutoAddPolicy。否則,當(dāng)連接主機(jī)的密鑰不可用時(shí),該連接將被拒絕。AutoAddPolicy表示自動(dòng)添加遠(yuǎn)程主機(jī)密鑰,相當(dāng)于告訴SSH客戶端,如果遠(yuǎn)程機(jī)器不在已知主機(jī)列表中,就自動(dòng)添加,并信任它的密鑰。remote_host是遠(yuǎn)程主機(jī)的IP地址或主機(jī)名,username和password是登錄遠(yuǎn)程主機(jī)的用戶名和密碼。1.3Paramiko模塊使用0102(3)建立SSH連接后,可以使用Paramiko模塊執(zhí)行遠(yuǎn)程命令。通過(guò)調(diào)用SSHClient對(duì)象的exec_command方法,執(zhí)行一條遠(yuǎn)程命令并獲取其輸出結(jié)果。#執(zhí)行遠(yuǎn)程命令stdin,stdout,stderr=ssh.exec_command('command')print(stdout.read().decode())(3)建立SSH連接后,也可以調(diào)用invoke_shell()方法獲取對(duì)象,本章節(jié)使用invoke_shell()方法獲取命令執(zhí)行情況。#激活teminal終端commend=ssh.invoke_shell()commend.send('command+\n')#向SSH服務(wù)器發(fā)送命令(4)最后,不要忘記關(guān)閉SSH通道,否則會(huì)占用連接資源。commend.close()ssh.close()02PART010304項(xiàng)目描述2.1項(xiàng)目簡(jiǎn)介0102
小李是某公司的網(wǎng)絡(luò)運(yùn)維人員,他的工作任務(wù)是完善公司的網(wǎng)絡(luò)搭建。目前公司的局域網(wǎng)已經(jīng)完成,內(nèi)部員工的計(jì)算機(jī)和Web服務(wù)器已經(jīng)接入交換機(jī)LSW2,實(shí)現(xiàn)了公司局域網(wǎng)內(nèi)部通信?,F(xiàn)需要對(duì)公司的出口路由器AR1進(jìn)行配置,實(shí)現(xiàn)對(duì)外網(wǎng)的訪問(wèn)。由于小李需要出差,為了完成工作,同時(shí)也為了方便后期網(wǎng)絡(luò)運(yùn)行維護(hù),小李決定對(duì)AR1進(jìn)行遠(yuǎn)程配置。項(xiàng)目描述03PART010204項(xiàng)目設(shè)計(jì)單擊輸入你的正文3.1總體設(shè)計(jì)及設(shè)計(jì)參數(shù)0102基于Python網(wǎng)絡(luò)自動(dòng)化運(yùn)維由五部分組成:(1)第一部分是搭建項(xiàng)目環(huán)境:設(shè)計(jì)A公司出口路由器AR1遠(yuǎn)程登錄使用網(wǎng)段為/24,公司內(nèi)部使用網(wǎng)段為/24,AR1和AR2之間的串口使用/24網(wǎng)段,AR2和AR3之間的串口使用/30,AR3連接的外部網(wǎng)絡(luò)使用/24網(wǎng)段,AR2、AR3配置OSPF動(dòng)態(tài)路由。(2)第二部分是配置本地環(huán)回網(wǎng)卡和橋接Cloud,建立本地計(jì)算機(jī)與eNSP互聯(lián)網(wǎng)絡(luò)設(shè)備互聯(lián)。(3)第三部分是配置AR1為SSH服務(wù)器。使能AR1的SSH功能,設(shè)計(jì)驗(yàn)證模式為AAA。(4)第四部分是編寫和運(yùn)行Python文件,實(shí)現(xiàn)AR1接口IP、OSPF協(xié)議和NAT配置。(5)第五部分是項(xiàng)目實(shí)施結(jié)果驗(yàn)證:公司內(nèi)部網(wǎng)絡(luò)終端能夠通過(guò)公網(wǎng)地址與外部網(wǎng)絡(luò)進(jìn)行通信。項(xiàng)目設(shè)計(jì)3.1總體設(shè)計(jì)及設(shè)計(jì)參數(shù)0102項(xiàng)目設(shè)計(jì)3.1總體設(shè)計(jì)及設(shè)計(jì)參數(shù)0102項(xiàng)目設(shè)計(jì)計(jì)算機(jī)名IP地址網(wǎng)關(guān)NAT地址映射PC154/24Server54/24PC254/24~0PC354/24
序號(hào)接口子網(wǎng)號(hào)接口IP地址AR1GE0/0/0/2454GE0/0/1/24Serial4/0/0/24AR2Serial4/0/0/241.1.1..2Serial4/0/1/30AR3Serial4/0/0/30GE0/0/0/245404PART010203項(xiàng)目實(shí)施與驗(yàn)證單擊輸入你的正文4.1搭建項(xiàng)目環(huán)境01024.1.1配置計(jì)算機(jī)IP地址項(xiàng)目實(shí)施與驗(yàn)證4.1搭建項(xiàng)目環(huán)境01024.1.2配置AR2、AR3接口IP地址配置AR2接口IP地址,配置命令如下。<Huawei>sys[Huawei]undoinfo-centerenable[Huawei]intSerial4/0/0[Huawei-Serial4/0/0]ipadd24[Huawei-Serial4/0/0]quit[Huawei]intSerial4/0/1[Huawei-Serial4/0/1]ipadd30[Huawei-Serial4/0/1]quit項(xiàng)目實(shí)施與驗(yàn)證4.1搭建項(xiàng)目環(huán)境0102配置AR3接口IP地址,配置命令如下。。<Huawei>sys[Huawei]undoinfo-centerenable[Huawei]intSerial4/0/0[Huawei-Serial4/0/0]ipadd30[Huawei-Serial4/0/0]quit[Huawei]intinterfaceGigabitEthernet0/0/0[Huawei-GigabitEthernet0/0/0]ipadd5424[Huawei-GigabitEthernet0/0/0]quit項(xiàng)目實(shí)施與驗(yàn)證4.1搭建項(xiàng)目環(huán)境01024.1.3.配置OSPF協(xié)議在AR2配置OSPF協(xié)議。AR1配置命令如下。[Huawei]intLoopBack0[Huawei-LoopBack0]ipadd32[Huawei-LoopBack0]quit[Huawei]ospf1router-id[Huawei-ospf-1]area0[Huawei-ospf-1-area-]network55[Huawei-ospf-1-area-]network項(xiàng)目實(shí)施與驗(yàn)證4.2配置本地計(jì)算機(jī)與eNSP互聯(lián)0102按照本教材項(xiàng)目2中小型局域網(wǎng)搭建第2.5.3章節(jié),建立本地計(jì)算機(jī)與eNSP設(shè)備互聯(lián),這里不再贅述。項(xiàng)目實(shí)施與驗(yàn)證4.3配置路由器SSH01024.3.1.配置路由器AR1遠(yuǎn)程登錄IP地址,配置命令如下。<Huawei>sys[Huawei]undoinfo-centerenable[Huawei]sysnameAR1[AR1]interfaceGigabitEthernet0/0/1[AR1-GigabitEthernet0/0/1]ipadd24[AR1-GigabitEthernet0/0/1]q[AR1-ui-vty0-4]authentication-modeaaa[AR1-ui-vty0-4]protocolinboundssh[AR1-ui-vty0-4]return項(xiàng)目實(shí)施與驗(yàn)證4.3配置路由器SSH01024.3.2.AR1使能SSH功能,配置AAA認(rèn)證模式,創(chuàng)建SSH用戶名huawei、密碼huawei@123及管理權(quán)限,配置命令如下。[AR1]stelnetserverenable[AR1]aaa[AR1-aaa]local-userhuaweiprivilegelevel15[AR1-aaa]local-userhuaweipasswordcipherhuawei@123[AR1-aaa]local-userhuaweiservice-typessh[AR1-aaa]q[AR1]user-interfacevty04[AR1-ui-vty0-4]authentication-modeaaa[AR1-ui-vty0-4]protocolinboundssh[AR1-ui-vty0-4]return項(xiàng)目實(shí)施與驗(yàn)證4.4編寫運(yùn)行Python文件01024.4.1.編寫Python代碼實(shí)現(xiàn)OSPF配置編寫AR1接口配置腳本文件,文件名為接口配置.py,具體代碼如下。項(xiàng)目實(shí)施與驗(yàn)證importparamikoimporttime
host=""username="huawei"password="huawei@123"
client=paramiko.SSHClient()client.set_missing_host_key_policy(paramiko.AutoAddPolicy())client.connect(hostname=host,username=username,password=password)print('Successfullyconnectto'+host)
commend=client.invoke_shell()commend.send('sys\n')commend.send('interfaceSerial4/0/0\n')commend.send('ipadd\n')commend.send('interfaceGigabitEthernet0/0/0\n')commend.send('ipadd54\n')commend.send('return\n')commend.send('save\n')
time.sleep(3)output=commend.recv(65535)print(output.decode("ascii"))
client.close()4.4編寫運(yùn)行Python文件01024.4.2.編寫AR1的OSPF配置腳本文件,文件名為OSPF.py,具體代碼如下。項(xiàng)目實(shí)施與驗(yàn)證importparamikoimporttime
host=""username="huawei"password="huawei@123"
client=Paramiko.SSHClient()client.set_missing_host_key_policy(Paramiko.AutoAddPolicy())client.connect(hostname=host,username=username,password=password)print('Successfullyconnectto'+host)
commend=client.invoke_shell()commend.send('sys\n')commend.send('interfaceSerial4/0/0\n')commend.send('ipadd\n')commend.send('interfaceGigabitEthernet0/0/0\n')commend.send('ipadd54\n')commend.send('q\n')commend.send('ospf1router-id\n')commend.send('area0\n')commend.send('network55\n')commend.send('network55\n')
time.sleep(3)output=commend.recv(65535)print(output.decode("ascii"))
client.close()4.4編寫運(yùn)行Python文件01024.4.3.3.編寫Python代碼實(shí)現(xiàn)NAT配置編寫AR1的NAT配置腳本文件,文件名為NAT.py,具體代碼如下。項(xiàng)目實(shí)施與驗(yàn)證importparamikoimporttime
host=""username="huawei"password="huawei@123"
client=Paramiko.SSHClient()client.set_missing_host_key_policy(Paramiko.AutoAddPolicy())client.connect(hostna
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度海綿城市建設(shè)項(xiàng)目工程總承包及技術(shù)支持合同3篇
- 皂河灌溉泵站課程設(shè)計(jì)
- 2024年物流運(yùn)輸合同-設(shè)備搬遷版2篇
- 2025年度安全生產(chǎn)培訓(xùn)與考核合同2篇
- 2024年電信設(shè)備運(yùn)營(yíng)管理合同3篇
- 2025版加油站專用加油車租賃及品牌形象塑造合同3篇
- 2025版汽車零配件電商運(yùn)輸合作協(xié)議2篇
- 2025版高鐵站廣告牌匾施工與廣告位租賃合同3篇
- 承德應(yīng)用技術(shù)職業(yè)學(xué)院《專業(yè)論文寫作與指導(dǎo)》2023-2024學(xué)年第一學(xué)期期末試卷
- 2024年電商合作經(jīng)營(yíng)合同3篇
- GM∕T 0018-2012 密碼設(shè)備應(yīng)用接口規(guī)范
- 化學(xué)專業(yè)詞匯大全
- 醫(yī)院培訓(xùn)PPT課件:醫(yī)療服務(wù)意識(shí)
- PCS-PC簡(jiǎn)單使用方法
- 關(guān)于更換公務(wù)用車的請(qǐng)示
- 室分工程施工組織設(shè)計(jì)
- 薄膜衰減片的仿真設(shè)計(jì)
- 塔塔里尼調(diào)壓器FLBM5介紹.ppt
- 國(guó)家開放大學(xué)畢業(yè)生登記表
- CCC例行檢驗(yàn)和確認(rèn)檢驗(yàn)程序
- 初中物理競(jìng)賽教程(基礎(chǔ)篇)第16講比熱容
評(píng)論
0/150
提交評(píng)論