使用netconf配置交换机(华为交换机netconf)

网友投稿 1746 2022-09-11


使用netconf配置交换机(华为交换机netconf)

1.什么是netconf?

NETCONF(Network Configuration Protocol,网络配置协议)是一种基于XML的网络管理协议,它提供了一种可编程的、对网络设备进行配置和管理的方法。用户可以通过该协议设置参数、获取参数值、获取统计信息等。 NETCONF报文使用XML格式,具有强大的过滤能力,而且每一个数据项都有一个固定的元素名称和位置,这使得同一厂商的不同设备具有相同的访问方式和结果呈现方式,不同厂商之间的设备也可以经过映射XML得到相同的效果,这使得它在第三方软件的开发上非常便利,很容易开发出在混合不同厂商、不同设备的环境下的特殊定制的网管软件。在这样的网管软件的协助下,使用NETCONF功能会使网络设备的配置管理工作,变得更简单更高效

特点: a.基于 RPC,增加了事务支持 b.优化查询功能,增加过滤查询方式 c.拓展性强,在其协议内部分为 4 层,各层之间相互独立 d.更好的将配置和状态数据解耦,并区分状态数据(candidate, running, startup) e.易使用,结合提供的 API,实现可编程性的网络操作 f.安全性更好,在传输层可选用 SSH,TLS 协议等。

a.Manager 请求 NETCONF 中 SSH 子系统建立连接。 b.Agent 回复 Hello 消息,包含本身支持的特性和能力。 c.Manager 告知 Agent 自己所支持的特性和能力。 d.Manager 开始发送 RPC 操作请求。 e.Agent 回复 RPC 请求操作结果。

2.netconf有什么用?

a.配置自动化下发时的校验,xml 是基于yang模型约束的,设备会基于[yang模型](https://cnblogs.com/michael9/p/14481135.html)校验xml配置是否合法。 b.提供网络配置的接口,更利于开发自动化工具或平台。

3.怎么使用netconf

a.实验环境搭建:

H3C_Comware7 Python3.7 ncclient-0.6.10 Win10

b.H3C netconf xml API

H3C《NETCONF XML API》 下载 链接: 提取码:ol9a 如果链接失效,请底部留言,笔者会不定时进行查看。

c.交换机开启ssh 和 netconf

# local-user admin class manage password simple admin service-type ssh authorization-attribute user-role network-admin authorization-attribute user-role network-operator # line vty 0 14 authentication-mode scheme user-role network-operator # netconf ssh server enable netconf ssh server port 830 #

d.代码调用

from ncclient import manager hostname = '172.16.1.100' netconf_port = 830 username = 'admin' password = 'admin' vendor = 'h3c' # 实例化一个netconf连接 manager_connect = manager.connect( host=hostname, port=netconf_port, username=username, password=password, hostkey_verify=False, device_params={'name': vendor}, allow_agent=False, look_for_keys=False ) #获取交换机的接口和MAC表项 request_xml = ''' ''' get_mac = manager_connect.get(filter=('subtree', request_xml)) manager_connect.close_session() print(get_mac) ############################################ # 返回结果 是一行字符,下面是我格式化过了的 # # 可以通过python的xml库可以将xml转化为json # ############################################ 1 GigabitEthernet1/0/1 1 2 GigabitEthernet1/0/2 2 3 GigabitEthernet1/0/3 3 4 GigabitEthernet1/0/4 4 5 GigabitEthernet1/0/5 5 6 GigabitEthernet1/0/6 6 7 GigabitEthernet1/0/7 7 8 GigabitEthernet1/0/8 8 9 GigabitEthernet1/0/9 9 10 GigabitEthernet1/0/10 10 11 GigabitEthernet1/0/11 11 12 GigabitEthernet1/0/12 12 13 GigabitEthernet1/0/13 13 14 GigabitEthernet1/0/14 14 15 GigabitEthernet1/0/15 15 16 GigabitEthernet1/0/16 16 17 GigabitEthernet1/0/17 17 18 GigabitEthernet1/0/18 18 19 GigabitEthernet1/0/19 19 20 GigabitEthernet1/0/20 20 21 GigabitEthernet1/0/21 21 22 GigabitEthernet1/0/22 22 23 GigabitEthernet1/0/23 23 24 GigabitEthernet1/0/24 24 25 GigabitEthernet1/0/25 25 26 GigabitEthernet1/0/26 26 27 GigabitEthernet1/0/27 27 28 GigabitEthernet1/0/28 28 29 GigabitEthernet1/0/29 29 30 GigabitEthernet1/0/30 30 31 GigabitEthernet1/0/31 31 32 GigabitEthernet1/0/32 32 33 GigabitEthernet1/0/33 33 34 GigabitEthernet1/0/34 34 35 GigabitEthernet1/0/35 35 36 GigabitEthernet1/0/36 36 37 GigabitEthernet1/0/37 37 38 GigabitEthernet1/0/38 38 39 GigabitEthernet1/0/39 39 40 GigabitEthernet1/0/40 40 41 GigabitEthernet1/0/41 41 42 GigabitEthernet1/0/42 42 43 GigabitEthernet1/0/43 43 44 GigabitEthernet1/0/44 44 45 GigabitEthernet1/0/45 45 46 GigabitEthernet1/0/46 46 47 GigabitEthernet1/0/47 47 48 GigabitEthernet1/0/48 48 49 Ten-GigabitEthernet1/0/49 49 50 Ten-GigabitEthernet1/0/50 50 51 Ten-GigabitEthernet1/0/51 51 52 Ten-GigabitEthernet1/0/52 52 631 M-GigabitEthernet0/0/0 631 632 NULL0 633 InLoopBack0 634 LoopBack111 636 Vlan-interface1 637 Vlan-interface99 2 FE-BB-FE-BB-FE-BB 2 3 true 99 00-3C-10-66-0A-98 48 2 true 99 00-45-1D-79-B3-39 48 2 true 99 00-8E-73-E6-AC-19 48 2 true 99 00-8E-73-E6-AC-40 48 2 true 99 08-5B-0E-2F-62-6A 48 2 true 99 0C-11-67-9A-0E-98 48 2 true 99 0C-11-67-9A-0E-C0 48 2 true 99 2C-33-11-40-32-80 48 2 true 99 2C-33-11-6E-C3-00 48 2 true 99 40-A6-E8-8A-0A-B9 48 2 true 99 44-A8-42-05-7E-FD 48 2 true 99 4C-E9-E4-2E-B8-1A 48 2 true 99 70-4C-A5-EB-40-BB 48 2 true 99 70-EA-1A-AD-5C-6C 48 2 true 99 74-A2-E6-66-5A-39 48 2 true 99 78-2C-29-2B-2B-90 48 2 true 99 78-2C-29-2B-67-F0 48 2 true 99 78-2C-29-2B-85-37 48 2 true 99 78-2C-29-44-C5-CD 48 2 true 99 78-2C-29-44-D9-4D 48 2 true 99 78-2C-29-44-DE-95 48 2 true 99 78-2C-29-44-DF-CD 48 2 true 99 78-2C-29-AD-3F-DE 48 2 true 99 7C-1E-06-24-41-A5 48 2 true 99 7C-1E-06-24-45-B5 48 2 true 99 CC-98-91-03-DE-B9 48 2 true 99 CC-98-91-A4-71-39 48 2 true 99 CC-98-91-A4-C9-39 48 2 true 99 CC-98-91-A4-F6-39 48 2 true 99 CC-98-91-C3-7F-B9 48 2 true 99 CC-98-91-C3-9E-B9 48 2 true 99 CC-98-91-C3-B0-B9 48 2 true 99 CC-98-91-DA-2A-B9 48 2 true 99 CC-98-91-DA-39-39 48 2 true 99 DC-DA-80-61-94-89 48 2 true 99 DC-DA-80-61-A0-89 48 2 true 99 DC-DA-80-61-A0-98 48 2 true 99 F8-A0-3D-40-B8-1D 48 2 true 99 F8-A0-3D-40-C1-6F 48 2 true 99 F8-A0-3D-40-C1-7D 48 2 true


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:IP网络性能测试工具——Renix Perf
下一篇:Java 中的抽象介绍
相关文章

 发表评论

暂时没有评论,来抢沙发吧~