Python 通过telnet 配置思科网络设备

!!使用了 telnetlib 库
1 拓扑
Python 通过telnet 配置思科网络设备
 
未运行脚本的时候,R4、R5是没有到1.1.1.1和2.2.2.2的路由的:
Python 通过telnet 配置思科网络设备
Python 通过telnet 配置思科网络设备

 
配置文档放在跟python脚本同一个目录下:
Python 通过telnet 配置思科网络设备
 
运行python脚本之后:
Python 通过telnet 配置思科网络设备
Python 通过telnet 配置思科网络设备
Python 通过telnet 配置思科网络设备
成功!

 

#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

转载于:https://blog.51cto.com/jackor/2134724

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值