~/кейсы/mikrotik-fleet-upgrade
Компания с сетью на MikroTik: роутеры, коммутаторы, точки доступа
Обновление парка MikroTik по кнопке
Обновлять RouterOS вручную на каждом устройстве долго и рискованно. Теперь это кнопка в GitLab: бэкап, обновление строго по одному, проверка, отчёт.
AnsibleGitLab CIRouterOS 7
Задача
RouterOS и прошивку нужно обновлять — в новых версиях закрывают уязвимости. Вручную на каждом устройстве это долго, а одна ошибка — и филиал без связи.
Решение
Обновление запускается из GitLab — кнопкой или по расписанию. Очерёдность: точки доступа, затем коммутаторы, затем роутер.
Для каждого устройства:
- Сбор данных: версия, модель, прошивка, пакеты, число работающих интерфейсов.
- Предпроверки: даунгрейд запрещён, переход с v6 на v7 — только с 6.49.x, отключённые пакеты — стоп.
- Бэкап конфигурации — сохраняется до обновления.
- Обновление RouterOS, перезагрузка, проверка версии.
- Обновление прошивки RouterBOOT, проверка.
- Постпроверка: работающих интерфейсов не меньше, чем было, связь с контрольными адресами есть.
Устройства обновляются строго по одному. Первая же ошибка останавливает всю волну — сломанным может остаться одно устройство, а не весь парк. Два обновления одновременно запустить нельзя.
Нужную версию можно поставить и на устройство без доступа в интернет: пакеты зальёт сервер, с которого идёт обновление.
Результат
Перед запуском — план без изменений на устройствах: что, на какую версию и каким способом будет обновлено. После — отчёт по каждому устройству. Обновление парка стало рутинной операцией, а не выездом.