Cum se face o copie de rezervă a unui firewall Netscreen: 8 pași
Cum se face o copie de rezervă a unui firewall Netscreen: 8 pași
Anonim

De joe Urmărește mai multe de la autor:

Despre: Îmi place să mă joc cu aproape orice, uneori funcționează până la urmă. Distrează-te uitându-te la proiecte, încearcă să spargi ceva și anunță-mă cum merge. urale, -Joe Mai multe despre joe »

Acest instructable arată un script care poate fi utilizat pentru automatizarea copiilor de siguranță ale unui firewall netscreen care rulează ScreenOS.

Pasul 1: Cerințe

Acest script este scris în așteptare și presupune că ați activat SSH pe ecranul de rețea și un mediu Linux. Dacă nu ați verificat niciodată așteptați, Oreilly are o carte grozavă „Exploring Expect”

Pasul 2: Variabile

Vom începe cu setarea unor variabile. Veți dori să setați variabilele port / nume de utilizator / parolă / netscreen / prompt pentru a se potrivi mediului dvs. # !. "/mnt/netapp/backups/foo.bar.com"set log" [timestamp -format% Y-% m-% d] -config.txt "set mailto" [email protected] "set mailsubject" Eroare: netscreen backupul a eșuat [timestamp -format% Y-% m-% d] "set mailfail" "set prompt" foo->"

Pasul 3: Conectați-vă

Apoi, în script, vom încerca să conectăm. r "așteptați {" $ prompt "{send_user" Conectat "}" Permisiunea refuzată "{send_user" Parolă nevalidă, ieșirea din "set mailfail" Parolă nevalidă, ieșirea din "închidere} expirare {send_user" Fără prompt returnat "setare mailfail" Fără prompt returnat "închidere}}}" Nicio rută către gazdă "{send_user" Imposibil de conectat la $ netscreen / n "set mailfail" Imposibil de conectat la $ netscreen / n "}" Nume sau serviciu necunoscut "{send_user" Imposibil de conectat la $ netscreen / n "set mailfail" Nu se poate conecta la $ netscreen / n "} timeout {send_user" Timeout conectat la $ netscreen "set mailfail" Timeout conectat la $ netscreen "close}} dacă {$ mailfail! =" "} { exec / bin / mail -s $ mailsubject $ mailto << "$ mailfail" exit}

Pasul 4: dezactivați paginarea

Trebuie să dezactivați paginarea - sau cel mai prompt din ecranul de rețea. #Desactivați "mai mult" promptsend "setați pagina consolă 0 / r" așteptați {"$ prompt" {send_user "\ nPaging Dezactivat / n"} implicit {send "ScreenOS nu a exceptat opțiunea de paginare. / N" set mailfail "ScreenOS a făcut nu cu excepția opțiunii de paginare. " închidere} expirare {send_user "ScreenOS nu a exceptat opțiunea de paginare / n" a setat eșecul de mail "ScreenOS nu a exceptat opțiunea de paginare." închide}} dacă {$ mailfail! = ""} {exec / bin / mail -s $ mailsubject $ mailto << "$ mailfail" exit}

Pasul 5: obțineți config

Vom primi acum config. send_user "Descărcare configurație / n" log_file $ basedir / $ logsend "get config / r" expect {"$ prompt" {log_file send_user "\ nConfigurare descărcat / n"} timeout {send_user "\ nEroare în timpul descărcării configurării." set mailfail "Eroare la descărcarea configurării." }} closeif {$ mailfail! = ""} {exec / bin / mail -s $ mailsubject $ mailto << "$ mailfail" exit}

Pasul 6: Verificați dacă configurația are dimensiunea potrivită

Vom ști să verificăm dacă configul este de cel puțin 1k.set dimensiune fișier [dimensiune fișier $ basedir / $ log] dacă {$ filesize <= 1024} {send_user "Configurarea Netscreen este prea mică, vă rugăm să investigați / n" set mailfail " Configurarea Netscreen este prea mică, vă rugăm să investigați / n "exec / bin / mail -s $ mailsubject $ mailto <<" $ mailfail "exit}

Pasul 7: Curățare

Permiteți să efectuați o mică curățare pentru a elimina configurațiile mai vechi de două săptămâni. #Eliminați config mai vechi de 2 săptămânisexec găsi $ basedir -name '* config.txt *' -mtime +14

Pasul 8: Toți împreună

Puneți totul împreună acum. Este atașat ca fișier text. Va trimite e-mailuri cu privire la orice eșec. # !. "/mnt/netapp/backups/foo.bar.com"set log" [timestamp -format% Y-% m-% d] -config.txt "set mailto" [email protected] "set mailsubject" Eroare: netscreen backup fail [timestamp -format% Y-% m-% d] "set mailfail" "set prompt" foo-> "send_user" NetScren Backup Script / n "send_user" Conectarea la $ netscreen / n "spawn ssh $ user @ $ netscreen -p $ port expect {"password:" {send "$ password / r" expect {"$ prompt" {send_user "Conectat"} "Permisiunea refuzată" {send_user "Parolă nevalidă, ieșire" set mailfail "Parolă nevalidă, ieșire "închidere} expirare {send_user" Nu s-a returnat niciun mesaj "set mailfail" Nu s-a returnat niciun mesaj "închidere}}}" Fără traseu pentru gazdă "{send_user" Nu se poate conecta la $ netscreen / n "setează eșecul poștal" Nu se poate conecta la $ netscreen / n "}" Nume sau serviciu necunoscut "{send_user" Imposibil de conectat la $ netscreen / n "s et mailfail "Imposibil de conectat la $ netscreen / n"} timeout {send_user "Timeout conectare la $ netscreen" set mailfail "Timeout conectare la $ netscreen" close}} dacă {$ mailfail! = ""} {exec / bin / mail -s $ mailsubject $ mailto << "$ mailfail" exit} # Acum că s-a terminat, continuați # Dezactivați "mai mult" promptsend "setați pagina consolă 0 / r" așteptați {"$ prompt" {send_user "\ nPaging Disabled / n "} implicit {trimitere" ScreenOS nu a exceptat opțiunea de paginare. / n "a setat eșecul poștal" ScreenOS nu a exceptat opțiunea de paginare. " închidere} expirare {send_user "ScreenOS nu a exceptat opțiunea de paginare / n" a setat eșecul de mail "ScreenOS nu a exceptat opțiunea de paginare." închide}} dacă {$ mailfail! = ""} {exec / bin / mail -s $ mailsubject $ mailto << "$ mailfail" exit} send_user "Descărcare configurație / n" log_file $ basedir / $ logsend "obține config / r "așteptați {" $ prompt "{log_file send_user" / nConfigurare descărcată / n "} timeout {send_user" / nEroare în timpul descărcării configurării. " set mailfail "Eroare la descărcarea configurării." }} closeif {$ mailfail! = ""} {exec / bin / mail -s $ mailsubject $ mailto << "$ mailfail" exit} set size file [dimensiune fișier $ basedir / $ log] dacă {$ filesize <= 1024} {send_user "Netscreen config este prea mic, vă rugăm să investigați / n" set mailfail "Netscreen config este prea mic, vă rugăm să investigați / n" exec / bin / mail -s $ mailsubject $ mailto << "$ mailfail" exit} #Remove config mai vechi de 2 săptămânisexec găsi $ basedir -name '* config.txt *' -mtime +14