Автоматизированное резервное копирование маршрутизаторов MikroTik

Просмотров: 360

Суть скрипта в том, что, если у вас имеется 50 + маршрутизаторов (хотя и до 50-ти это тоже полезно) вам не надо заходить и самостоятельно, вручную делать backupвашего маршрутизатора.

Для начала для того чтобы понимать, что это за зверь, и с чем его едят, давайте рассмотрим функции данного скрипта:

-       Соединение с аутентификацией по паролю и выполнение операций резервного копирования

-       - Соединение с аутентификацией по ключу и выполнение операций резервного копирования

-        - Создание backup

-        - Выполнение команды по ssh

-        - Получения файла по ssh

-        - Проверка открыт ли порт

-        - Проверяет есть ли файл, если нет, создает его

-        - Проверяет существует ли каталог

-        - Отправка отчета по почте

-        - Формирует отчет по разнице в конфигурациях

Скрипт backup-ов написан на языке Python, взаимодействует, к сожалению, только с версией 2.7.x. Для полной, и комфортной работы скрипта требуются дополнительные модули Pythonтакие как:

-       -  Paramiko(модуль для работы с ssh в python)

-        PyYaml(для работы с данными, ввод/вывод)

 Подготовка MikroTik

*Рассматриваемые действия выполняются непосредственно через WinBoxили же по протоколу SSH.

Как мы уже поняли наш скрипт обращается к каждому из маршрутизаторов по протоколу SSH(Secure Shell), по стандарту он имеет порт 22 TCP, мы рассмотрим вариант резервного копирования по Login/Password.

Для начала убедитесь, что у вас включен Сервис SSH, выполните в терминале MikroTikкоманду ipservice print, если данный сервис запущен, то вам остается добавить адреса, с которых разрешено создавать подключения по SSH, для этого выполните команду ip service set ssh address= (ваш ip or range).

После этого у вас появятся ваши адреса в строке SSH, во вкладке IP> Service.

Далее нам требуется пользователь с правами, который сможет подключаться и выполнять команды. Если у вас уже есть пользователь, который будет отвечать за это, то пропустите этот шаг, если нет, то выполните команду

user set password=password login

Последний шаг, это открытие порта SSHдля подключения в Firewall, ранее мы только сказали, что определенным адресам можно подключаться по этому протоколу, но нам же еще надо и разрешить делать это. Для этого мы должны написать правило в (IP> Firewall> Filter), или добавить через терминал командой :

ip firewall filter add chain=input dst-port=22 action=accept comment=Allow_SSH

Наверное, возник вопрос о том, что, “мы же светим этим портом на лево и на право!”, нет, для того чтобы предотвратить подключение с других адресов мы вписали истинные в IP> Servicesв строке SSH. Вы можете убедится в этом сами подключившись с другого IPадреса.

На этом подготовка маршрутизатора окончена.

Подготовка платформы для запуска скрипта

Первое что требуется это установить сам Python 2.7.x, для этого вы можете скачать его с официального сайта, или воспользоваться мои скриптом который все сделает за вас, рассмотрим для начала подготовку без моего скрипта.

  1. Скачиваем Python (https://www.python./ftp/python/2.7.13/python-2.7.13.msi
  2. При установке Pythonобязательно установите галочку рядом с AddPython.exe to Path
  3. После установки Pythonоткройте командную строку от имени Администратора и выполните две команды (установка модулей, читай выше)

- pip install paramiko

- pip install pyyaml

  1. Далее создайте папку на диске C: под именем  MikroBack, и переместите туда все файлы из архива (https://drive.google.com/a/osi.in.ua/file/d/0B8GteDVNkTRddElWU0stNGI5NTA/view?usp=sharing)
  2. После этого отредактируйте под себя файл config.conf, ip_list.txt
  3. Теперь вы смело можете запускать файл backup.py и наблюдать за резервирование данных вашего маршрутизатора.

Рассмотрим скрипт, который все вышеперечисленное делает за вас:

(https://drive.google.com/open?id=0B8GteDVNkTRdQ003aWszV084bDQ)

-       Отключить на 5-10 мин антивирус, так как он SFX (все не любят SFX)

-       Ждать 5-10 мин

-       Вуаля, скрипт развернул себя на диск C: и добавлен в Планировщик задач, который будет выполнятся каждый день в 8:00 AM

-       Отредактируйте под себя файл config.conf, ip_list.txt в папке C:\MikroBack

Что делает скрипт во время установки, все тоже что мы описывали ранее, скрипт OpenSource, открывайте, редактируйте…

На этом все )

Для реализации задачи был взят ресурс:
https://github.com/0x566164696D/mt_backup_ng

Если заметили ошибку, выделите фрагмент текста и нажмите Ctrl+Enter

Оставить комментарий

0