~/кейсы/mikrotik-fleet-upgrade

Компания с сетью на MikroTik: роутеры, коммутаторы, точки доступа

Обновление парка MikroTik по кнопке

Обновлять RouterOS вручную на каждом устройстве долго и рискованно. Теперь это кнопка в GitLab: бэкап, обновление строго по одному, проверка, отчёт.

AnsibleGitLab CIRouterOS 7

Задача

RouterOS и прошивку нужно обновлять — в новых версиях закрывают уязвимости. Вручную на каждом устройстве это долго, а одна ошибка — и филиал без связи.

Решение

Обновление запускается из GitLab — кнопкой или по расписанию. Очерёдность: точки доступа, затем коммутаторы, затем роутер.

Для каждого устройства:

  1. Сбор данных: версия, модель, прошивка, пакеты, число работающих интерфейсов.
  2. Предпроверки: даунгрейд запрещён, переход с v6 на v7 — только с 6.49.x, отключённые пакеты — стоп.
  3. Бэкап конфигурации — сохраняется до обновления.
  4. Обновление RouterOS, перезагрузка, проверка версии.
  5. Обновление прошивки RouterBOOT, проверка.
  6. Постпроверка: работающих интерфейсов не меньше, чем было, связь с контрольными адресами есть.

Устройства обновляются строго по одному. Первая же ошибка останавливает всю волну — сломанным может остаться одно устройство, а не весь парк. Два обновления одновременно запустить нельзя.

Нужную версию можно поставить и на устройство без доступа в интернет: пакеты зальёт сервер, с которого идёт обновление.

Результат

Перед запуском — план без изменений на устройствах: что, на какую версию и каким способом будет обновлено. После — отчёт по каждому устройству. Обновление парка стало рутинной операцией, а не выездом.