天下网吧 >> 网吧方案 >> 网络方案 >> 正文

利用vbs脚本实现静态路由备份策略

   路由器
   FastEthernet0/0 通过光电转换接入10M光纤 IP:218.25.158.16/24-对应网关 218.25.158.1
   Atm0/0        通过电话线接入ADSL
   FastEthernet0/1 内网接口连接防火墙 192.168.2.1/29

   防火墙
   外网接口192.168.2.2/29
   内网:10.20.1.250/16

   由于主干链路采用静态路由,同时光线与路由器外网接口之间还有光电转换设备,所以即使光线中断,路由器端的外网接口物理链路也不会报告错误。于是一些常用的方法例如:backup interface,watch group等都不启作用。最后还是想到了利用两条静态路由的不同metric值来定义备份链路,同时在主链路故障时,手动将FastEthernet0/0端口shutdown。要完成以上工作,靠人工监控很难做到即时有效。于是设计如下脚本,在windows中设置计划任务,每15分钟执行一次。基本思想就是每15分钟ping 外网网关:218.25.158.1,如果正常,则在日志文件中添加一个时间纪录,如果不正常,再ping 路由器的内网接口:192.168.2.1 如果通,则表明骨干链路故障,执行telnet路由器的批处理,shutdown FastEthernet0/0 ,同时发送邮件给网管,提示故障是主链路故障;如果不通,则表明是内网自身问题,可能是防火墙或者路由器故障,则直接发送邮件给网管。
   路由器的配置就不给出了,只要配置两条不同metric的静态路由即可。比较有借鉴意义的是通过脚本登录路由器并进行相关配置和通过脚本运行一些windows命令,例如ping,这些对我们日常网管还是非常有用的

   网络拓扑:

  

 

   Monitor.vbs 每15分钟运行一次
   Set FileSys   =   CreateObject("Scripting.FileSystemObject")
   Set WShShell   =  CreateObject("WScript.Shell")
   RetCode   =   WShShell.Run("ping " &"218.25.158.1" , 0, True )  'ping外网网关
   if   RetCode   <>   0   Then  ' ping 测试未通过
   RetCode   =   WShShell.Run("ping " &"192.168.2.1" , 0, True )  'ping路由器内网ip
   if RetCode   <>   0   Then  '如果还ping不通
   RetCode   =   WShShell.Run("sendmail2.vbs") '网络内部故障,发送相关邮件
   else
   RetCode   =   WShShell.Run("temp.bat")
   RetCode   =   WShShell.Run("sendmail.vbs") '否则运行批处理并发送相关邮件
   end if
   else   'ping 外网网关通过,则每天形成一个日志文档,

本文来源:天下网吧 作者:网吧方案

相关文章
没有相关文章
声明
声明:本站所发表的文章、评论及图片仅代表作者本人观点,与本站立场无关。若文章侵犯了您的相关权益,请及时与我们联系,我们会及时处理,感谢您对本站的支持!联系Email:support@txwb.com,系统开号,技术支持,服务联系QQ:1175525021本站所有有注明来源为天下网吧或天下网吧论坛的原创作品,各位转载时请注明来源链接!
天下网吧·网吧天下