Spisu treści:

Jak wykonać kopię zapasową zapory sieciowej Netscreen: 8 kroków
Jak wykonać kopię zapasową zapory sieciowej Netscreen: 8 kroków

Wideo: Jak wykonać kopię zapasową zapory sieciowej Netscreen: 8 kroków

Wideo: Jak wykonać kopię zapasową zapory sieciowej Netscreen: 8 kroków
Wideo: Cisco Forum 2015: "SDN i wirtualizacja sieci (…)", Tomasz Kułakowski 2024, Listopad
Anonim

Autor: joeFollow Więcej autora:

Monitor garażowy Intel Edison i system ostrzegania
Monitor garażowy Intel Edison i system ostrzegania
Monitor garażowy Intel Edison i system ostrzegania
Monitor garażowy Intel Edison i system ostrzegania
Analizator opon rowerowych Intel Edison Fat Bike
Analizator opon rowerowych Intel Edison Fat Bike
Analizator opon rowerowych Intel Edison Fat Bike
Analizator opon rowerowych Intel Edison Fat Bike
Monitor garażowy Intel Galileo
Monitor garażowy Intel Galileo
Monitor garażowy Intel Galileo
Monitor garażowy Intel Galileo

O: Lubię majstrować przy prawie wszystkim, czasami w końcu to się udaje. Baw się dobrze oglądając projekty, spróbuj rozerwać coś i daj mi znać, jak to działa. okrzyki, -Joe Więcej o joe »

Ta instrukcja pokazuje skrypt, którego można użyć do zautomatyzowania tworzenia kopii zapasowych zapory sieciowej z systemem ScreenOS.

Krok 1: Wymagania

Wymagania
Wymagania

Ten skrypt jest napisany w expect i zakłada, że masz włączone SSH na swoim netscreenie i w środowisku linuksowym. Jeśli nigdy się nie spodziewałeś, Oreilly ma świetną książkę „Exploring Expect”

Krok 2: Zmienne

Zmienne
Zmienne

Zaczniemy od ustawienia niektórych zmiennych. Będziesz chciał ustawić zmienne port/nazwa użytkownika/hasło/netscreen/prompt, aby pasowały do twojego środowiska. #!/usr/bin/expect#Oczekuj skryptu do tworzenia kopii zapasowej konfiguracji firewalli netscreen#Joe #Ustaw jakiś limit czasu varsset 60set użytkownika "root"ustaw hasło "hasło"ustaw port "2022"ustaw netscreen "foo.bar.com"set basedir "/mnt/netapp/backups/foo.bar.com"set log "[sygnatura czasowa -format %Y-%m-%d]-config.txt"set mailto "[email protected]"set mailsubject "Błąd: netscreen kopia zapasowa nie powiodła się [timestamp -format %Y-%m-%d] "set mailfail""ustaw monit "foo->"

Krok 3: Połącz

Łączyć
Łączyć

Następnie w skrypcie spróbujemy połączyć.send_user "NetScren Backup Script\n"send_user "Łączenie z $netscreen\n"spawn ssh $user@$netscreen -p$port oczekiwać { "password:" { send "$password\ r" oczekują { "$prompt" { send_user "Połączono" } "Odmowa dostępu" { send_user "Nieprawidłowe hasło, wyjście" set mailfail "Nieprawidłowe hasło, wyjście" close } timeout { send_user "Nie zwrócono monitu" set mailfail "Nie zwrócono monitu " close } } } "Brak trasy do hosta" { send_user "Nie można połączyć się z $netscreen\n" set mailfail "Nie można połączyć się z $netscreen\n" } "Nieznana nazwa lub usługa" { send_user "Nie można połączyć się z $netscreen\n" set mailfail "Nie można połączyć się z $netscreen\n" } timeout{ send_user "Przekroczono limit czasu połączenia z $netscreen" set mailfail "Przekroczono limit czasu połączenia z $netscreen" close } }if { $mailfail != "" } { exec /bin/mail -s$mailsubject $mailto << "$mailfail" wyjście}

Krok 4: Wyłącz stronicowanie

Wyłącz stronicowanie
Wyłącz stronicowanie

Musisz wyłączyć stronicowanie - lub więcej monitu na ekranie sieciowym. #Wyłącz monit "więcej" wyślij "ustaw stronę konsoli 0\r"expect { "$prompt" { send_user "\nStronicowanie wyłączone\n" } default { send "ScreenOS nie z wyjątkiem opcji stronicowania.\n" set mailfail "ScreenOS tak nie z wyjątkiem opcji stronicowania." close } timeout { send_user "ScreenOS nie wyjął opcji stronicowania\n" set mailfail "ScreenOS nie wyjął opcji stronicowania." zamknij }}if { $mailfail != "" } { exec /bin/mail -s$mailsubject $mailto << "$mailfail" exit}

Krok 5: Pobierz konfigurację

Pobierz konfigurację
Pobierz konfigurację

Otrzymamy teraz konfigurację. send_user "Pobieranie konfiguracji\n"log_file $basedir/$logsend "get config\r"expect { "$prompt" { log_file send_user "\nKonfiguracja pobrana\n" } limit czasu { send_user "\nBłąd podczas pobierania konfiguracji." set mailfail "Błąd podczas pobierania konfiguracji." }}closeif { $mailfail != "" } { exec /bin/mail -s$mailsubject $mailto << "$mailfail" exit}

Krok 6: Sprawdź, czy konfiguracja ma odpowiedni rozmiar

Sprawdź, czy konfiguracja ma odpowiedni rozmiar
Sprawdź, czy konfiguracja ma odpowiedni rozmiar

Będziemy wiedzieć sprawdzić, czy konfiguracja ma przynajmniej 1k.set filesize [rozmiar pliku $basedir/$log]if { $filesize <= 1024 } { send_user "Konfiguracja Netscreen jest za mała, sprawdź\n" set mailfail " Konfiguracja Netscreen jest za mała, sprawdź\n" exec /bin/mail -s$mailsubject $mailto << "$mailfail" exit}

Krok 7: Oczyszczanie

Sprzątać
Sprzątać

Przeprowadźmy małe porządki, aby usunąć konfiguracje starsze niż dwa tygodnie. #Usuń konfigurację starszą niż 2 tygodnieexec find $basedir -name '*config.txt*' -mtime +14

Krok 8: Wszyscy razem

Złóż to wszystko razem. Jest dołączony jako plik tekstowy. Wyśle e-maile o wszelkich awariach. #!/usr/bin/expect#Oczekuj, że skrypt wykona kopię zapasową konfiguracji zapór sieciowych netscreen#Joe#Ustaw limit czasu varsset 60set użytkownika "root"ustaw hasło "hasło"ustaw port "2022"ustaw netscreen "foo.bar.com"set basedir "/mnt/netapp/backups/foo.bar.com"set log "[sygnatura czasowa -format %Y-%m-%d]-config.txt"set mailto "[email protected]"set mailsubject "Błąd: netscreen kopia zapasowa nie powiodła się [timestamp -format %Y-%m-%d] "set mailfail ""set prompt "foo-> "send_user "Skrypt kopii zapasowej NetScren\n"send_user "Łączenie z $netscreen\n"spawn ssh $user@$ netscreen -p$port oczekiwać { "hasło:" { send "$hasło\r" oczekiwać { "$prompt" { send_user "Połączono" } "Odmowa dostępu" { send_user "Nieprawidłowe hasło, wyjście" set mailfail "Nieprawidłowe hasło, wyjście " close } timeout { send_user "Nie zwrócono podpowiedzi" set mailfail "Nie zwrócono podpowiedzi" close } } } "Brak trasy do hosta" { send_user "Nie można połączyć się z $netscreen\n" set mailfail "Nie można połączyć się z $netscreen\ n" } "Nieznana nazwa lub usługa" { send_user "Nie można połączyć się z $netscreen\n" s et mailfail "Nie można połączyć się z $netscreen\n" } timeout{ send_user "Przekroczono limit czasu połączenia z $netscreen" set mailfail "Przekroczono limit czasu połączenia z $netscreen" close } }if { $mailfail != "" } { exec /bin/mail -s$mailsubject $mailto << "$mailfail" exit}#Teraz to już koniec, kontynuuj#Wyłącz monit "więcej"wyślij "ustaw stronę konsoli 0\r"expect { "$prompt" { send_user "\nStronicowanie wyłączone\ n" } default { send "ScreenOS nie wyjął opcji stronicowania.\n" set mailfail "ScreenOS nie wyjął opcji stronicowania." close } timeout { send_user "ScreenOS nie wyjął opcji stronicowania\n" set mailfail "ScreenOS nie wyjął opcji stronicowania." zamknij }}if { $mailfail != "" } { exec /bin/mail -s$mailsubject $mailto << "$mailfail" exit}send_user "Pobieranie konfiguracji\n"log_file $basedir/$logsend "get config\r "expect { "$prompt" { log_file send_user "\nKonfiguracja pobrana\n" } limit czasu { send_user "\nBłąd podczas pobierania konfiguracji." set mailfail "Błąd podczas pobierania konfiguracji." }}closeif { $mailfail != "" } { exec /bin/mail -s$mailsubject $mailto << "$mailfail" exit}set rozmiar pliku [rozmiar pliku $basedir/$log]if { $rozmiar pliku <= 1024 } { send_user "Konfiguracja Netscreen jest za mała, sprawdź\n" set mailfail "Konfiguracja Netscreen jest za mała, sprawdź\n" exec /bin/mail -s$mailsubject $mailto << "$mailfail" exit}#Usuń konfigurację starsze niż 2 tygodnieexec find $basedir -name '*config.txt*' -mtime +14

Zalecana: