Acesso direto ao conteúdo
Logotipo Dicas-L, por Ricardo Burile

Busca

Visite também: Segurança Linux ·  UnderLinux ·  VivaOLinux ·  LinuxSecurity ·  NoticiasLinux ·  BR-Linux ·  SoftwareLivre.org ·  [mais]   
 

Você está aqui: Home  → Arquivo Dicas-L

 

Curso de Inglês Online

Assine a Lista Dicas-L

Receba diariamente por email as dicas
de informática publicadas neste site
Para se descadastrar, clique aqui.

Salvando as configurações de roteadores Ciscos e Cyclades

Colaboração: Marcos Helbert de Almeida Fontana

Data de Publicação: 25 de Julho de 2005

É a primeira vez que escrevo aqui e vou tentar ajudar aqueles que dispõe de muitos roteadores cisco e cyclades em sua rede. Neste fim de semana tive um problema com um cyclades que foi reconfigurado e perdeu várias rotas. Montei a seguinte solução para backup de configurações dos retoadores usando a linguagem expect.

Para rotadores cisco é necessário o script seguinte:

  
  #!/usr/bin/expect
  
  #cisco.exp
  
  < A NAME="note" HREF="#textnote">< SUP>#Path e arquivos necessarios
  set logpath "/backup/cisco"
  set roteadores "/backup/cisco/roteadores.txt"
  < A NAME="note" HREF="#textnote">< SUP>< A NAME="note" HREF="#textnote">< SUP>< A NAME="note" HREF="#textnote">< SUP>< A NAME="note" HREF="#textnote">< SUP>< A NAME="note" HREF="#textnote">< SUP>< A NAME="note" HREF="#textnote">< SUP>< A NAME="note" HREF="#textnote">< SUP>< A NAME="note" HREF="#textnote">< SUP>< A NAME="note" HREF="#textnote">< SUP>< A NAME="note" HREF="#textnote">< SUP>< A NAME="note" HREF="#textnote">< SUP>< A NAME="note" HREF="#textnote">< SUP>< A NAME="note" HREF="#textnote">< SUP>< A NAME="note" HREF="#textnote">< SUP>< A NAME="note" HREF="#textnote">< SUP>< A NAME="note" HREF="#textnote">< SUP>< A NAME="note" HREF="#textnote">< SUP>< A NAME="note" HREF="#textnote">< SUP>< A NAME="note" HREF="#textnote">< SUP>##
  
  < A NAME="note" HREF="#textnote">< SUP>#Password e Enable Password
  set pass "SenhaDoCisco"
  set enapass "SenhaDeEnableDoCisco"
  < A NAME="note" HREF="#textnote">< SUP>< A NAME="note" HREF="#textnote">< SUP>< A NAME="note" HREF="#textnote">< SUP>< A NAME="note" HREF="#textnote">< SUP>< A NAME="note" HREF="#textnote">< SUP>< A NAME="note" HREF="#textnote">< SUP>< A NAME="note" HREF="#textnote">< SUP>< A NAME="note" HREF="#textnote">< SUP>< A NAME="note" HREF="#textnote">< SUP>< A NAME="note" HREF="#textnote">< SUP>< A NAME="note" HREF="#textnote">< SUP>< A NAME="note" HREF="#textnote">< SUP>< A NAME="note" HREF="#textnote">< SUP>< A NAME="note" HREF="#textnote">< SUP>< A NAME="note" HREF="#textnote">< SUP>< A NAME="note" HREF="#textnote">< SUP>< A NAME="note" HREF="#textnote">< SUP>< A NAME="note" HREF="#textnote">< SUP>< A NAME="note" HREF="#textnote">< SUP>##
  
  set host ""
  set data [exec date +%Y%m%d]
  
  set timeout 20
  
  #Cria diretorio (se nao existe)
  if {!([file exists $logpath/cisco.$data])} then {
      set MakeDir [exec mkdir $logpath/cisco.$data]}
  
  # telnet para Ciscos -- pega configuracao
  set lista [open $roteadores r]
  while {[gets $lista host] > 0} {
  #Telnet para os Ciscos
      spawn telnet $host
      expect {
            "word:"     {
                send "$pass\r"
                expect ">"
                send "enable\r$enapass\r"
                expect "#"
                send "term len 0\r"
  
                #Aqui estamos logados no router
                #Vamos agora pegar as configuracoes
                set logfile "$logpath/cisco.$data/$host.$data.conf"
                log_file -noappend $logfile
                expect "#"
                send "wr t\r"
                expect "#"
                log_file
                send "\r"
                expect "#"
                #Agora a saida de  "show tech"
                set logfile "$logpath/cisco.$data/$host.$data.tech"
                log_file -noappend $logfile
                send "show tech\r\r\r"
                expect "#"
                log_file
                close
                wait
                }
           timeout {
                close
                wait
                }}
  }
  close $lista

Para os cyclades:

  #!/usr/bin/expect
  
  #cyclades.exp
  
  < A NAME="note" HREF="#textnote">< SUP>#Path e arquivos necessarios
  set logpath "/backup/cyclades"
  set roteadores "/backup/cyclades/roteadores.txt"
  < A NAME="note" HREF="#textnote">< SUP>< A NAME="note" HREF="#textnote">< SUP>< A NAME="note" HREF="#textnote">< SUP>< A NAME="note" HREF="#textnote">< SUP>< A NAME="note" HREF="#textnote">< SUP>< A NAME="note" HREF="#textnote">< SUP>< A NAME="note" HREF="#textnote">< SUP>< A NAME="note" HREF="#textnote">< SUP>< A NAME="note" HREF="#textnote">< SUP>< A NAME="note" HREF="#textnote">< SUP>< A NAME="note" HREF="#textnote">< SUP>< A NAME="note" HREF="#textnote">< SUP>< A NAME="note" HREF="#textnote">< SUP>< A NAME="note" HREF="#textnote">< SUP>< A NAME="note" HREF="#textnote">< SUP>< A NAME="note" HREF="#textnote">< SUP>< A NAME="note" HREF="#textnote">< SUP>< A NAME="note" HREF="#textnote">< SUP>< A NAME="note" HREF="#textnote">< SUP>##
  
  < A NAME="note" HREF="#textnote">< SUP>#User e password
  set user "UsuarioDoCyclades"
  set pass "SenhaDoCyclades"
  < A NAME="note" HREF="#textnote">< SUP>< A NAME="note" HREF="#textnote">< SUP>< A NAME="note" HREF="#textnote">< SUP>< A NAME="note" HREF="#textnote">< SUP>< A NAME="note" HREF="#textnote">< SUP>< A NAME="note" HREF="#textnote">< SUP>< A NAME="note" HREF="#textnote">< SUP>< A NAME="note" HREF="#textnote">< SUP>< A NAME="note" HREF="#textnote">< SUP>< A NAME="note" HREF="#textnote">< SUP>< A NAME="note" HREF="#textnote">< SUP>< A NAME="note" HREF="#textnote">< SUP>< A NAME="note" HREF="#textnote">< SUP>< A NAME="note" HREF="#textnote">< SUP>< A NAME="note" HREF="#textnote">< SUP>< A NAME="note" HREF="#textnote">< SUP>< A NAME="note" HREF="#textnote">< SUP>< A NAME="note" HREF="#textnote">< SUP>< A NAME="note" HREF="#textnote">< SUP>##
  
  set host ""
  set data [exec date +%Y%m%d]
  
  set timeout 20
  
  #Cria diretorio (se nao existe)
  if {!([file exists $logpath/cyclades.$data])} then {
      set MakeDir [exec mkdir $logpath/cyclades.$data]}
  
  # telnet para Cyclades -- pega configuracao
  set hostlist [open $roteadores r]
  while {[gets $hostlist host] > 0} {
  #Telnet para os Cyclades
      spawn telnet $host
      expect {
            "login :"     {
                send "$user\r"
                expect "Password :"
                send "$pass\r"
                expect "#"
                send "1\r"
  
                #Aqui estamos logados no router
                #Vamos agora pegar as configuracoes
                set logfile "$logpath/cyclades.$data/$host.$data.conf"
                log_file -noappend $logfile
                expect "#"
                send "l\r"
                expect "#"
                send "\r"
                #Cyclades tem a saida pagina
                expect {
                     "More" { send -- " ";exp_continue }
                     "#" {}
                }
                log_file
                close
                wait
                }
           timeout {
                close
                wait
                }}
  }
  close $hostlist

Isso deve resolver praticamente os problemas com backup dos routers. Pode-se ainda criar um servidor de tftp em alguma máquina e colocar nestes scripts uma rotina que grave nestes servidores um backup prontinho para ser restaurado.

Veja a relação completa dos artigos de Marcos Helbert de Almeida Fontana

Formato PDF
Newsfeed RSS
Formato para impressão
PDF RSS Imprimir

Referências Adicionais

Referências adicionais sobre os assuntos abordados neste site podem ser encontradas em nossa Bibliografia.

Avalie esta dica

  • Currently 3.00/5
  • 1
  • 2
  • 3
  • 4
  • 5

Avaliação: 3.0 /5 (1384 votos)

Opinião dos Leitores

Seja o primeiro a comentar este artigo
*Nome:
Email:
Me notifique sobre novos comentários nessa página
Oculte meu email
*Texto:
 
  Para publicar seu comentário, digite o código contido na imagem acima
 


Powered by Scriptsmill Comments Script

Treinamentos, Consultorias e Soluçoes em TI. Baseados em softwares livres e padrões abertos para ambientes de missão crítica

Submarino.com.br

PDF Explicado