Как да архивирате защитна стена на Netscreen: 8 стъпки
Как да архивирате защитна стена на Netscreen: 8 стъпки
Anonim

От joeFollow Още от автора:

За: Обичам да се занимавам с почти всичко, понякога накрая се получава. Забавлявайте се, разглеждайки проектите, опитайте да разкъсате нещо отворено и ме уведомете как вървят нещата. наздраве, -Джо Повече за Джо »

Тази инструкция показва скрипт, който може да се използва за автоматизиране на архивиране на защитна стена на netscreen, работеща с ScreenOS.

Стъпка 1: Изисквания

Този скрипт е написан в очаквано и предполага, че сте включили SSH на вашия netscreen и Linux среда. Ако никога не сте проверявали очакванията, Oreilly има страхотна книга „Exploring Expect“https://oreilly.com/catalog/9781565920903/

Стъпка 2: Променливи

Ще започнем с настройката на някои променливи, които ще искате да зададете променливите порт/потребителско име/парола/netscreen/подкана, за да съответстват на вашата среда. #!/usr/bin/очаквате#Очаквайте скрипта за архивиране на конфигурацията на защитните стени на netscreen#Джо#Задайте известно време за изчакване на varsset 60set потребител "root" задайте парола "парола" задайте порт "2022" задайте netscreen "foo.bar.com" set basedir "/mnt/netapp/backups/foo.bar.com"set log" [timestamp -format%Y-%m-%d] -config.txt "set mailto" joe@foo.com "set mailsubject" Грешка: netscreen архивирането не бе успешно [timestamp -format%Y-%m-%d] "set mailfail" "set prompt" foo->"

Стъпка 3: Свържете се

След това в скрипта ще се опитаме да се свържем. r "очаквам {" $ prompt "{send_user" Connected "}" Разрешението е отказано "{send_user" Невалидна парола, излизане от "set mailfail" Невалидна парола, излизане от "close} timeout {send_user" Няма подкана да се върне "set mailfail" Не се връща подкана "close}}}" Няма маршрут до хост "{send_user" Не може да се свърже с $ netscreen / n "set mailfail" Не може да се свърже с $ netscreen / n "}" Име или услуга не са известни "{send_user" Не мога да се свържа $ netscreen / n "set mailfail" Не може да се свърже с $ netscreen / n "} timeout {send_user" Timeout при свързване към $ netscreen "set mailfail" Timeout при свързване към $ netscreen "close}} ако {$ mailfail! =" "} { exec /bin /mail -s $ mailsubject $ mailto << "$ mailfail" изход}

Стъпка 4: Изключете пейджинга

Трябва да изключите пейджинга - или по -скоро подканата на мрежовия екран. #Деактивирайте "more" promptsend "set console page 0 / r" очаквайте {"$ prompt" {send_user "\ nPaging Disabled / n"} по подразбиране {send "ScreenOS не е изключила опцията за пейджинг. / N" set mailfail "ScreenOS направи освен опцията за пейджинг. " затваряне} изчакване {send_user "ScreenOS не е изключила опцията за пейджинг / n" задава пощенска грешка "ScreenOS не е изключила опцията за пейджинг." затвори}} ако {$ mailfail! = ""} {exec /bin /mail -s $ mailsubject $ mailto << "$ mailfail" изход}

Стъпка 5: Вземете Config

Сега ще получим конфигурацията. send_user "Изтегляне на конфигурация / n" log_file $ basedir/$ logsend "get config / r" очаквам {"$ prompt" {log_file send_user "\ nКонфигурация изтеглена / n"} изчакване {send_user "\ nГрешка при изтегляне на конфигурацията." set mailfail "Грешка при изтегляне на конфигурацията." }} closeif {$ mailfail! = ""} {exec /bin /mail -s $ mailsubject $ mailto << "$ mailfail" изход}

Стъпка 6: Проверете дали конфигурацията е с правилния размер

Ще знаем да проверим дали конфигурацията е поне 1k.set fileize [размер на файла $ basedir/$ log] ако {$ filesize <= 1024} {send_user "Конфигурацията на Netscreen е твърде малка, моля, разгледайте / n" set mailfail “Конфигурацията на Netscreen е твърде малка, моля, разгледайте / n "exec /bin /mail -s $ mailsubject $ mailto <<" $ mailfail "exit}

Стъпка 7: Почистване

Нека да извършим малко почистване, за да премахнем конфигурациите, по -стари от две седмици. #Премахване на конфигурация по -стара от 2 седмициsexec намери $ basedir -name '*config.txt*' -mtime +14

Стъпка 8: Всички заедно

Сглобете всичко сега. Прикачен е като текстов файл. Той ще изпраща имейли за всякакви неуспехи. #!/usr/bin/очаквате#Очаквайте скрипта да архивира конфигурацията на защитните стени на netscreen#Джо#Задайте време за изчакване на varsset 60set потребител "root" задайте парола "парола" задайте порт "2022" задайте netscreen "foo.bar.com" set basedir "/mnt/netapp/backups/foo.bar.com"set log" [timestamp -format%Y-%m-%d] -config.txt "set mailto" joe@foo.com "set mailsubject" Грешка: netscreen архивирането не бе успешно [timestamp -format%Y-%m-%d] "set mailfail" "set prompt" foo-> "send_user" NetScren Backup Script / n "send_user" Свързване към $ netscreen / n "spawn ssh $ user@$ netscreen -p $ port очаква {"парола:" {изпраща "$ парола / r" очаква {"$ подкана" {send_user "Свързан"} "Разрешение е отказано" {send_user "Невалидна парола, излизане от" set mailfail "Невалидна парола, излизане "close} timeout {send_user" Не се връща подкана "set mailfail" Не се връща подкана "close}}}" Няма маршрут до хоста "{send_user" Не мога да се свържа с $ netscreen / n "set mailfail" Не мога да се свържа с $ netscreen / n "}" Име или услуга не са известни "{send_user" Не може да се свърже с $ netscreen / n "s et mailfail "Не може да се свърже с $ netscreen / n"} изчакване {send_user "Изчакване при свързване към $ netscreen" задайте mailfail "Изчакване при свързване с $ netscreen" затваряне}} ако {$ mailfail! = ""} {exec /bin /mail -s $ mailsubject $ mailto << "$ mailfail" exit}#Сега, когато това приключи, продължете#Деактивирайте страницата за конзола за задаване на "more" promptsend "0 / r" очаквайте {"$ prompt" {send_user "\ n Страницата е деактивирана / n "} по подразбиране {изпрати" ScreenOS не е изключила опцията за пейджинг. / n "задайте пощенска грешка" ScreenOS не е изключила опцията за пейджинг. " затваряне} изчакване {send_user "ScreenOS не е изключила опцията за пейджинг / n" задава пощенска грешка "ScreenOS не е изключила опцията за пейджинг." close}} if {$ mailfail! = ""} {exec/bin/mail -s $ mailsubject $ mailto << "$ mailfail" exit} send_user "Изтегляне на конфигурация / n" log_file $ basedir/$ logsend "get config / r "очаквайте {" $ prompt "{log_file send_user" / nКонфигурацията е изтеглена / n "} таймаут {send_user" / nГрешка по време на изтеглянето на конфигурацията. " set mailfail "Грешка при изтегляне на конфигурацията." }} closeif {$ mailfail! = ""} {exec/bin/mail -s $ mailsubject $ mailto << "$ mailfail" exit} задайте размер на файла [размер на файла $ basedir/$ log], ако {$ filesize <= 1024} {send_user "Конфигурацията на Netscreen е твърде малка, моля, проучете / n" set mailfail "Конфигурацията на Netscreen е твърде малка, моля, разгледайте / n" exec /bin /mail -s $ mailsubject $ mailto << "$ mailfail" exit}#Премахване на конфигурацията по -стари от 2 седмициsexec намери $ basedir -name '*config.txt*' -mtime +14

Препоръчано: