Перейти к содержимому
Калькуляторы

Скрипт для переноса изменений в конфигурации RouterOS по SSH

По рабочей необходимости написал скрипт для копирования изменений в конфигурации с одного устройства RouterOS на другое по SSH. Мне понадобилось найти решение для автоматической синхронизации конфигов двух роутеров, работающих как кластер VRRP, и т.к. ничего подходящего найти не удалось, создал свое.

 

Логика работы в первом приближении следующая: скрипт подключается к роутерам по ssh, получает конфиги с помощью команды 'export', сравнивает их между собой и конструирует скрипт, который описывает только изменения, после чего через ssh выполняет его на целевом роутере. Предусмотрена возможность работать только с определенными секциями конфигурации, а также игнорировать помеченные специальным комментарием линии. Кроме того, вместо работы напрямую через ssh можно считывать конфигурации из файлов и записывать в них.

 

Скрипт написан на Perl, для работы требуется linux, стандартные утилиты и модули Perl, а также либо модуль Net::SSH::Perl, либо утилиты ssh и sshpass (в последнем случае отображение вывода ошибок роутера работает хуже).

 

Возможно кому-нибудь это пригодится, исходник здесь - https://github.com/dsterentyev/mt_sync/

Изменено пользователем msdt

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

@msdt 

Есть такой проект: High availability code for Mikrotik routers (емнип там ничего кроме 2 микротиков не нужно)

Также тема про него на оф. форуме.

 

Изменено пользователем McSea

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

52 минуты назад, Saab95 сказал:

А зачем на микротике VRRP?

Скрипт вообще-то к VRRP отношения не имеет, это только пример задачи, где он может быть использован.

 

5 часов назад, McSea сказал:

@msdt 

Есть такой проект: High availability code for Mikrotik routers (емнип там ничего кроме 2 микротиков не нужно)

Также тема про него на оф. форуме.

Именно для VRRP у меня тоже есть скрипты, которые отслеживают состояние VRRP интерфейсов, и предотвращают ситуацию, когда VRRP на разных физических интерфейсах оказываются на разных роутерах, но они плотно "завязаны" на конкретную сетевую конфигурацию, поэтому вряд ли могут быть использованы где-то еще.

Изменено пользователем msdt

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

4 часа назад, VolanD666 сказал:

Зачем пилить свои лесопеды, если есть ансибл?

Есть два микротика, один из которых основной, другой резервный. Основной я настраиваю любым удобным мне способом. Через промежуток времени, заданный в cron, на резервный накатываются те настройки, что были сделаны на основном. При этом учитывается, что какие-то секции или конкретные настройки в них защищены от изменения (аналог модификатора protect в Junos). Также при этом переносятся только реально сделанные изменения, а не вся конфигурация целиком. Как бы Ansible помог бы решить данную задачу?

Изменено пользователем msdt

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

В других темах пишут что винбокс плохо, а тут проблема один настроить и после на второй конфигурацию перенести. Но что мешает сразу на оба команды отправить одинаковые и сразу иметь общие настройки без необходимости что-то переносить?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

4 часа назад, Saab95 сказал:

В других темах пишут что винбокс плохо, а тут проблема один настроить и после на второй конфигурацию перенести. Но что мешает сразу на оба команды отправить одинаковые и сразу иметь общие настройки без необходимости что-то переносить?

автоматизация

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

10 hours ago, msdt said:

Именно для VRRP у меня тоже есть скрипты

Вы посмотрели что там ? Это скрипты, синхронизирующие конфигурацию двух одинаковых микротиков, т.е. примерно то, что вы делали - для

Quote

автоматической синхронизации конфигов двух роутеров, работающих как кластер VRRP

 

Изменено пользователем McSea

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

В 12.02.2020 в 21:43, McSea сказал:

Вы посмотрели что там ? Это скрипты, синхронизирующие конфигурацию двух одинаковых микротиков, т.е. примерно то, что вы делали - для

Насколько я понял, там все заточено под конкретную задачу создания VRRP-кластера, и конфиг просто полностью копируется с активного устройства на бэкапное. Тот скрипт, который я сделал, позволяет манипулировать конфигами более избирательно.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Гость
Ответить в тему...

×   Вставлено в виде отформатированного текста.   Вставить в виде обычного текста

  Разрешено не более 75 смайлов.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.