msdt Posted February 11, 2020 Posted February 11, 2020 (edited) По рабочей необходимости написал скрипт для копирования изменений в конфигурации с одного устройства RouterOS на другое по SSH. Мне понадобилось найти решение для автоматической синхронизации конфигов двух роутеров, работающих как кластер VRRP, и т.к. ничего подходящего найти не удалось, создал свое. Логика работы в первом приближении следующая: скрипт подключается к роутерам по ssh, получает конфиги с помощью команды 'export', сравнивает их между собой и конструирует скрипт, который описывает только изменения, после чего через ssh выполняет его на целевом роутере. Предусмотрена возможность работать только с определенными секциями конфигурации, а также игнорировать помеченные специальным комментарием линии. Кроме того, вместо работы напрямую через ssh можно считывать конфигурации из файлов и записывать в них. Скрипт написан на Perl, для работы требуется linux, стандартные утилиты и модули Perl, а также либо модуль Net::SSH::Perl, либо утилиты ssh и sshpass (в последнем случае отображение вывода ошибок роутера работает хуже). Возможно кому-нибудь это пригодится, исходник здесь - https://github.com/dsterentyev/mt_sync/ Edited February 11, 2020 by msdt Вставить ник Quote
McSea Posted February 12, 2020 Posted February 12, 2020 (edited) @msdt Есть такой проект: High availability code for Mikrotik routers (емнип там ничего кроме 2 микротиков не нужно) Также тема про него на оф. форуме. Edited February 12, 2020 by McSea Вставить ник Quote
VolanD666 Posted February 12, 2020 Posted February 12, 2020 Зачем пилить свои лесопеды, если есть ансибл? Вставить ник Quote
Saab95 Posted February 12, 2020 Posted February 12, 2020 А зачем на микротике VRRP? Вставить ник Quote
TriKS Posted February 12, 2020 Posted February 12, 2020 А зачем воопще микроик ? :) Вставить ник Quote
msdt Posted February 12, 2020 Author Posted February 12, 2020 (edited) 52 минуты назад, Saab95 сказал: А зачем на микротике VRRP? Скрипт вообще-то к VRRP отношения не имеет, это только пример задачи, где он может быть использован. 5 часов назад, McSea сказал: @msdt Есть такой проект: High availability code for Mikrotik routers (емнип там ничего кроме 2 микротиков не нужно) Также тема про него на оф. форуме. Именно для VRRP у меня тоже есть скрипты, которые отслеживают состояние VRRP интерфейсов, и предотвращают ситуацию, когда VRRP на разных физических интерфейсах оказываются на разных роутерах, но они плотно "завязаны" на конкретную сетевую конфигурацию, поэтому вряд ли могут быть использованы где-то еще. Edited February 12, 2020 by msdt Вставить ник Quote
msdt Posted February 12, 2020 Author Posted February 12, 2020 (edited) 4 часа назад, VolanD666 сказал: Зачем пилить свои лесопеды, если есть ансибл? Есть два микротика, один из которых основной, другой резервный. Основной я настраиваю любым удобным мне способом. Через промежуток времени, заданный в cron, на резервный накатываются те настройки, что были сделаны на основном. При этом учитывается, что какие-то секции или конкретные настройки в них защищены от изменения (аналог модификатора protect в Junos). Также при этом переносятся только реально сделанные изменения, а не вся конфигурация целиком. Как бы Ansible помог бы решить данную задачу? Edited February 12, 2020 by msdt Вставить ник Quote
Saab95 Posted February 12, 2020 Posted February 12, 2020 В других темах пишут что винбокс плохо, а тут проблема один настроить и после на второй конфигурацию перенести. Но что мешает сразу на оба команды отправить одинаковые и сразу иметь общие настройки без необходимости что-то переносить? Вставить ник Quote
fractal Posted February 12, 2020 Posted February 12, 2020 4 часа назад, Saab95 сказал: В других темах пишут что винбокс плохо, а тут проблема один настроить и после на второй конфигурацию перенести. Но что мешает сразу на оба команды отправить одинаковые и сразу иметь общие настройки без необходимости что-то переносить? автоматизация Вставить ник Quote
McSea Posted February 12, 2020 Posted February 12, 2020 (edited) 10 hours ago, msdt said: Именно для VRRP у меня тоже есть скрипты Вы посмотрели что там ? Это скрипты, синхронизирующие конфигурацию двух одинаковых микротиков, т.е. примерно то, что вы делали - для Quote автоматической синхронизации конфигов двух роутеров, работающих как кластер VRRP Edited February 12, 2020 by McSea Вставить ник Quote
msdt Posted February 14, 2020 Author Posted February 14, 2020 В 12.02.2020 в 21:43, McSea сказал: Вы посмотрели что там ? Это скрипты, синхронизирующие конфигурацию двух одинаковых микротиков, т.е. примерно то, что вы делали - для Насколько я понял, там все заточено под конкретную задачу создания VRRP-кластера, и конфиг просто полностью копируется с активного устройства на бэкапное. Тот скрипт, который я сделал, позволяет манипулировать конфигами более избирательно. Вставить ник Quote
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.