Python netmiko 管理 network devices 简例

netmiko是python中可用于network device 备份的库,目前支持的设备以下:
As of June 2015, Netmiko has support for the following platforms:
Cisco IOS
Cisco IOS-XE
Cisco ASA
Cisco NX-OS
Cisco IOS-XR
Cisco WLC (limited testing)
Arista EOS
HP ProCurve
HP Comware (limited testing)
Juniper Junos
Brocade VDX (limited testing)
F5 LTM (experimental)
Huawei (limited testing)

下面是一段使用netmiko库登录ciscorouter 3360 的python代码html

from netmiko import ConnectHandler

#要链接设备的信息,顺序不重要python

cisco = {
    'device_type':'cisco_ios',
    'ip':'192.168.60.222',
    'username':'admin',
    'password': 'password',
    'secret':'google',   #enable password
}

#进行ssh链接ios

connect=ConnectHandler(**cisco)     #对于两个*号,个人理解是:ConnectHandler()函数须要在cisco字典里面找"两"个东西,key和对应的value,因此用两个*星号

#若是enable有密码须要在配置链接的时候配置,例如 'secret':'google' ,输入connect.send_command('enable') 是无效的ssh

connect.enable()   #至关于进入特权模式
output_1 = connect.send_command('show run')
print("show run 的输出以下:\n"+output_1)
print("----------------------")

#输入connect.send_command('config ter')是进不了配置模式的,须要配置直接输入connect.send_config_set('cli')ide

out_put_2 = connect.send_config_set('ip route 0.0.0.0 0.0.0.0 192.168.60.129')  #至关于输入特权模式 + 输入配置命令
print("配置默认路由后的输出:\n\n"+out_put_2+"\n\n")          #输出配置过程

#查看上述的配置是否生效函数

show_route = connect.send_command('show ip route') #send_command('cli')命令执行的结果只能在本级,不能exit或者 enable、configure terminal
print("查看路由条目:\n"+show_route)
——————————————————————————————————————————————————————————————————————————
上述文件的输出以下(因篇幅问题,有部分会有删除):
一、show run 的输出以下:
Building configuration...

Current configuration : 874 bytes
!
version 12.4
service timestamps debug datetime msec
service timestamps log datetime msec

 logging synchronous
line aux 0
 exec-timeout 0 0
 privilege level 15
 logging synchronous
line vty 0 4
 login local
!
!
end

----------------------

二、配置默认路由后的输出:

config term
Enter configuration commands, one per line.  End with CNTL/Z.
R1(config)#ip route 0.0.0.0 0.0.0.0 192.168.60.129
R1(config)#end
R1#

三、查看路由条目:
Codes: C - connected, S - static, R - RIP, M - mobile, B - BGP
       D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area 
       N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
       E1 - OSPF external type 1, E2 - OSPF external type 2
       i - IS-IS, su - IS-IS summary, L1 - IS-IS level-1, L2 - IS-IS level-2
       ia - IS-IS inter area, * - candidate default, U - per-user static route
       o - ODR, P - periodic downloaded static route

Gateway of last resort is 192.168.60.129 to network 0.0.0.0

C    192.168.60.0/24 is directly connected, FastEthernet0/0
S*   0.0.0.0/0 [1/0] via 192.168.60.129

Process finished with exit code 0

参考连接:
①https://pypi.python.org/pypi/netmiko/1.4.1
②https://pynet.twb-tech.com/blog/automation/netmiko.htmlui

相关文章
相关标签/搜索