Índice:

Como fazer backup de um firewall Netscreen: 8 etapas
Como fazer backup de um firewall Netscreen: 8 etapas

Vídeo: Como fazer backup de um firewall Netscreen: 8 etapas

Vídeo: Como fazer backup de um firewall Netscreen: 8 etapas
Vídeo: Configuring a Backup Config, Rescue vs Rollback 2024, Novembro
Anonim

Por joeFollow Mais pelo autor:

Monitor de garagem e sistema de alerta Intel Edison
Monitor de garagem e sistema de alerta Intel Edison
Monitor de garagem e sistema de alerta Intel Edison
Monitor de garagem e sistema de alerta Intel Edison
Analisador de pneus Intel Edison Fat Bike
Analisador de pneus Intel Edison Fat Bike
Analisador de pneus Intel Edison Fat Bike
Analisador de pneus Intel Edison Fat Bike
Intel Galileo Garage Monitor
Intel Galileo Garage Monitor
Intel Galileo Garage Monitor
Intel Galileo Garage Monitor

Sobre: Eu gosto de mexer em quase tudo, às vezes dá certo no final. Divirta-se olhando os projetos, tente abrir algo e me diga como foi. cheers, -Joe Mais sobre Joe »

Este instrutível mostra um script que pode ser usado para automatizar backups de um firewall netscreen executando o ScreenOS.

Etapa 1: Requisitos

Requisitos
Requisitos

Este script foi escrito em expect e assume que o SSH está ativado em sua tela netscreen e em um ambiente Linux. Se você nunca deu uma olhada, Oreilly tem um ótimo livro "Exploring Expect"

Etapa 2: Variáveis

Variáveis
Variáveis

Começaremos definindo algumas variáveis. Você desejará definir as variáveis de porta / nome de usuário / senha / netscreen / prompt para corresponder ao seu ambiente. #! / usr / bin / expect # Espere o script para fazer backup da configuração dos firewalls netscreen # Joe #Defina algum tempo limite varsset 60set usuário "root" definir senha "senha" definir porta "2022" definir netscreen "foo.bar.com" definir basedir "/mnt/netapp/backups/foo.bar.com"set log" [timestamp -format% Y-% m-% d] -config.txt "set mailto" [email protected] "set mailsubject" Erro: netscreen backup falhou [timestamp -format% Y-% m-% d] "set mailfail" "set prompt" foo->"

Etapa 3: conectar

Conectar
Conectar

A seguir, no script, tentaremos conectar.send_user "Script de backup NetScren / n" send_user "Conectando-se a $ netscreen / n" spawn ssh $ user @ $ netscreen -p $ port expect {"password:" {send "$ password / r "expect {" $ prompt "{send_user" Connected "}" Permissão negada "{send_user" Senha inválida, saindo de "set mailfail" Senha inválida, saindo de "close} timeout {send_user" Nenhum prompt retornado "set mailfail" Nenhum prompt retornado "close}}}" Nenhuma rota para o host "{send_user" Incapaz de conectar-se a $ netscreen / n "set mailfail" Incapaz de conectar-se a $ netscreen / n "}" Nome ou serviço desconhecido "{send_user" Incapaz de conectar-se a $ netscreen / n "set mailfail" Incapaz de conectar a $ netscreen / n "} timeout {send_user" Tempo limite de conexão a $ netscreen "set mailfail" Tempo limite de conexão a $ netscreen "close}} if {$ mailfail! =" "} { exec / bin / mail -s $ mailsubject $ mailto << saída "$ mailfail"}

Etapa 4: Desligue o Paging

Desligue o Paging
Desligue o Paging

Você precisa desligar a paginação - ou o prompt mais na tela netscreen. # Desative o "mais" promptsend "definir página do console 0 / r" expect {"$ prompt" {send_user "\ nPagamento desativado / n"} padrão {enviar "O ScreenOS não excluiu a opção de paginação. / N" definir mailfail "O ScreenOS fez não exceto opção de paginação. " close} timeout {send_user "ScreenOS não exceto opção de paging / n" set mailfail "ScreenOS não exceto opção de paging." fechar}} if {$ mailfail! = ""} {exec / bin / mail -s $ mailsubject $ mailto << "$ mailfail" exit}

Etapa 5: obter configuração

Obter configuração
Obter configuração

Agora vamos obter a configuração. send_user "Baixando configuração / n" log_file $ basedir / $ logsend "get config / r" expect {"$ prompt" {log_file send_user "\ nConfiguração baixada / n"} timeout {send_user "\ nErro durante o download da configuração." set mailfail "Erro durante o download da configuração." }} closeif {$ mailfail! = ""} {exec / bin / mail -s $ mailsubject $ mailto << "$ mailfail" exit}

Etapa 6: verifique se a configuração está do tamanho certo

Verifique se o Config tem o tamanho certo
Verifique se o Config tem o tamanho certo

Saberemos verificar se a configuração é de pelo menos 1k.set filesize [tamanho do arquivo $ basedir / $ log] se {$ filesize <= 1024} {send_user "A configuração do Netscreen é muito pequena, investigue / n" set mailfail " A configuração do Netscreen é muito pequena, investigue / n "exec / bin / mail -s $ mailsubject $ mailto <<" $ mailfail "exit}

Etapa 7: Limpeza

Limpar
Limpar

Vamos fazer uma pequena limpeza para remover configurações com mais de duas semanas. #Remover configuração anterior a 2 semanasexec encontrar $ basedir -name '* config.txt *' -mtime +14

Etapa 8: todos juntos

Junte tudo agora. Ele é anexado como um arquivo de texto. Ele enviará e-mails em todas as falhas. #! / usr / bin / expect # Esperar o script para fazer backup da configuração dos firewalls netscreen # Joe # Definir algum tempo limite varsset 60set usuário "root" definir senha "senha" definir porta "2022" definir netscreen "foo.bar.com" definir basedir "/mnt/netapp/backups/foo.bar.com"set log" [timestamp -format% Y-% m-% d] -config.txt "set mailto" [email protected] "set mailsubject" Erro: netscreen backup falhou [timestamp -format% Y-% m-% d] "set mailfail" "set prompt" foo-> "send_user" Script de backup NetScren / n "send_user" Conectando-se a $ netscreen / n "spawn ssh $ user @ $ netscreen -p $ port expect {"password:" {send "$ password / r" expect {"$ prompt" {send_user "Connected"} "Permissão negada" {send_user "Senha inválida, saindo" set mailfail "Senha inválida, saindo "close} timeout {send_user" Nenhum prompt retornou "set mailfail" Nenhum prompt retornou "close}}}" Nenhuma rota para o host "{send_user" Incapaz de conectar a $ netscreen / n "set mailfail" Incapaz de conectar-se a $ netscreen / n "}" Nome ou serviço desconhecido "{send_user" Incapaz de conectar a $ netscreen / n "s et mailfail "Incapaz de conectar a $ netscreen / n"} tempo limite {send_user "Tempo limite de conexão $ netscreen" set mailfail "Tempo limite de conexão $ netscreen" close}} if {$ mailfail! = ""} {exec / bin / mail -s $ mailsubject $ mailto << "$ mailfail" exit} #Agora que acabou, continue # Desative o "mais" promptsend "definir a página do console 0 / r" expect {"$ prompt" {send_user "\ nPaginização desativada / n "} default {send" ScreenOS não exceto opção de paging. / n "set mailfail" ScreenOS não exceto opção de paging. " close} timeout {send_user "ScreenOS não exceto opção de paging / n" set mailfail "ScreenOS não exceto opção de paging." close}} if {$ mailfail! = ""} {exec / bin / mail -s $ mailsubject $ mailto << "$ mailfail" exit} send_user "Baixando configuração / n" log_file $ basedir / $ logsend "get config / r "esperar {" $ prompt "{log_file send_user" / nConfiguração baixada / n "} tempo limite {send_user" / nErro durante o download da configuração. " set mailfail "Erro durante o download da configuração." }} closeif {$ mailfail! = ""} {exec / bin / mail -s $ mailsubject $ mailto << "$ mailfail" exit} definir o tamanho do arquivo [tamanho do arquivo $ basedir / $ log] se {$ filesize <= 1024} {send_user "A configuração do Netscreen é muito pequena, investigue / n" set mailfail "A configuração do Netscreen é muito pequena, investigue / n" exec / bin / mail -s $ mailsubject $ mailto << "$ mailfail" exit} #Remove config com mais de 2 semanassexec encontrar $ basedir -name '* config.txt *' -mtime +14

Recomendado: