SecureCRT在网络设备配置管理中的实践应用
2018-12-28赵振涛
赵振涛
摘要:本文论述了利用SecureCRT访问网络设备,自动保存访问记录,通过编写执行脚本实现对批量网络交换机配置的自动备份。
关键词:SecureCRT 脚本 日志 配置 备份 批处理
SecureCRT是一款终端仿真软件,能够在Windows系统中登录UNIX、Linux的服务器主机以及网络设备,支持Telnet、SSH、Serial等多种连接协议,支持VBScript、Python脚本语言。下面介绍在SecureCRT(ver 8.5)下创建连接会话、日志自动保存、脚本录制、批量自动备份网络设备配置。
1.创建连接会话
File->Connect->New Session->SecureCRT Protocol选择Telnet->Host name输入设备IP地址-> SecureFX Protocol选择None->Session Name 输入会话名称->完成,方便以后登录。
2.日志自动保存
Options->Global Options->General->Default Session->Edit Default Settings,将log file name修改为%H_%S.log.log,自动记录每个操作,以主机名加会话名保存,方便查询。
3.脚本录制
登录设备->Script->Start Recording Script->执行操作->(Script->Stop Recording Script),默认保存文件以.vbs结尾,其它网络设备执行同样操作命令时可通过Script->Run调用所录脚本一键完成所有操作。
4.批量自动备份网络设备配置
首先确定备份哪些设备,其次建立TFTP服务器以接收上传的配置文件,最后需要编写调用备份脚本。为便于资料的整理所使用的文件均位于D:盘配置备份目录。
(1)确定备份设备
建立一个文本文件(如allip.txt)将所有网络设备IP地址逐行录入,所在单位的网络中经常出现个别设备不在线情况,如学生机房不上课交换机不加电,针对这种情况,借助批处理结合ping命令统计在线情况。检查设备在线情况.bat内容如下:
@echo off
echo 正在检查网络设备在线情况,请耐心等待!!
md %date:~0,4%%date:~5,2%%date:~8,2%
cd %date:~0,4%%date:~5,2%%date:~8,2%
::生成离线和在线设备文件
echo离线设备IP地址列表 >offline%date:~0,4%%date:~5,2%%date:~8,2%%time:~0,2%.txt
type nul >d:\online.txt
::判断设备是否在线并写入相应文件
for /f "delims=" %%i in (d:\配置备份\allip.txt) do (
setlocal enabledelayedexpansion
ping %%i -n 1 -w 100 >nul
if !errorlevel!==1 echo %%i >>offline%date:~0,4%%date:~5,2%%date:~8,2%%time:~0,2%.txt
if !errorlevel!==0 echo %%i 在線>>d:\online.txt
endlocal
)
echo 执行完毕,按任意键退出或直接关闭窗口!
pause>nul
exit
(2)建立TFTP服务器
本例中使用StarTFTP.exe,工作目录设置为D:盘配置备份目录下的执行日期名称目录。
(3)编写执行备份脚本
用文本编辑软件编写脚本,本例针对我单位使用的神州数码交换机所写(其配置命令与CISCO公司产品接近,其它厂商的设备可参考相关命令手册进行修改),批量自动备份配置.vbs脚本内容如下:
# $language = "VBScript"
# $interface = "1.0"
'本脚本用于自动登录在线设备,完成自动配置备份的工作,适用于神码交换机。
Sub Main
Const ForReading = 1, ForWriting = 2, ForAppending = 8
Dim fso,file1,line,str1,params
Set fso = CreateObject("Scripting.FileSystemObject")
Set file1 = fso.OpenTextFile("d:\online.txt",Forreading, False)
crt.Screen.Synchronous = True
DO While file1.AtEndOfStream <> True
line = file1.ReadLine
params = Split (line)
crt.Session.Connect "/TELNET "& params(0)
crt.Screen.WaitForString "login:"
crt.Screen.Send "admin"& chr(13)
crt.Screen.WaitForString "Password:"
crt.Screen.Send "输入登录密码"& chr(13)
crt.Screen.WaitForString "#"
str1 = "copy run tftp://10.0.190.7/"
str1 = str1 & params(0) &"_"& year(now) & month(now) & day(now) &".cfg"
crt.Screen.Send str1 & vbcr
crt.Screen.WaitForString "Confirm copy file [Y/N]:"
crt.Screen.Send "y"& chr(13)
crt.Screen.waitForString "#",3
crt.Session.Disconnect
loop
file1.close
fso.DeleteFile ("d:\online.txt")
crt.Screen.Synchronous = False
End Sub
通过调用备份脚本,几十台交换机的配置备份几分钟就完成了,大大的提高了工作效率。利用批处理序、Windows下的计划任务可以使脚本执行更加自动化,使大量的重复操作变得简单轻松,所以网络管理人员非常喜欢使用SecureCRT软件。
参考文献:
[1]曹恬. 基于SecureCRT的网络设备配置批量备份实践.金融科技时代[J]. 2014,(第5期). 83-84
[2]张亮.巧用SecureCRT保存日志[J].网络安全和信息化,2016,(第7期).63-65
[3]熊宗炬.网络管理中的ping命令[J].电脑知识与技术(经验技巧),2015,(第4期).114-115
[4]蒋亚军,沐海斌,王翠梅,可珍莹,杨兴翊.FOR命令在农村建设用地使用权文件归档中的应用[J].地矿测绘,2017,(第2期).40-41