Jak zálohovat bránu firewall Netscreen: 8 kroků
Jak zálohovat bránu firewall Netscreen: 8 kroků
Anonim

Od joeSledovat Více od autora:

O: Rád si pohrávám téměř s čímkoli, někdy to nakonec vyjde. Bavte se při pohledu na projekty, zkuste něco roztrhat a dejte mi vědět, jak to jde. na zdraví, -Joe Více o Joeovi »

Tento návod ukazuje skript, který lze použít k automatizaci zálohování brány firewall netscreen se systémem ScreenOS.

Krok 1: Požadavky

Tento skript je napsán v očekávání a předpokládá, že máte SSH zapnuté na obrazovce netscreen a linuxu. Pokud jste nikdy nevyzkoušeli očekávání, Oreilly má skvělou knihu „Exploring Expect“https://oreilly.com/catalog/9781565920903/

Krok 2: Proměnné

Začneme nastavením některých proměnných. Budete chtít nastavit proměnné port/uživatelské jméno/heslo/netscreen/výzva tak, aby odpovídaly vašemu prostředí. #!/usr/bin/expect#Očekávejte skript pro zálohování konfigurace firewallů netscreen#Joe #Nastavte nějaký časový limit varsetu 60set uživatele „root“nastavte heslo „heslo“nastavte port „2022“nastavte netscreen „foo.bar.com“nastavte basedir "/mnt/netapp/backups/foo.bar.com"set log" [timestamp -format%Y-%m-%d] -config.txt "set mailto" [email protected] "set mailsubject" Chyba: netscreen zálohování se nezdařilo [timestamp -format%Y-%m-%d] "set mailfail" "set prompt" foo->"

Krok 3: Připojte se

Jako další ve skriptu se pokusíme připojit. r "expect {" $ prompt "{send_user" Connected "}" Permission denied "{send_user" Neplatné heslo, ukončení "set mailfail" Neplatné heslo, ukončení "close} timeout {send_user" Žádná výzva vrácena "set mailfail" Žádná výzva vrácena "close}}}" Žádná cesta k hostiteli "{send_user" Nelze se připojit k $ netscreen / n "nastavit mailfail" Nelze se připojit k $ netscreen / n "}" Jméno nebo služba není známa "{send_user" Nelze se připojit $ netscreen / n "set mailfail" Nelze se připojit k $ netscreen / n "} timeout {send_user" Timeout connying to $ netscreen "set mailfail" Timeout connying to $ netscreen "close}} if {$ mailfail! =" "} { exec /bin /mail -s $ mailsubject $ mailto << "$ mailfail" exit}

Krok 4: Vypněte stránkování

Musíte vypnout stránkování - nebo další výzvu na obrazovce sítě. #Zakažte stránku konzoly „více“promptsend „očekávat 0“kromě možnosti stránkování. " zavřít} časový limit {send_user "ScreenOS nevybral kromě možnosti stránkování / n" nastavit mailfail "ScreenOS nevybral kromě možnosti stránkování." zavřít}} pokud {$ mailfail! = ""} {exec /bin /mail -s $ mailsubject $ mailto << "$ mailfail" exit}

Krok 5: Získejte konfiguraci

Nyní získáme konfiguraci. send_user "Konfigurace stahování / n" log_file $ basedir/$ logsend "get config / r" expect {"$ prompt" {log_file send_user "\ nConfiguration Downloaded / n"} timeout {send_user "\ nError during configuration download." nastavit mailfail "Chyba při stahování konfigurace." }} closeif {$ mailfail! = ""} {exec /bin /mail -s $ mailsubject $ mailto << "$ mailfail" exit}

Krok 6: Zkontrolujte, zda je konfigurace správná velikost

Budeme vědět, zda je konfigurace alespoň 1 kB. Nastavit velikost souboru [velikost souboru $ basedir/$ log], pokud {$ filesize <= 1024} {send_user "Konfigurace Netscreen je příliš malá, prozkoumejte prosím / n" nastavit mailfail " Konfigurace Netscreen je příliš malá, prozkoumejte / n "exec /bin /mail -s $ mailsubject $ mailto <<" $ mailfail "exit}

Krok 7: Vyčištění

Pojďme spustit malé vyčištění, abychom odstranili konfigurace starší než dva týdny. #Remove config starší než 2 týdnysexec najít $ basedir -name '*config.txt*' -mtime +14

Krok 8: Všichni společně

Teď to dejte dohromady. Je připojen jako textový soubor. V případě jakýchkoli selhání bude odesílat e -maily. #!/usr/bin/expect#Očekávejte skript pro zálohování konfigurace firewallů netscreen#Joe#Nastavit nějaký časový limit varsetu 60set uživatel „root“nastavit heslo „heslo“nastavit port „2022“nastavit netscreen „foo.bar.com“nastavit basedir "/mnt/netapp/backups/foo.bar.com"set log" [timestamp -format%Y-%m-%d] -config.txt "set mailto" [email protected] "set mailsubject" Chyba: netscreen zálohování se nezdařilo [timestamp -format%Y-%m-%d] "set mailfail" "set prompt" foo-> "send_user" NetScren Backup Script / n "send_user" Connecting to $ netscreen / n "spawn ssh $ user@$ netscreen -p $ port expect {"heslo:" {send "$ password / r" expect {"$ prompt" {send_user "Connected"} "Oprávnění odepřeno" {send_user "Neplatné heslo, ukončení" set mailfail "Neplatné heslo, ukončení "close} timeout {send_user" Žádná výzva vrácena "set mailfail" Žádná výzva vrácena "close}}}" Žádná trasa k hostiteli "{send_user" Nelze se připojit k $ netscreen / n "nastavit mailfail" Nelze se připojit k $ netscreen / n "}" Jméno nebo služba není známa "{send_user" Nelze se připojit k $ netscreen / n "s et mailfail "Nelze se připojit k $ netscreen / n"} timeout {send_user "Timeout conconnecting to $ netscreen" set mailfail "Timeout connying to $ netscreen" close}} if {$ mailfail! = ""} {exec /bin /mail -s $ mailsubject $ mailto << "$ mailfail" exit}#Nyní, když to skončilo, pokračujte#Zakažte "více" promptsend "nastavte stránku konzoly 0 / r" očekávejte {"$ prompt" {send_user "\ nStránka deaktivována / n "} výchozí {odeslat" ScreenOS nevyjímal kromě možnosti stránkování. / n "nastavit mailfail" ScreenOS nevyjímal kromě možnosti stránkování. " zavřít} časový limit {send_user "ScreenOS nevybral kromě možnosti stránkování / n" nastavit mailfail "ScreenOS nevybral kromě možnosti stránkování." zavřít}} if {$ mailfail! = ""} {exec/bin/mail -s $ mailsubject $ mailto << "$ mailfail" exit} send_user "Stahování konfigurace / n" log_file $ basedir/$ logsend "get config / r "expect {" $ prompt "{log_file send_user" / nConfiguration Downloaded / n "} timeout {send_user" / nChyba během stahování konfigurace. " nastavit mailfail "Chyba při stahování konfigurace." }} closeif {$ mailfail! = ""} {exec/bin/mail -s $ mailsubject $ mailto << "$ mailfail" exit} nastavit velikost souboru [velikost souboru $ basedir/$ log], pokud {$ velikost souboru <= 1024} {send_user "Konfigurace Netscreen je příliš malá, prozkoumejte / n" nastavte mailfail "Konfigurace Netscreen je příliš malá, prozkoumejte / n" exec /bin /mail -s $ mailsubject $ mailto << "$ mailfail" exit} #Remove config starší než 2 týdny vyhledejte $ basedir -name '*config.txt*' -mtime +14