0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

通过napalm-huawei-vrp模块对华为交换机信息进行分析(ENSP模拟器)

网络技术干货圈 来源:网络技术干货圈 2024-01-14 09:25 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

NAPALM概述:

NAPALM作为python的第三方模块,其依赖于Netmiko,但在使用时不需要单独导入Netmiko。

NAPALM的主要作用是将show或者display显示的结果转换为有序的结构类型(方便使用python进行处理分析),类似于textfsm和ntc-templates;同时,NAPALM还可以对网络设备进行配置,保存等操作。

NAPALM的最大缺点是,目前仅支持国外的主流厂商:思科、Arista、Juniper,对国内的设备的操作系统并不支持。

napalm-huawei-vrp:

github地址:

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

napalm-huwei-vrp模块作为NAPALM模块的补充,主要是增加了支持华为S系列园区网交换机驱动,支持S5700,S6700等的功能:

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

  1. load_merge_candidate(): 加载给定的配置文件
  2. compare_config(): 比较候选配置(加载的配置)和当前运行配置,并显示不同点
  3. discard_config():删除加载的配置文件
  4. commit_config():执行加载的配置文件到设备
  5. get_facts(): 获取设备基础信息
  6. cli(): 发送任何命令到设备中
  7. get_lldp_neighbors(): 获取LLDP邻居信息
  8. get_config(): 获取配置信息
  9. is_alive(): 返回连接状态的标志
  10. ping(): 从设备中ping远端设备
  11. get_arp_table(): 获取设备APR表
  12. get_mac_address_table(): 获取设备MAC地址表
  13. get_interfaces(): 获取接口信息
  14. get_interfaces_ip(): 获取接口IP信息
  15. get_interfaces_counters(): 获取接口统计信息

其他功能正在逐步开发。

napalm-huawei-vrp安装:

pip3 install napalm 
pip3 install napalm-huawei-vrp

实验测试:

实验环境: ENSP,IP地址规划如下,通告cloud1,保证运行python代码的设备能够ping通交换机。
bdfcedf8-b270-11ee-8b88-92fbcf53809c.png

实验目的: 检查设备的连通性,如果可以SSH(netmiko)登陆设备,则将设备标准配置和当前配置进行对比,如果有改变,则记录更改的信息。

步骤一: SW1-SW5上已经配置完了SSH,其中SW2和SW4无法正常通信
交换机命令:

#创建秘钥
[sw2]dsalocal-key-paircreate

##配置SSH认证类型(密码/其他)
[sw2]sshuserprinauthentication-typepassword
[sw2]sshuserprinservice-typestelnet
[sw2]stelnetserverenable

##配置认证模式
[sw2]user-interfacevty04
[sw2-ui-vty0-4]authentication-modeaaa//配置认证模式
[sw2-ui-vty0-4]protocolinboundssh//允许ssh连接虚拟终端

##配置本地用户信息
[sw2]aaa
[sw2-aaa]local-userprinpasswordcipherHuawei@123
[sw2-aaa]local-userprinprivilegelevel15
[sw2-aaa]local-userprinservice-typessh

步骤二: 在脚本运行的同一目录下,保存需要检查的配置文件信息(可以仅保留自己需要检查的部分配置信息):
be0abfa0-b270-11ee-8b88-92fbcf53809c.png
步骤三: 修改设备当前运行的部分配置文件,做测试:

  1. SW1将设备名称修改为SW_NEW;
  2. 将SW3的Loopback0接口的IP地址undo掉;
  3. SW5配置保持不变。

步骤四: 编写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:
#找到能够连接的设备
foripindevice_ip:
try:
SW=driver(ip,'prin','Huawei@123')
SW.open()
#如果没有异常,则将IP地址添加到active_devices列表中
active_devices.append(ip)
exceptExceptionase:
print(ip+'连接失败')

#查看配置有无更改,如果有更改,记录更改设备的IP地址,更改时间,更改的内容到记事本中
foripinactive_devices:
SW=driver(ip,'prin','Huawei@123')
SW.open()
#加载需要对比的文件
SW.load_merge_candidate(filename='napalm_config_'+ip+'.cfg')
#对加载的配置文件和当前运行配置进行比较
differences=SW.compare_config()
iflen(differences)>0:
#打印出给出标准配置对比当前运行配置有变动的地方
print(ip+':'+differences)
#获取当前时间的字符串
now=datetime.now().strftime("%Y-%m-%d_%H-%M-%S")
#将检查配置文件写入记事本中
withopen('change_config','a')asf:
f.write(now+'
	'+ip+':
	'+differences+'
')
#如果配置了下面一条代码,则将设备的配置信息按照提供的配置文件进行还原
#SW.commit_config()
else:
print(ip+':'+'配置没有修改')
SW.discard_config()
#每隔一小时运行一次脚本
time.sleep(3600)


测试结果:
pycharm运行结果:
be1258fa-b270-11ee-8b88-92fbcf53809c.png

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


声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 华为
    +关注

    关注

    218

    文章

    36190

    浏览量

    262694
  • 交换机
    +关注

    关注

    23

    文章

    2930

    浏览量

    104882
  • 模拟器
    +关注

    关注

    2

    文章

    1024

    浏览量

    45836

原文标题:通过napalm-huawei-vrp模块对华为交换机信息进行分析(ENSP模拟器)

文章出处:【微信号:网络技术干货圈,微信公众号:网络技术干货圈】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    IDT Serial RapidIO 交换机特性对比分析

    )的 Serial RapidIO 交换机提供了多种型号,各有特点。下面将对 IDT 不同型号的 Serial RapidIO 交换机进行详细的特性对比分析。 文件下载: TSI578
    的头像 发表于 04-14 10:30 112次阅读

    华为园区交换机2025年度中国区市场份额第一

    近日,全球领先的IT市场研究和咨询公司IDC发布《中国以太网交换机市场跟踪报告,2025Q4》。报告显示,华为园区交换机以出色的产品竞争力,位列2025年年度中国园区交换机市场份额第一
    的头像 发表于 03-19 15:02 538次阅读

    电力行业国产化交换机主流品牌分析与选型指南

    随着能源安全战略的深入推进与关键信息基础设施自主可控的迫切要求,电力行业的网络设备国产化替代已成明确趋势。众多从业者在进行网络规划与升级时,常会探寻一个核心问题: 国产化交换机 哪些品牌在电力行业
    的头像 发表于 03-02 11:01 312次阅读
    电力行业国产化<b class='flag-5'>交换机</b>主流品牌<b class='flag-5'>分析</b>与选型指南

    SFP+光模块交换机四种搭配使用方式

    在企业网络部署、数据中心建设都离不开光模块交换机。光模块主要是用来将电信号与光信号进行转换,而交换机则是对光电信号起到转发作用。在众多光
    的头像 发表于 02-24 18:01 1731次阅读
    SFP+光<b class='flag-5'>模块</b>与<b class='flag-5'>交换机</b>四种搭配使用方式

    模块交换机:网络中的黄金搭档

    数字经济时代,数据传输效率与稳定性决定网络核心竞争力。光模块交换机作为网络核心硬件,形成“唇齿相依、协同共生”的紧密关联——光模块交换机突破传输限制的“延伸臂膀”,
    的头像 发表于 02-03 09:26 632次阅读

    交换机五种组网方式,彻底了解清楚

    不断的有朋友问到1000路监控点位用什么交换机合适?200路监控如何选择交换机?如何进行组网等?在选择交换机之前,我先要了解项目的组网框架,确实了组网框架,选择相关设备显得更加清楚。
    的头像 发表于 12-17 10:27 1206次阅读
    <b class='flag-5'>交换机</b>五种组网方式,彻底了解清楚

    Amphenol UbiSwitch Compact 11 Port Module:小身材大能量的以太网交换机模块

    UbiSwitch以太网交换机模块.pdf 一、产品概述 UbiSwitch模块集成了8个1GBASE - T端口和3个10G MAC端口,是一个模块化的板卡,需要与底板配合使用,以
    的头像 发表于 12-10 15:05 669次阅读

    工业以太网交换机与商用交换机的技术差异与应用场景分析

    在当今的工业自动化和网络通信领域,交换机作为网络基础设施的核心组件,扮演着至关重要的角色。然而,市场上存在两种主要类型的交换机:工业交换机和普通交换机。本文将详细探讨这两种
    的头像 发表于 09-23 14:33 1074次阅读

    ISM交换机使用RSTP协议组环网,环网内最多可以接入多少台交换机呢?

    ISM交换机使用RSTP协议组环网,环网内最多可以接入多少台交换机
    发表于 08-06 07:40

    Is交换机组成的环形网络中,当位于主控节点的Ism网管交换机故障后,为什么环网中其他交换机不受影响?

    当位于主控节点的交换机故障断掉,环网中其他交换机是如何保持正常运行的?或者说什么原理让环网其他交换机不受影响?
    发表于 08-06 06:46

    矿用本安型交换机和普通交换机的区别???

     在矿工老李的记忆里,那个闷热的下午始终挥之不去:监控画面突然中断,井下定位信号消失。当刺耳的警报划破矿区上空时,一切已太迟——1台普通交换机在瓦斯微渗环境中,因电路火花引发了连锁反应。这是血的教训
    的头像 发表于 07-31 12:06 832次阅读

    普通交换机和车载交换机的区别有哪些?怎么选?

    你可能知道 交换机 是一种网络设备,用于在计算机网络中连接多个设备(如计算机、服务、打印机等),并实现这些设备之间的数据交换。但是不同场景下交换机的效果千差万别,选错了 损失难以估计
    的头像 发表于 07-09 15:53 797次阅读
    普通<b class='flag-5'>交换机</b>和车载<b class='flag-5'>交换机</b>的区别有哪些?怎么选?

    什么是工业级交换机?工业交换机作用有哪些?

    对于企业、工厂等关键生产运营环境而言,选择价格低廉但性能不足的 普通交换机 ,将面临巨大的 运营中断 、 数据丢失 甚至 安全事故 的风险。了解并选择一款性能强悍适合的的工业交换机对生产经营都是
    的头像 发表于 07-07 16:25 1664次阅读

    认识光模块以及光模块交换机通信注意事项

    SFP代表小型可插拔光模块,也被称为mini-gbic(千兆接口转换)。以太网SFP光模块只是一个小型的模块化收发,插入到网络
    的头像 发表于 06-20 13:42 2641次阅读
    认识光<b class='flag-5'>模块</b>以及光<b class='flag-5'>模块</b>与<b class='flag-5'>交换机</b>通信注意事项

    工业交换机与普通交换机的区别:为什么工厂网络宁贵不省?

    在工业4.0和智能制造的浪潮下,工厂的每一台设备、每一处传感都成了网络中的“神经元”,而连接这些“神经元”的核心设备——工业交换机,却常被忽视。许多人会问:“工业交换机和普通交换机
    的头像 发表于 05-23 17:14 1626次阅读