netmiko 自动判断设备类型python_Python模块-Netmiko入门

Netmiko是一个Python库,用于自动化多种网络设备的操作,如Cisco、Juniper等。它支持定期测试、有限测试和实验性平台。本文介绍了如何安装Netmiko、创建设备字典并执行配置命令,包括进入配置模式、发送命令、保存配置等操作。
摘要由CSDN通过智能技术生成

支持平台

Netmiko支持各种设备。这些设备分为三类:

定期测试

有限测试

实验性

定期测试意味着我们尝试在每个Netmiko版本之前针对该套设备运行完整的测试套件。

有限测试意味着在某个时间点针对该平台上的测试通过的配置和显示操作系统测试,因此,我们可以合理地认为驱动程序通常应该可以工作。

实验意味着我们检查了PR,并且驱动程序似乎是合理的,但是关于驱动程序是否完全通过单元测试或其可靠性如何,我们没有足够的数据。

支持平台如下:

定期测试

Arista vEOS

Cisco ASA

Cisco IOS

Cisco IOS-XE

Cisco IOS-XR

Cisco NX-OS

Cisco SG300

HP ProCurve

Juniper Junos

Linux

有限测试

Alcatel AOS6/AOS8

Apresia Systems AEOS

Calix B6

Cisco AireOS (Wireless LAN Controllers)

CloudGenix ION

Dell OS9 (Force10)

Dell OS10

Dell PowerConnect

Extreme ERS (Avaya)

Extreme VSP (Avaya)

Extreme VDX (Brocade)

Extreme MLX/NetIron (Brocade/Foundry)

HPE Comware7

Huawei

IP Infusion OcNOS

Juniper ScreenOS

Mellanox

MikroTik RouterOS

MikroTik SwitchOS

NetApp cDOT

Nokia/Alcatel SR OS

OneAccess

Palo Alto PAN-OS

Pluribus

Ruckus ICX/FastIron

Ruijie Networks

Ubiquiti EdgeSwitch

Vyatta VyOS

实验室

A10

Accedian

Aruba

Ciena SAOS

Citrix Netscaler

Cisco Telepresence

Check Point GAiA

Coriant

Dell OS6

Dell EMC Isilon

Eltex

Enterasys

Endace

Extreme EXOS

Extreme Wing

Extreme SLX (Brocade)

F5 TMSH

F5 Linux

Fortinet

MRV Communications OptiSwitch

MRV LX

QuantaMesh

Rad ETX

Versa Networks FlexVNF

安装

要安装netmiko,只需使用我们的pip:

$ pip install netmiko

Netmiko具有以下要求

Paramiko >= 2.4.3

scp >= 0.13.2

pyserial

textfsm

创建代表设备的字典

支持的device_types可以在ssh_dispatcher.py中找到,请参阅CLASS_MAPPER键。

from netmiko import ConnectHandler

cisco_881 = {

'device_type': 'cisco_ios',

'host': '10.10.10.10',

'username': 'test',

'password': 'password',

'port' : 8022, # optional, defaults to 22 'secret': 'secret', # optional, defaults to ''}

通过传入设备字典与设备建立SSH连接。

net_connect = ConnectHandler(**cisco_881)

执行show命令。

output = net_connect.send_command('show ip int brief')

print(output)

Interface IP-Address OK? Method Status Protocol

FastEthernet0 unassigned YES unset down down

FastEthernet1 unassigned YES unset down down

FastEthernet2 unassigned YES unset down down

FastEthernet3 unassigned YES unset down down

FastEthernet4 10.10.10.10 YES manual up up

Vlan1 unassigned YES unset down down

执行配置更改命令(将自动进入配置模式)

config_commands = [ 'logging buffered 20000',

'logging buffered 20010',

'no logging console' ]

output = net_connect.send_config_set(config_commands)

print(output)

pynet-rtr1#config term

Enter configuration commands, one per line. End with CNTL/Z.

pynet-rtr1(config)#logging buffered 20000

pynet-rtr1(config)#logging buffered 20010

pynet-rtr1(config)#no logging console

pynet-rtr1(config)#end

pynet-rtr1#

Netmiko常用方法:

net_connect.send_command()-在通道上发送命令,返回输出(基于模式)

net_connect.send_command_timing()-在通道上发送命令,返回输出(基于定时)

net_connect.send_config_set()-将配置命令发送到远程设备

net_connect.send_config_from_file()-发送从文件加载的配置命令

net_connect.save_config()-将运行配置保存到启动配置

net_connect.enable()-进入启用模式

net_connect.find_prompt()-返回当前路由器提示

net_connect.commit()-在Juniper和IOS-XR上执行提交操作

net_connect.disconnect()-关闭连接

net_connect.write_channel()-通道的低级写入

net_connect.read_channel()-通道的低级写入

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值