msdt Опубликовано 11 февраля, 2020 (изменено) · Жалоба По рабочей необходимости написал скрипт для копирования изменений в конфигурации с одного устройства RouterOS на другое по SSH. Мне понадобилось найти решение для автоматической синхронизации конфигов двух роутеров, работающих как кластер VRRP, и т.к. ничего подходящего найти не удалось, создал свое. Логика работы в первом приближении следующая: скрипт подключается к роутерам по ssh, получает конфиги с помощью команды 'export', сравнивает их между собой и конструирует скрипт, который описывает только изменения, после чего через ssh выполняет его на целевом роутере. Предусмотрена возможность работать только с определенными секциями конфигурации, а также игнорировать помеченные специальным комментарием линии. Кроме того, вместо работы напрямую через ssh можно считывать конфигурации из файлов и записывать в них. Скрипт написан на Perl, для работы требуется linux, стандартные утилиты и модули Perl, а также либо модуль Net::SSH::Perl, либо утилиты ssh и sshpass (в последнем случае отображение вывода ошибок роутера работает хуже). Возможно кому-нибудь это пригодится, исходник здесь - https://github.com/dsterentyev/mt_sync/ Изменено 11 февраля, 2020 пользователем msdt Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
McSea Опубликовано 12 февраля, 2020 (изменено) · Жалоба @msdt Есть такой проект: High availability code for Mikrotik routers (емнип там ничего кроме 2 микротиков не нужно) Также тема про него на оф. форуме. Изменено 12 февраля, 2020 пользователем McSea Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
VolanD666 Опубликовано 12 февраля, 2020 · Жалоба Зачем пилить свои лесопеды, если есть ансибл? Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Saab95 Опубликовано 12 февраля, 2020 · Жалоба А зачем на микротике VRRP? Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
TriKS Опубликовано 12 февраля, 2020 · Жалоба А зачем воопще микроик ? :) Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
msdt Опубликовано 12 февраля, 2020 (изменено) · Жалоба 52 минуты назад, Saab95 сказал: А зачем на микротике VRRP? Скрипт вообще-то к VRRP отношения не имеет, это только пример задачи, где он может быть использован. 5 часов назад, McSea сказал: @msdt Есть такой проект: High availability code for Mikrotik routers (емнип там ничего кроме 2 микротиков не нужно) Также тема про него на оф. форуме. Именно для VRRP у меня тоже есть скрипты, которые отслеживают состояние VRRP интерфейсов, и предотвращают ситуацию, когда VRRP на разных физических интерфейсах оказываются на разных роутерах, но они плотно "завязаны" на конкретную сетевую конфигурацию, поэтому вряд ли могут быть использованы где-то еще. Изменено 12 февраля, 2020 пользователем msdt Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
msdt Опубликовано 12 февраля, 2020 (изменено) · Жалоба 4 часа назад, VolanD666 сказал: Зачем пилить свои лесопеды, если есть ансибл? Есть два микротика, один из которых основной, другой резервный. Основной я настраиваю любым удобным мне способом. Через промежуток времени, заданный в cron, на резервный накатываются те настройки, что были сделаны на основном. При этом учитывается, что какие-то секции или конкретные настройки в них защищены от изменения (аналог модификатора protect в Junos). Также при этом переносятся только реально сделанные изменения, а не вся конфигурация целиком. Как бы Ansible помог бы решить данную задачу? Изменено 12 февраля, 2020 пользователем msdt Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Saab95 Опубликовано 12 февраля, 2020 · Жалоба В других темах пишут что винбокс плохо, а тут проблема один настроить и после на второй конфигурацию перенести. Но что мешает сразу на оба команды отправить одинаковые и сразу иметь общие настройки без необходимости что-то переносить? Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
fractal Опубликовано 12 февраля, 2020 · Жалоба 4 часа назад, Saab95 сказал: В других темах пишут что винбокс плохо, а тут проблема один настроить и после на второй конфигурацию перенести. Но что мешает сразу на оба команды отправить одинаковые и сразу иметь общие настройки без необходимости что-то переносить? автоматизация Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
McSea Опубликовано 12 февраля, 2020 (изменено) · Жалоба 10 hours ago, msdt said: Именно для VRRP у меня тоже есть скрипты Вы посмотрели что там ? Это скрипты, синхронизирующие конфигурацию двух одинаковых микротиков, т.е. примерно то, что вы делали - для Quote автоматической синхронизации конфигов двух роутеров, работающих как кластер VRRP Изменено 12 февраля, 2020 пользователем McSea Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
msdt Опубликовано 14 февраля, 2020 · Жалоба В 12.02.2020 в 21:43, McSea сказал: Вы посмотрели что там ? Это скрипты, синхронизирующие конфигурацию двух одинаковых микротиков, т.е. примерно то, что вы делали - для Насколько я понял, там все заточено под конкретную задачу создания VRRP-кластера, и конфиг просто полностью копируется с активного устройства на бэкапное. Тот скрипт, который я сделал, позволяет манипулировать конфигами более избирательно. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...