Оглавление:

Как сделать резервную копию межсетевого экрана Netscreen: 8 шагов
Как сделать резервную копию межсетевого экрана Netscreen: 8 шагов

Видео: Как сделать резервную копию межсетевого экрана Netscreen: 8 шагов

Видео: Как сделать резервную копию межсетевого экрана Netscreen: 8 шагов
Видео: Настройка провайдеров и маршрутизация в интернет-шлюзе ИКС / Российский межсетевой экран на FreeBSD 2024, Ноябрь
Anonim

Автор joeFollow Другие материалы автора:

Intel Edison Garage Monitor и система оповещения
Intel Edison Garage Monitor и система оповещения
Intel Edison Garage Monitor и система оповещения
Intel Edison Garage Monitor и система оповещения
Анализатор шин Intel Edison для Fat Bike
Анализатор шин Intel Edison для Fat Bike
Анализатор шин Intel Edison для Fat Bike
Анализатор шин Intel Edison для Fat Bike
Гаражный монитор Intel Galileo
Гаражный монитор Intel Galileo
Гаражный монитор Intel Galileo
Гаражный монитор Intel Galileo

О себе: Мне нравится повозиться практически со всем, иногда в конце концов получается. Получайте удовольствие, просматривая проекты, попробуйте что-нибудь открыть и расскажите мне, как это происходит. Ура, -Джо. Подробнее о Джо »

В этом руководстве показан сценарий, который можно использовать для автоматизации резервного копирования брандмауэра netscreen под управлением ScreenOS.

Шаг 1. Требования

Требования
Требования

Этот сценарий написан на языке expect и предполагает, что у вас включен SSH на вашем netscreen и в среде Linux. Если вы никогда не проверяли, ожидайте, у Oreilly есть отличная книга «Exploring Expect»

Шаг 2: переменные

Переменные
Переменные

Мы начнем с установки некоторых переменных. Вам нужно будет установить переменные port / username / password / netscreen / prompt в соответствии с вашей средой. #! / usr / bin / expect # Ожидаемый сценарий для резервного копирования конфигурации межсетевых экранов netscreen # Joe # Установка некоторого тайм-аута varsset 60set user "root" set password "password" set port "2022" set 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. Подключите

Соединять
Соединять

Затем в сценарии мы попытаемся подключиться. Send_user "NetScren Backup Script / n" send_user "Подключение к $ netscreen / n" spawn ssh $ user @ $ netscreen -p $ port expect {"password:" {send "$ password \" r "expect {" $ prompt "{send_user" Connected "}" Permission denied "{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 conncting to $ netscreen "set mailfail" Timeout conncting to $ netscreen "close}} if {$ mailfail! =" "} { exec / bin / mail -s $ mailsubject $ mailto << "$ mailfail" exit}

Шаг 4. Отключите пейджинг

Отключить пейджинг
Отключить пейджинг

Вам нужно выключить пейджинг - или больше подсказок на сетевом экране. # Отключить "more" promptsend "установить страницу консоли 0 / r" ожидать {"$ prompt" {send_user "\ nPaging Disabled / n"} default {send "ScreenOS не исключал опцию разбиения по страницам. / N" set mailfail "ScreenOS сделал кроме опции перелистывания ". close} timeout {send_user "ScreenOS не исключал опцию разбиения по страницам / n" устанавливал ошибку почты "ScreenOS не исключал опцию разбиения по страницам." close}} if {$ mailfail! = ""} {exec / bin / mail -s $ mailsubject $ mailto << "$ mailfail" exit}

Шаг 5: Получите конфигурацию

Получить конфигурацию
Получить конфигурацию

Теперь мы получим config. send_user "Загрузка конфигурации / n" файл_журнала $ basedir / $ logsend "get config / r" expect {"$ prompt" {файл_журнала send_user "\ nConfiguration Downloaded / n"} тайм-аут {send_user "\ nОшибка во время загрузки конфигурации". установить mailfail «Ошибка при загрузке конфигурации». }} closeif {$ mailfail! = ""} {exec / bin / mail -s $ mailsubject $ mailto << "$ mailfail" exit}

Шаг 6: проверьте, подходит ли конфигурация размера

Проверьте, подходит ли конфигурация размера
Проверьте, подходит ли конфигурация размера

Мы будем знать, проверяем, имеет ли конфигурация как минимум 1k.set размер файла [размер файла $ basedir / $ log], если {$ Size <= 1024} {send_user "Конфигурация Netscreen слишком мала, пожалуйста, исследуйте / n" установить mailfail " Конфигурация Netscreen слишком мала, проверьте / n "exec / bin / mail -s $ mailsubject $ mailto <<" $ mailfail "exit}

Шаг 7: очистка

Очистка
Очистка

Давайте проведем небольшую очистку, чтобы удалить конфигурации старше двух недель. # Удалить конфигурацию старше 2 недельsexec find $ basedir -name '* config.txt *' -mtime +14

Шаг 8: все вместе

Собери все это сейчас. Он прилагается в виде текстового файла. Он будет отправлять электронные письма о любых сбоях. #! / usr / bin / expect # Ожидаем сценария для резервного копирования конфигурации межсетевых экранов netscreen # Joe # Установка некоторого тайм-аута varsset 60set user "root" set password "password" set port "2022" set 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 / n "send_user" Подключение к $ netscreen / n "spawn ssh $ user @ $ netscreen -p $ port expect {"password:" {send "$ password / r" expect {"$ prompt" {send_user "Connected"} "Permission denied" {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"} timeout {send_user "Timeout conncting to $ netscreen" set mailfail "Timeout conncting to $ netscreen" close}} if {$ mailfail! = ""} {exec / bin / mail -s $ mailsubject $ mailto << "$ mailfail" exit} # Теперь, когда это закончилось, продолжаем # Отключить "more" promptsend "set console page 0 / r" expect {"$ prompt" {send_user "\ nPaging Disabled / n "} default {send" ScreenOS не исключал опцию разбиения по страницам. / n "set mailfail" ScreenOS не исключал опцию разбиения по страницам. " close} timeout {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" / nConfiguration Downloaded / n "} timeout {send_user" / nОшибка во время загрузки конфигурации. " установить mailfail «Ошибка при загрузке конфигурации». }} closeif {$ mailfail! = ""} {exec / bin / mail -s $ mailsubject $ mailto << "$ mailfail" exit} установить размер файла [размер файла $ basedir / $ log], если {$ Size <= 1024} {send_user "Конфигурация Netscreen слишком мала, изучите / n" set mailfail "Конфигурация Netscreen слишком мала, проверьте / n" exec / bin / mail -s $ mailsubject $ mailto << "$ mailfail" exit} # Удалить конфигурацию старше 2 недельsexec find $ basedir -name '* config.txt *' -mtime +14

Рекомендуемые: