Python netmiko 管理devices簡例

R-B發表於2021-09-09

netmiko是python中可用於network device 備份的庫,目前支援的裝置如下:As of June 2015, Netmiko has support for the following platforms:Cisco IOSCisco IOS-XECisco ASACisco NX-OSCisco IOS-XRCisco WLC (limited testing)Arista EOSHP ProCurveHP Comware (limited testing)Juniper JunosBrocade VDX (limited testing)F5 LTM (experimental)Huawei (limited testing)

下面是一段使用netmiko庫登陸ciscorouter 3360 的python程式碼

from netmiko import ConnectHandler

#要連線裝置的資訊,順序不重要

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

#進行ssh連線

connect=ConnectHandler(**cisco)     #對於兩個*號,我的理解是:ConnectHandler()函式需要在cisco字典裡面找"兩"個東西,key和對應的value,所以用兩個*星號

#如果enable有密碼需要在配置連線的時候配置,例如 'secret':'google'  ,輸入connect.send_command('enable') 是無效的

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')

out_put_2 = connect.send_config_set('ip route 0.0.0.0 0.0.0.0 192.168.60.129')  #相當於輸入特權模式 + 輸入配置命令print("配置預設路由後的輸出:nn"+out_put_2+"nn")          #輸出配置過程

#檢視上述的配置是否生效

show_route = connect.send_command('show ip route') #send_command('cli')命令執行的結果只能在本級,不能exit或者 enable、configure terminalprint("檢視路由條目:n"+show_route)
1、show run 的輸出如下:Building configuration...Current configuration : 874 bytes!version 12.4service timestamps debug datetime msecservice timestamps log datetime msec logging synchronousline aux 0 exec-timeout 0 0 privilege level 15 logging synchronousline vty 0 4 login local!!end----------------------2、配置預設路由後的輸出:config termEnter configuration commands, one per line.  End with CNTL/Z.R1(config)#ip route 0.0.0.0 0.0.0.0 192.168.60.129R1(config)#endR1#3、檢視路由條目: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 routeGateway of last resort is 192.168.60.129 to network 0.0.0.0C    192.168.60.0/24 is directly connected, FastEthernet0/0S*   0.0.0.0/0 [1/0] via 192.168.60.129Process finished with exit code 0

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/4560/viewspace-2809817/,如需轉載,請註明出處,否則將追究法律責任。

相關文章