Съдържание:

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

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

Видео: Как да архивирате защитна стена на Netscreen: 8 стъпки
Видео: Part 1 - The Thirty-Nine Steps Audiobook by John Buchan (Chs 1-5) 2024, Декември
Anonim

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

Гаражен монитор и система за предупреждение на Intel Edison
Гаражен монитор и система за предупреждение на Intel Edison
Гаражен монитор и система за предупреждение на Intel Edison
Гаражен монитор и система за предупреждение на Intel Edison
Анализатор за гуми за велосипеди Intel Edison
Анализатор за гуми за велосипеди Intel Edison
Анализатор за гуми за велосипеди Intel Edison
Анализатор за гуми за велосипеди Intel Edison
Гаражен монитор Intel Galileo
Гаражен монитор Intel Galileo
Гаражен монитор Intel Galileo
Гаражен монитор Intel Galileo

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

Тази инструкция показва скрипт, който може да се използва за автоматизиране на архивиране на защитна стена на 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" [email protected] "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

Вземете Config
Вземете 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" [email protected] "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

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