设为首页 收藏本站
查看: 804|回复: 0

[经验分享] 如何批量配置修改Cisco设备?

[复制链接]

尚未签到

发表于 2018-7-18 09:38:24 | 显示全部楼层 |阅读模式
  在配置和维护一个大型的网络时,我们常常需要做一些重复性的劳动,在配置时我们往往是做一个配置模版文件,然后根据不同设备的要求进行相应的修改,最后将其通过拷贝和粘贴的方式输入Cisco的设备,这样思路清晰同时也不容易出错。
  在维护过程中,我们往往需要远程登录到各个设备进行一些相关的配置,比如批量的修改所有设备的密码,如果手工的进行每台设备的修改即费时又容易出错,有没有更好的选择呢?其实我们可以通过以下几种方式实现自动的配置修改:
  1、Ciscoworks2000配置自动分发方式;
  2、终端脚本方式;
  3、tclsh脚本方式;
  4、windows脚本方式;
  第1种方式,可以参考Ciscoworks2000的文档来配置;
  第2种方式,是指有些终端程序支持各种脚本,比如SecureCRT支持VBScript和JScript两种脚本,因此我们可以通过相应的配置来完成批量的工作,具体的配置参加各种终端的说明;
  第3种方式,是利用支持tclsh的IOS来实现的,它需要在支持tclsh的设备上(比如这里是r1)配置如下内容:
  ip rcmd rsh-enable
  ip rcmd remote-host r1 10.1.1.1 r1 enable
  ip rcmd source-interface Loopback0
  在其它需要被远程配置的设备上配:
  ip rcmd rsh-enable
  ip rcmd remote-host r1 10.1.1.1 r1 enable
  这样凭空增加了一些工作量,而且还需要IOS的支持,否则无法实现;
  第4种方式,是我们在这里要重点讨论的方法,它是采用windows脚本的方式。由于Windows脚本主机是系统自带的,我们不需要安装任何的其它软件就可以实现,而且VBS的脚本也很容易理解,所以它一般是解决问题的首选。下面我们来详细讲解一下:
  目的:批量修改3个Cisco路由器的enable密码,将enable密码改为test,路由器的IP地址分别为10.1.1.1、10.1.1.2、10.1.1.3;
  步骤1,我们建立一个名字叫做test.vbs的脚本;
  '建立Shell对象
  set sh=WScript.CreateObject("WScript.Shell")
  WScript.Sleep 1000
  'telnet到10.1.1.1路由器
  sh.SendKeys "open 10.1.1.1"
  WScript.Sleep 1000
  sh.SendKeys "{ENTER}"
  WScript.Sleep 1000
  '输入该路由器的登录密码,这里为cisco
  sh.SendKeys "cisco{ENTER}"
  WScript.Sleep 1000
  sh.SendKeys "enable{ENTER}"
  WScript.Sleep 1000
  '输入该路由器的enable密码,这里为cisco
  sh.SendKeys "cisco{ENTER}"
  WScript.Sleep 1000
  '运行cisco的config term命令,进入配置模式
  sh.SendKeys "config term{ENTER}"
  WScript.Sleep 1000
  '运行cisco的no enable password命令,清楚enable密码
  sh.SendKeys "no enable password{ENTER}"
  WScript.Sleep 1000
  '运行cisco的enable password test命令,重设enable密码为test
  sh.SendKeys "enable password test{ENTER}"
  WScript.Sleep 1000
  sh.SendKeys "exit{ENTER}"
  WScript.Sleep 1000
  '运行cisco的wr mem命令,保存配置
  sh.SendKeys "wr mem{ENTER}"
  WScript.Sleep 1000
  sh.SendKeys "exit{ENTER}"
  WScript.Sleep 1000
  '给控制台输入一个空格符
  sh.SendKeys "{ }"
  WScript.Sleep 1000
  'telnet到10.1.1.2路由器
  sh.SendKeys "open 10.1.1.2"
  WScript.Sleep 1000
  sh.SendKeys "{ENTER}"
  WScript.Sleep 1000
  '输入该路由器的登录密码,这里为cisco
  sh.SendKeys "cisco{ENTER}"
  WScript.Sleep 1000
  sh.SendKeys "enable{ENTER}"
  WScript.Sleep 1000
  '输入该路由器的enable密码,这里为cisco
  sh.SendKeys "cisco{ENTER}"
  WScript.Sleep 1000
  '运行cisco的config term命令,进入配置模式
  sh.SendKeys "config term{ENTER}"
  WScript.Sleep 1000
  '运行cisco的no enable password命令,清楚enable密码
  sh.SendKeys "no enable password{ENTER}"
  WScript.Sleep 1000
  '运行cisco的enable password test命令,重设enable密码为test
  sh.SendKeys "enable password test{ENTER}"
  WScript.Sleep 1000
  sh.SendKeys "exit{ENTER}"
  WScript.Sleep 1000
  '运行cisco的wr mem命令,保存配置
  sh.SendKeys "wr mem{ENTER}"
  WScript.Sleep 1000
  sh.SendKeys "exit{ENTER}"
  WScript.Sleep 1000
  '给控制台输入一个空格符
  sh.SendKeys "{ }"
  WScript.Sleep 1000
  'telnet到10.1.1.3路由器
  sh.SendKeys "open 10.1.1.3"
  WScript.Sleep 1000
  sh.SendKeys "{ENTER}"
  WScript.Sleep 1000
  '输入该路由器的登录密码,这里为cisco
  sh.SendKeys "cisco{ENTER}"
  WScript.Sleep 1000
  sh.SendKeys "enable{ENTER}"
  WScript.Sleep 1000
  '输入该路由器的enable密码,这里为cisco
  sh.SendKeys "cisco{ENTER}"
  WScript.Sleep 1000
  '运行cisco的config term命令,进入配置模式
  sh.SendKeys "config term{ENTER}"
  WScript.Sleep 1000
  '运行cisco的no enable password命令,清楚enable密码
  sh.SendKeys "no enable password{ENTER}"
  WScript.Sleep 1000
  '运行cisco的enable password test命令,重设enable密码为test
  sh.SendKeys "enable password test{ENTER}"
  WScript.Sleep 1000
  sh.SendKeys "exit{ENTER}"
  WScript.Sleep 1000
  '运行cisco的wr mem命令,保存配置
  sh.SendKeys "wr mem{ENTER}"
  WScript.Sleep 1000
  sh.SendKeys "exit{ENTER}"
  WScript.Sleep 1000
  '给控制台输入一个空格符
  sh.SendKeys "{ }"
  步骤2,建立一个test.bat的批处理文件:
  rem 启动telnet
  start telnet.exe
  rem batch telnet
  cscript //nologo test.vbs
  步骤3,我们只需要运行test.bat就可以轻松完成自动修改密码的工作了。
  这里我们只是用telnet到cisco路由器上修改密码作为一个例子,其实通过这种方法我们可以完成许多配置工作,这就需要大家开动脑筋,在实践中去体验了。
  对于SendKeys这个命令可以send什么,我们可以看下面的列表:
  BACKSPACE {BACKSPACE}, {BS}, or {BKSP}
  BREAK {BREAK}
  CAPS LOCK {CAPSLOCK}
  DEL or DELETE {DELETE} or {DEL}
  DOWN ARROW {DOWN}
  END {END}
  ENTER {ENTER}or ~
  ESC {ESC}
  HELP {HELP}
  HOME {HOME}
  INS or INSERT {INSERT} or {INS}
  LEFT ARROW {LEFT}
  NUM LOCK {NUMLOCK}
  PAGE DOWN {PGDN}
  PAGE UP {PGUP}
  PRINT SCREEN {PRTSC}
  RIGHT ARROW {RIGHT}
  SCROLL LOCK {SCROLLLOCK}
  TAB {TAB}
  UP ARROW {UP}
  F1 {F1}
  F2 {F2}
  F3 {F3}
  F4 {F4}
  F5 {F5}
  F6 {F6}
  F7 {F7}
  F8 {F8}
  F9 {F9}
  F10 {F10}
  F11 {F11}
  F12 {F12}
  F13 {F13}
  F14 {F14}
  F15 {F15}
  F16 {F16}
  SHIFT +
  CTRL ^
  ALT %

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-538271-1-1.html 上篇帖子: CISCO学习笔记整理之-OSPF 下篇帖子: Cisco路由器的安全配置简易方案2
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表