0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

通過(guò)napalm-huawei-vrp模塊對(duì)華為交換機(jī)信息進(jìn)行分析(ENSP模擬器)

網(wǎng)絡(luò)技術(shù)干貨圈 ? 來(lái)源:網(wǎng)絡(luò)技術(shù)干貨圈 ? 2024-01-14 09:25 ? 次閱讀

NAPALM概述:

NAPALM作為python的第三方模塊,其依賴(lài)于Netmiko,但在使用時(shí)不需要單獨(dú)導(dǎo)入Netmiko。

NAPALM的主要作用是將show或者display顯示的結(jié)果轉(zhuǎn)換為有序的結(jié)構(gòu)類(lèi)型(方便使用python進(jìn)行處理分析),類(lèi)似于textfsm和ntc-templates;同時(shí),NAPALM還可以對(duì)網(wǎng)絡(luò)設(shè)備進(jìn)行配置,保存等操作。

NAPALM的最大缺點(diǎn)是,目前僅支持國(guó)外的主流廠商:思科、Arista、Juniper,對(duì)國(guó)內(nèi)的設(shè)備的操作系統(tǒng)并不支持。

napalm-huawei-vrp:

github地址:

https://github.com/napalm-automation-community/napalm-huawei-vrp

napalm-huwei-vrp模塊作為NAPALM模塊的補(bǔ)充,主要是增加了支持華為S系列園區(qū)網(wǎng)交換機(jī)驅(qū)動(dòng),支持S5700,S6700等的功能:

截止于2021年6月,本模塊支持的功能如下:

  1. load_merge_candidate(): 加載給定的配置文件
  2. compare_config(): 比較候選配置(加載的配置)和當(dāng)前運(yùn)行配置,并顯示不同點(diǎn)
  3. discard_config():刪除加載的配置文件
  4. commit_config():執(zhí)行加載的配置文件到設(shè)備
  5. get_facts(): 獲取設(shè)備基礎(chǔ)信息
  6. cli(): 發(fā)送任何命令到設(shè)備中
  7. get_lldp_neighbors(): 獲取LLDP鄰居信息
  8. get_config(): 獲取配置信息
  9. is_alive(): 返回連接狀態(tài)的標(biāo)志
  10. ping(): 從設(shè)備中ping遠(yuǎn)端設(shè)備
  11. get_arp_table(): 獲取設(shè)備APR表
  12. get_mac_address_table(): 獲取設(shè)備MAC地址表
  13. get_interfaces(): 獲取接口信息
  14. get_interfaces_ip(): 獲取接口IP信息
  15. get_interfaces_counters(): 獲取接口統(tǒng)計(jì)信息

其他功能正在逐步開(kāi)發(fā)。

napalm-huawei-vrp安裝:

pip3 install napalm 
pip3 install napalm-huawei-vrp

實(shí)驗(yàn)測(cè)試:

實(shí)驗(yàn)環(huán)境: ENSP,IP地址規(guī)劃如下,通告cloud1,保證運(yùn)行python代碼的設(shè)備能夠ping通交換機(jī)。
bdfcedf8-b270-11ee-8b88-92fbcf53809c.png

實(shí)驗(yàn)?zāi)康模?/strong> 檢查設(shè)備的連通性,如果可以SSH(netmiko)登陸設(shè)備,則將設(shè)備標(biāo)準(zhǔn)配置和當(dāng)前配置進(jìn)行對(duì)比,如果有改變,則記錄更改的信息。

步驟一: SW1-SW5上已經(jīng)配置完了SSH,其中SW2和SW4無(wú)法正常通信。
交換機(jī)命令:

#創(chuàng)建秘鑰
[sw2]dsalocal-key-paircreate

##配置SSH認(rèn)證類(lèi)型(密碼/其他)
[sw2]sshuserprinauthentication-typepassword
[sw2]sshuserprinservice-typestelnet
[sw2]stelnetserverenable

##配置認(rèn)證模式
[sw2]user-interfacevty04
[sw2-ui-vty0-4]authentication-modeaaa//配置認(rèn)證模式
[sw2-ui-vty0-4]protocolinboundssh//允許ssh連接虛擬終端

##配置本地用戶(hù)信息
[sw2]aaa
[sw2-aaa]local-userprinpasswordcipherHuawei@123
[sw2-aaa]local-userprinprivilegelevel15
[sw2-aaa]local-userprinservice-typessh

步驟二: 在腳本運(yùn)行的同一目錄下,保存需要檢查的配置文件信息(可以?xún)H保留自己需要檢查的部分配置信息):
be0abfa0-b270-11ee-8b88-92fbcf53809c.png
步驟三: 修改設(shè)備當(dāng)前運(yùn)行的部分配置文件,做測(cè)試:

  1. SW1將設(shè)備名稱(chēng)修改為SW_NEW;
  2. 將SW3的Loopback0接口的IP地址undo掉;
  3. SW5配置保持不變。

步驟四: 編寫(xiě)napalm_huawei.py腳本:

fromnapalmimportget_network_driver
fromdatetimeimportdatetime
importtime

driver=get_network_driver('huawei_vrp')
device_ip=['192.168.0.11','192.168.0.22','192.168.0.33','192.168.0.44','192.168.0.55']
active_devices=[]

whileTrue:
#找到能夠連接的設(shè)備
foripindevice_ip:
try:
SW=driver(ip,'prin','Huawei@123')
SW.open()
#如果沒(méi)有異常,則將IP地址添加到active_devices列表中
active_devices.append(ip)
exceptExceptionase:
print(ip+'連接失敗')

#查看配置有無(wú)更改,如果有更改,記錄更改設(shè)備的IP地址,更改時(shí)間,更改的內(nèi)容到記事本中
foripinactive_devices:
SW=driver(ip,'prin','Huawei@123')
SW.open()
#加載需要對(duì)比的文件
SW.load_merge_candidate(filename='napalm_config_'+ip+'.cfg')
#對(duì)加載的配置文件和當(dāng)前運(yùn)行配置進(jìn)行比較
differences=SW.compare_config()
iflen(differences)>0:
#打印出給出標(biāo)準(zhǔn)配置對(duì)比當(dāng)前運(yùn)行配置有變動(dòng)的地方
print(ip+':'+differences)
#獲取當(dāng)前時(shí)間的字符串
now=datetime.now().strftime("%Y-%m-%d_%H-%M-%S")
#將檢查配置文件寫(xiě)入記事本中
withopen('change_config','a')asf:
f.write(now+'
	'+ip+':
	'+differences+'
')
#如果配置了下面一條代碼,則將設(shè)備的配置信息按照提供的配置文件進(jìn)行還原
#SW.commit_config()
else:
print(ip+':'+'配置沒(méi)有修改')
SW.discard_config()
#每隔一小時(shí)運(yùn)行一次腳本
time.sleep(3600)


測(cè)試結(jié)果:
pycharm運(yùn)行結(jié)果:
be1258fa-b270-11ee-8b88-92fbcf53809c.png

文本記錄信息:
be295730-b270-11ee-8b88-92fbcf53809c.png


聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 華為
    +關(guān)注

    關(guān)注

    215

    文章

    34200

    瀏覽量

    250651
  • 交換機(jī)
    +關(guān)注

    關(guān)注

    20

    文章

    2600

    瀏覽量

    98896
  • 模擬器
    +關(guān)注

    關(guān)注

    2

    文章

    862

    瀏覽量

    43087

原文標(biāo)題:通過(guò)napalm-huawei-vrp模塊對(duì)華為交換機(jī)信息進(jìn)行分析(ENSP模擬器)

文章出處:【微信號(hào):網(wǎng)絡(luò)技術(shù)干貨圈,微信公眾號(hào):網(wǎng)絡(luò)技術(shù)干貨圈】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    華為交換機(jī)常用命令大全

    華為作為全球領(lǐng)先的信息與通信解決方案供應(yīng)商,其交換機(jī)產(chǎn)品在全球市場(chǎng)占據(jù)了重要位置。華為交換機(jī)以高性能、高可靠性和豐富的功能著稱(chēng),廣泛應(yīng)用于企
    的頭像 發(fā)表于 08-13 16:38 ?468次閱讀

    華為交換機(jī)的各種接口模式

    華為交換機(jī)接口模式種類(lèi)繁多,功能強(qiáng)大,能夠滿足不同網(wǎng)絡(luò)環(huán)境下的需求。本文將詳細(xì)介紹華為交換機(jī)的各種接口模式,包括以太網(wǎng)接口、光纖接口、堆疊接口、管理接口等,并深入
    的頭像 發(fā)表于 08-12 18:04 ?629次閱讀

    使用Python腳本備份華為交換機(jī)的配置信息

    在現(xiàn)代網(wǎng)絡(luò)管理中,備份交換機(jī)的配置信息是一項(xiàng)至關(guān)重要的任務(wù)。備份可以確保在交換機(jī)發(fā)生故障或配置錯(cuò)誤時(shí),能夠迅速恢復(fù)到之前的工作狀態(tài)。本文將詳細(xì)介紹如何使用Python腳本備份華為
    的頭像 發(fā)表于 08-12 17:50 ?426次閱讀
    使用Python腳本備份<b class='flag-5'>華為</b><b class='flag-5'>交換機(jī)</b>的配置<b class='flag-5'>信息</b>

    網(wǎng)管型交換機(jī)和非網(wǎng)管型交換機(jī)的區(qū)別

    管理軟件進(jìn)行配置和管理。它通常具有更多的功能和更高的性能,可以滿足大型網(wǎng)絡(luò)的需求。 非網(wǎng)管型交換機(jī)(Unmanaged Switch)是一種沒(méi)有網(wǎng)絡(luò)管理功能的交換機(jī),不能通過(guò)軟件
    的頭像 發(fā)表于 08-05 15:41 ?1461次閱讀

    帶光口的交換機(jī)和插光模塊交換機(jī)有什么區(qū)別?

    帶光口的交換機(jī)和插光模塊交換機(jī)在功能上有一定的相似性,但它們?cè)谠O(shè)計(jì)、用途和性能方面存在一些關(guān)鍵的區(qū)別。
    的頭像 發(fā)表于 05-28 14:59 ?1695次閱讀

    工業(yè)交換機(jī)如何進(jìn)行網(wǎng)絡(luò)診斷

    工業(yè)交換機(jī)在網(wǎng)絡(luò)中扮演著重要角色,其穩(wěn)定運(yùn)行對(duì)于整個(gè)工業(yè)網(wǎng)絡(luò)的正常運(yùn)轉(zhuǎn)至關(guān)重要。當(dāng)工業(yè)交換機(jī)出現(xiàn)網(wǎng)絡(luò)故障時(shí),網(wǎng)絡(luò)診斷就顯得尤為重要。網(wǎng)絡(luò)診斷是通過(guò)對(duì)工業(yè)交換機(jī)的狀態(tài)
    的頭像 發(fā)表于 04-09 17:42 ?355次閱讀
    工業(yè)<b class='flag-5'>交換機(jī)</b>如何<b class='flag-5'>進(jìn)行</b>網(wǎng)絡(luò)診斷

    華為olt端口通過(guò)乘光網(wǎng)絡(luò)GPON stick sfp與MlkroTik交換機(jī)的連接

    華為交換機(jī)
    乘光網(wǎng)絡(luò)
    發(fā)布于 :2024年03月22日 17:52:48

    交換機(jī)的作用與功能 交換機(jī)的基本配置

    交換機(jī)(Switch)是計(jì)算機(jī)網(wǎng)絡(luò)中常見(jiàn)的一種數(shù)據(jù)通信設(shè)備,它用于在局域網(wǎng)(LAN)內(nèi)的不同設(shè)備之間進(jìn)行數(shù)據(jù)的轉(zhuǎn)發(fā)和交換交換機(jī)通過(guò)學(xué)習(xí)和轉(zhuǎn)
    的頭像 發(fā)表于 02-04 09:17 ?1.4w次閱讀

    華為交換機(jī)如何查看端口信息和光模塊信息?

    華為交換機(jī)查看端口狀態(tài)和光模塊信息的方法和詳細(xì)的操作步驟如下
    的頭像 發(fā)表于 01-30 13:54 ?9024次閱讀
    <b class='flag-5'>華為</b><b class='flag-5'>交換機(jī)</b>如何查看端口<b class='flag-5'>信息</b>和光<b class='flag-5'>模塊</b><b class='flag-5'>信息</b>?

    匯聚交換機(jī)和核心交換機(jī)區(qū)別

    交換機(jī)的區(qū)別。 一、定義和作用 匯聚交換機(jī):匯聚交換機(jī)是部署在網(wǎng)絡(luò)邊緣的設(shè)備,主要用于連接用戶(hù)設(shè)備(例如電腦、服務(wù)、IP電話等)與核心交換機(jī)
    的頭像 發(fā)表于 01-22 14:32 ?3410次閱讀

    交換機(jī)級(jí)聯(lián)是什么意思?交換機(jī)級(jí)聯(lián)和堆疊的區(qū)別

    交換機(jī)的級(jí)聯(lián)是指兩臺(tái)或兩臺(tái)以上的交換機(jī)通過(guò)一定的方式相互連接,根據(jù)需要,多臺(tái)交換機(jī)可以以多種方式進(jìn)行級(jí)聯(lián)。在較大的局域網(wǎng)例如園區(qū)網(wǎng)(校園網(wǎng))
    的頭像 發(fā)表于 12-16 17:01 ?2066次閱讀

    交換機(jī)堆疊是什么意思?交換機(jī)堆疊的作用

    模塊和堆疊電纜進(jìn)行連接??啥询B的交換機(jī)性能指標(biāo)中有一個(gè)“最大可堆疊數(shù)”的參數(shù),它是指一個(gè)堆疊單元中所能堆疊的最大交換機(jī)數(shù),代表一個(gè)堆疊單元中所能提供的最大端口密度。
    的頭像 發(fā)表于 12-15 17:39 ?3012次閱讀

    華為ensp模擬器vlan配置命令

    華為eNSP(Enterprise Network Simulation Platform)是華為公司開(kāi)發(fā)的一款網(wǎng)絡(luò)模擬器軟件,可以模擬真實(shí)
    的頭像 發(fā)表于 12-08 14:04 ?3741次閱讀

    核心交換機(jī)和普通交換機(jī)的區(qū)別?

    核心交換機(jī)和普通交換機(jī)的區(qū)別? 核心交換機(jī)(Core Switch)是網(wǎng)絡(luò)中的重要組成部分,與普通交換機(jī)(Regular Switch)有許多區(qū)別。在這篇文章中,我將詳細(xì)介紹核心
    的頭像 發(fā)表于 12-07 14:39 ?1420次閱讀

    交換機(jī)、集線器和路由的區(qū)別

    交換機(jī)(Switch)意為“開(kāi)關(guān)”,是一種用于電(光)信號(hào)轉(zhuǎn)發(fā)的網(wǎng)絡(luò)設(shè)備。它可以為接入交換機(jī)的任意兩個(gè)網(wǎng)絡(luò)節(jié)點(diǎn)提供獨(dú)享的電信號(hào)通路。從廣義上來(lái)分析,在通信系統(tǒng)里對(duì)于信息
    發(fā)表于 11-27 11:00 ?2848次閱讀
    <b class='flag-5'>交換機(jī)</b>、集線器和路由<b class='flag-5'>器</b>的區(qū)別