Python 通過telnet 配置思科網絡設備
阿新 • • 發佈:2018-07-01
watermark 查看 nbsp open length import ffffff python腳本 acf !!使用了 telnetlib 庫
1 拓撲
未運行腳本的時候,R4、R5是沒有到1.1.1.1和2.2.2.2的路由的:
1 拓撲
未運行腳本的時候,R4、R5是沒有到1.1.1.1和2.2.2.2的路由的:
配置文檔放在跟python腳本同一個目錄下:
運行python腳本之後:
成功!
#conf.py 文件 import time from telnetlib import Telnet def cfg(addr,user,pwd,secret,conf): tn = Telnet(addr) tn.write(user+‘\n‘) tn.write(pwd+‘\n‘) tn.write(‘enable\n‘) tn.write(secret+‘\n‘) tn.write(‘terminal length 0\n‘) time.sleep(1) tn.write(‘conf t\n‘) time.sleep(1) confp = open(conf,‘r‘) for cmd in confp: tn.write(cmd) #應為讀一行的時候已經有換行符了,所以這裏就不添加+‘\n‘了 print(cmd) #用於查看讀取的命令 time.sleep(1) #建議每條命令都休眠一下,不然可能配置不了 confp.close() if __name__ == "__main__": fp = open(‘./ip.txt‘,‘r‘) #如果有多臺主機要配置同樣的命令的話,可以將主機IP都放在一個文檔中 for ip in fp: print("configuring "+ip.strip()) conf = cfg(ip.strip(),‘cisco‘,‘cisco‘,‘cisco‘,‘./conf.txt‘) print(ip.strip()+‘ was finished!‘) print(‘done!‘) fp.close()
#ip.txt //按需添加
172.16.1.4
172.16.2.5
#conf.txt //按需添加
ip route 1.1.1.1 255.255.255.255 f0/0
ip route 2.2.2.2 255.255.255.255 f0/0
do write
Python 通過telnet 配置思科網絡設備