Inhoudsopgave:

Een back-up maken van een Netscreen-firewall: 8 stappen
Een back-up maken van een Netscreen-firewall: 8 stappen

Video: Een back-up maken van een Netscreen-firewall: 8 stappen

Video: Een back-up maken van een Netscreen-firewall: 8 stappen
Video: Configuratie terugdraaien | Inleiding tot Juniper en JNCIA Deel 6 2024, November
Anonim

Door joeVolg meer door de auteur:

Intel Edison garagemonitor en waarschuwingssysteem
Intel Edison garagemonitor en waarschuwingssysteem
Intel Edison garagemonitor en waarschuwingssysteem
Intel Edison garagemonitor en waarschuwingssysteem
Intel Edison Fat Bike Tyre Analyzer
Intel Edison Fat Bike Tyre Analyzer
Intel Edison Fat Bike Tyre Analyzer
Intel Edison Fat Bike Tyre Analyzer
Intel Galileo-garagemonitor
Intel Galileo-garagemonitor
Intel Galileo-garagemonitor
Intel Galileo-garagemonitor

Over: Ik vind het leuk om aan zo ongeveer alles te sleutelen, soms komt het wel goed. Veel plezier met het bekijken van de projecten, probeer iets open te scheuren en laat me weten hoe het gaat. proost, -Joe Meer over Joe »

Deze instructable toont een script dat kan worden gebruikt om back-ups van een netscreen-firewall met ScreenOS te automatiseren.

Stap 1: Vereisten

Vereisten
Vereisten

Dit script is geschreven in expect en gaat ervan uit dat je SSH hebt ingeschakeld op je netscreen en een linux-omgeving. Als je nog nooit hebt uitgecheckt, heeft Oreilly een geweldig boek "Exploring Expect"

Stap 2: Variabelen

Variabelen
Variabelen

We beginnen met het instellen van enkele variabelen. U wilt de variabelen poort/gebruikersnaam/wachtwoord/netscreen/prompt aanpassen aan uw omgeving. #!/usr/bin/expect# Verwacht script voor back-up configuratie van netscreen firewalls#Joe #Stel een varsset time-out in 60set gebruiker "root"stel wachtwoord in "wachtwoord"stel poort "2022"stel netscreen in "foo.bar.com"set basedir "/mnt/netapp/backups/foo.bar.com"set log "[timestamp -format %Y-%m-%d]-config.txt"set mailto "[email protected]"set mailsubject "Fout: netscreen back-up mislukt [timestamp -format %Y-%m-%d] "set mailfail ""stel prompt "foo-> " in

Stap 3: Verbinden

Aansluiten
Aansluiten

Vervolgens zullen we in het script proberen connect.send_user "NetScren Backup Script\n"send_user "Verbinding maken met $netscreen\n"spawn ssh $user@$netscreen -p$port expect { "password:" { send "$password\ r" expect { "$prompt" { send_user "Connected" } "Toestemming geweigerd" { send_user "Ongeldig wachtwoord, exiting" set mailfail "Ongeldig wachtwoord, exiting" close } timeout { send_user "Geen prompt terug" set mailfail "Geen prompt terug " close } } } "Geen route naar host" { send_user "Kan geen verbinding maken met $netscreen\n" set mailfail "Kan geen verbinding maken met $netscreen\n" } "Naam of service niet bekend" { send_user "Kan geen verbinding maken met $netscreen\n" set mailfail "Kan geen verbinding maken met $netscreen\n" } timeout{ send_user "Time-out verbinding met $netscreen" set mailfail "Time-out verbinding met $netscreen" close } }if { $mailfail != "" } { exec /bin/mail -s$mailsubject $mailto << "$mailfail" exit}

Stap 4: Schakel paging uit

Schakel paging uit
Schakel paging uit

U moet paging uitschakelen - of meer prompt op het netscreen. #Disable the "more" promptsend "set console page 0\r"expect { "$prompt" { send_user "\nPaging Disabled\n" } default { send "ScreenOS did not behalve paging option.\n" set mailfail "ScreenOS deed niet behalve paging-optie." close } timeout { send_user "ScreenOS niet behalve paging-optie\n" set mailfail "ScreenOS behalve paging-optie." sluiten }}if { $mailfail != "" } { exec /bin/mail -s$mailsubject $mailto << "$mailfail" exit}

Stap 5: Configuratie ophalen

Configuratie ophalen
Configuratie ophalen

We krijgen nu de config. send_user "Configuratie downloaden\n"log_file $basedir/$logsend "get config\r"expect { "$prompt" { log_file send_user "\nConfiguratie gedownload\n" } time-out { send_user "\nFout tijdens downloaden van configuratie." set mailfail "Fout tijdens downloaden van configuratie." }}closeif { $mailfail != "" } { exec /bin/mail -s$mailsubject $mailto << "$mailfail" exit}

Stap 6: Controleer of de configuratie de juiste maat heeft

Controleer of de configuratie de juiste maat heeft
Controleer of de configuratie de juiste maat heeft

We zullen weten of de configuratie minimaal 1k is.set bestandsgrootte [bestandsgrootte $basedir/$log]if { $filesize <= 1024} { send_user "Netscreen-configuratie is te klein, onderzoek alstublieft\n" set mailfail " Netscreen-configuratie is te klein, onderzoek alstublieft\n" exec /bin/mail -s$mailsubject $mailto << "$mailfail" exit}

Stap 7: Opruimen

Schoonmaken
Schoonmaken

Laten we een kleine schoonmaak uitvoeren om configuraties ouder dan twee weken te verwijderen. #Remove config ouder dan 2 weeksexec find $basedir -name '*config.txt*' -mtime +14

Stap 8: Allemaal samen

Zet het nu allemaal bij elkaar. Het is als tekstbestand bijgevoegd. Het stuurt e-mails over eventuele fouten. #!/usr/bin/expect# Verwacht script voor back-upconfiguratie van netscreen-firewalls#Joe#Stel een varsset-time-out in 60set gebruiker "root"stel wachtwoord in "wachtwoord"stel poort "2022"stel netscreen in "foo.bar.com"set basedir "/mnt/netapp/backups/foo.bar.com"set log "[timestamp -format %Y-%m-%d]-config.txt"set mailto "[email protected]"set mailsubject "Fout: netscreen back-up mislukt [timestamp -format %Y-%m-%d] "set mailfail ""set prompt "foo-> "send_user "NetScren Backup Script\n"send_user "Verbinding maken met $netscreen\n"spawn ssh $user@$ netscreen -p$port expect { "password:" { send "$password\r" expect { "$prompt" { send_user "Connected" } "Toestemming geweigerd" { send_user "Ongeldig wachtwoord, exiting" set mailfail "Ongeldig wachtwoord, exiting " close } timeout { send_user "Geen prompt terug" set mailfail "Geen prompt terug" close } } } "Geen route naar host" { send_user "Kan geen verbinding maken met $netscreen\n" set mailfail "Kan geen verbinding maken met $netscreen\ n" } "Naam of service niet bekend" { send_user "Kan geen verbinding maken met $netscreen\n" s et mailfail "Kan geen verbinding maken met $netscreen\n" } timeout{ send_user "Time-out verbinding met $netscreen" set mailfail "Time-out verbinding maken met $netscreen" close } }if { $mailfail!= "" } { exec /bin/mail -s$mailsubject $mailto << "$mailfail" exit}#Nu dat voorbij is, ga verder#Schakel de "meer" prompt uitstuur "set console page 0\r"expect { "$prompt" { send_user "\nPaginering uitgeschakeld\ n" } default { send "ScreenOS heeft niet behalve paging-optie.\n" set mailfail "ScreenOS heeft niet behalve paging-optie." close } timeout { send_user "ScreenOS niet behalve paging-optie\n" set mailfail "ScreenOS behalve paging-optie." close }}if { $mailfail != "" } { exec /bin/mail -s$mailsubject $mailto << "$mailfail" exit}send_user "Configuratie downloaden\n"log_file $basedir/$logsend "get config\r "expect { "$prompt" { log_file send_user "\nConfiguratie gedownload\n" } time-out { send_user "\nFout tijdens downloaden van configuratie." set mailfail "Fout tijdens downloaden van configuratie." }}closeif { $mailfail != "" } { exec /bin/mail -s$mailsubject $mailto << "$mailfail" exit}stel bestandsgrootte in [bestandsgrootte $basedir/$log]if { $bestandsgrootte <= 1024 } { send_user "Netschermconfiguratie is te klein, onderzoek alstublieft\n" set mailfail "Netschermconfiguratie is te klein, onderzoek alstublieft\n" exec /bin/mail -s$mailsubject $mailto << "$mailfail" exit}#Remove config ouder dan 2 wekenexec vinden $basedir -name '*config.txt*' -mtime +14

Aanbevolen: