Как управлять сетевыми устройствами MikroTik с помощью Python и Netmiko

Как управлять сетевыми устройствами MikroTik с помощью Python и Netmiko

В этой статье Вы узнаете, как автоматизировать ежедневные задачи на сетевых устройствах MikroTik с помощью языка программирования Python и библиотеки Netmiko.

Netmiko — это библиотека Python для подключения к сетевым устройствам по протоколу ssh.

Содержание:

  1. Установка
  2. Подключение
  3. Отправка команды
  4. Пример скрипта для резервного копирования настроек
  5. Зыкрытие подключения
  6. Итоговый скрипт для резервного копирования настроек MikroTik
  7. Выводы

Установка

Netmiko можно установить через менеджер пакетов PIP.

Подключение

Для подключения к устройствам мы будем использовать ConnectHandler.

Отправка команды

Для отправки команды мы будем использовать метод send_command.

 

Если нужно отправить много комманд используем слудующую конструкцию:

 

Пример скрипта для резервного копирования настроек

Закрытие подключения

После выполнения всех команд на удаленном устройстве, необходимо выполнить отключение.

Итоговый скрипт для резервного копирования настроек MikroTik

 

GIT

 

Выводы

Спасибо за время, уделенное на прочтение этой статьи. Таким образом, мы успешно справились автоматизацией задач на устройствах MikroTik при помощи Python и Netmiko.

Если возникли вопросы, задавайте их в комментариях.

Подписывайтесь на обновления нашего блога и оставайтесь в курсе новостей мира инфокоммуникаций!

Чтобы знать больше и выделяться знаниями среди толпы IT-шников, записывайтесь на курсы Cisco, курсы по кибербезопасности, полный курс по кибербезопасности, курсы DevNet / DevOps (программируемые системы) от Академии Cisco, курсы Linux от Linux Professional Institute на платформе SEDICOMM University (Университет СЭДИКОММ).

Курсы Cisco, Linux, кибербезопасность, DevOps / DevNet, Python с трудоустройством!

Спешите подать заявку! Группы стартуют 25 января, 26 февраля, 22 марта, 26 апреля, 24 мая, 21 июня, 26 июля, 23 августа, 20 сентября, 25 октября, 22 ноября, 20 декабря.
Что Вы получите?
  • Поможем стать экспертом по сетевой инженерии, кибербезопасности, программируемым сетям и системам и получить международные сертификаты Cisco, Linux LPI, Python Institute.
  • Предлагаем проверенную программу с лучшими учебниками от экспертов из Cisco Networking Academy, Linux Professional Institute и Python Institute, помощь сертифицированных инструкторов и личного куратора.
  • Поможем с трудоустройством и стартом карьеры в сфере IT — 100% наших выпускников трудоустраиваются.
Как проходит обучение?
  • Проведем вечерние онлайн-лекции на нашей платформе.
  • Согласуем с вами удобное время для практик.
  • Если хотите индивидуальный график — обсудим и реализуем.
  • Личный куратор будет на связи, чтобы ответить на вопросы, проконсультировать и мотивировать придерживаться сроков сдачи экзаменов.
  • Всем, кто боится потерять мотивацию и не закончить обучение, предложим общение с профессиональным коучем.
А еще поможем Вам:
  • отредактировать или создать с нуля резюме;
  • подготовиться к техническим интервью;
  • подготовиться к конкурсу на понравившуюся вакансию;
  • устроиться на работу в Cisco по специальной программе. Наши студенты, которые уже работают там: жмите на #НашиВCisco Вконтакте, #НашиВCisco Facebook.
Чтобы учиться на курсах Cisco, Linux LPI, кибербезопасность, DevOps / DevNet, Python, подайте заявку или получите бесплатную консультацию.

Больше похожих постов

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

  • А вот команду
    /system health print
    выполнять отказывается….. 🙁
    Можете подсказать причину?

    Ответить
    • Может быть, потому что и в терминале самого Микротика у этой команды пустой выхлоп? Не все модели поддерживают health в принципе. Попробуйте /system clock print например.

      Кстати, библиотечка и по IPv6 замечательно цепляется. Зачёт!

      Ответить
  • Друзья а у меня итоговый скрипт не работает — выдает вот такое:

    Traceback (most recent call last):
    File «test2», line 15, in
    output = sshCli.send_command(«/interface ethernet print»)
    File «/home/vitas/.local/lib/python3.8/site-packages/netmiko/utilities.py», line 429, in wrapper_decorator
    return func(self, *args, **kwargs)
    File «/home/vitas/.local/lib/python3.8/site-packages/netmiko/base_connection.py», line 1529, in send_command
    output = self._sanitize_output(
    File «/home/vitas/.local/lib/python3.8/site-packages/netmiko/base_connection.py», line 891, in _sanitize_output
    output = self.strip_prompt(output)
    File «/home/vitas/.local/lib/python3.8/site-packages/netmiko/mikrotik/mikrotik_ssh.py», line 76, in strip_prompt
    last_line = response_list[-2]
    IndexError: list index out of range

    Может быть кто нибудь подскажет?

    Ответить
  • Как по ssh подключиться по ключевой паре public/private key, если private еще и зашифрован паролем?

    Ответить

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Заполните поле
Заполните поле
Пожалуйста, введите корректный адрес email.
Вы должны согласиться с условиями для продолжения


Поиск по сайту
Лучшее
Популярное
Рубрики
Меню