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

    文章

    35800

    浏览量

    260731
  • 交换机
    +关注

    关注

    23

    文章

    2870

    浏览量

    103927
  • 模拟器
    +关注

    关注

    2

    文章

    992

    浏览量

    45381

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

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

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

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

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

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

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

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

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

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

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

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

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

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

    工业级交换机选型指南

    在工业自动化和物联网应用中,工业级交换机是不可或缺的网络设备。它不仅需要具备高度的稳定性和可靠性,还需要适应各种恶劣的环境条件。但对于初次接触工业级交换机的用户来说,选型可能会显得有些复杂。本文将为
    的头像 发表于 04-17 16:38 1083次阅读
    工业级<b class='flag-5'>交换机</b>选型指南

    交换机和分交换机的连接光纤接口是否是lc

    等。具体选择哪种接口,通常需要根据以下因素进行考虑: 设备兼容性:不同品牌和型号的交换机可能支持不同的光纤接口类型。因此,在选择接口时,需要确保主交换机和分交换机之间的接口类型兼容。
    的头像 发表于 04-15 10:42 791次阅读

    POE交换机接口详解

    在现代网络设备中,PoE(以太网供电)技术已成为不可或缺的一部分。PoE交换机接口不仅能传输数据,还能通过同一条网线为终端设备供电,有效简化布线,降低成本,并提升网络部署效率。本文将全面解析PoE
    发表于 03-27 17:17

    如何实现POE交换机串联?

    通过级联方式扩展端口数量,满足更多设备的接入需求。 集中管理 :多个POE交换机串联后可实现统一管理与供电控制,简化运维。 POE交换机串联所需工具 在进行串联之前,需
    发表于 03-25 19:10

    PoE交换机如何助力智慧城市基础设施建设?

    监测空气质量、噪声水平和气象条件。PoE交换机为这些传感提供稳定的电源和数据连接,确保数据持续收集和分析,从而帮助优化城市环境质量。 公共Wi-Fi 提供稳定的公共Wi-Fi是智慧城市的重要
    发表于 03-25 10:20

    PoE交换机在安防监控系统中的关键作用

    轻松添加更多摄像头或设备,而无需对基础设施进行大规模改造。 通过使用PoE交换机,安全基础设施可以轻松适应不断变化的需求并跟上技术进步,而不受传统供电方法的相关限制和阻碍。 无缝数据传输
    发表于 03-24 16:41

    PoE交换机与非PoE交换机的比较:两者能否协同工作?

    ,许多人仍然存在疑问:PoE交换机可以与非PoE交换机一起使用吗?PoE交换机可以接非PoE设备吗? 什么是非PoE设备? 非PoE设备指的是不通过网线获取电力的设备,而是依赖交流或直
    发表于 03-21 19:20

    华为稳居中国多速率交换机市场份额第一

    近日,全球领先的IT市场研究和咨询公司IDC发布《中国以太网交换机市场季度跟踪报告,2024 Q3》。报告显示,华为高品质万兆多速率交换机以优异的产品竞争力,稳居中国多速率交换机市场份
    的头像 发表于 12-19 15:07 1279次阅读

    交换机与集线器的优缺点 如何监控交换机流量

    交换机与集线器是网络中常见的两种设备,它们各自具有独特的优缺点。以下是对这两种设备的优缺点以及如何监控交换机流量的分析: 一、交换机与集线器的优缺点
    的头像 发表于 12-12 18:22 2321次阅读

    交换机与路由的区别 交换机的基本工作原理

    交换机与路由的区别 1. 工作层次不同 交换机 :工作在OSI模型的第二层,即数据链路层。它主要负责在局域网内部进行数据帧的转发。 路由
    的头像 发表于 12-12 17:24 3687次阅读