← Все статьи

Нет облака - есть железо: Mikrotik

Нет облака - есть железо: Mikrotik

У сервисов всё удобно: дёрнул облачный API, получил ответ. А у роутера в серверной никакого облака нет. Есть само железо и его локальный интерфейс. И вот ты опять руками заходишь в Winbox или по ssh, чтобы снять бэкап перед изменением или просто посмотреть, что там в фаерволе. Каждый раз одно и то же.

Хуже, когда роутеров не один, а целый парк. Привести их к единому состоянию вручную - это часы кликов и реальный шанс ошибиться. А ошибка в фаерволе на устройстве, к которому ты подключён удалённо, иногда означает, что ты только что отрезал себе доступ.

Кажется, что без облачного API тут ничего не автоматизируешь. На самом деле автоматизируешь - просто ходить надо не в облако, а на само устройство. И сделать это можно одним скилом, без единой строчки кода руками.

В чём идея

Главный приём этого урока: скил для железа там, где нет облачного API. У Mikrotik с седьмой прошивкой есть локальный REST API прямо на роутере. То есть устройство само и есть твой сервер - ассистент ходит на него по сети, авторизуется обычным логином и паролем и работает с конфигом. Если REST почему-то недоступен, тот же скил умеет ходить по ssh. Источник данных - не сторонний сервис, а само железо.

И тут включается то, ради чего скилы вообще существуют. Скил говорит, ЧТО сделать: сними бэкап, покажи правила фаервола. А ЧЕМ именно сходить на роутер - curl, Python, Node, PowerShell - и на какой системе, решает сам ассистент по тому, что у тебя стоит. Никакой привязки к операционке.

Но самое важное в этом скиле - не способ доступа, а правило безопасности по умолчанию. Чтение и бэкап безобидны: они ничего на устройстве не меняют. А вот правка фаервола - это риск. Поэтому скил устроен так: по умолчанию он только смотрит и бэкапит, а любое изменение делает строго после твоего явного “да”. Сначала показывает план словами, ждёт подтверждения, снимает бэкап и только потом правит. Опасное действие не должно случаться само.

Почему это работает надёжно? Потому что современный ассистент прекрасно умеет сходить по адресу, разобрать JSON и собрать запрос. Ему не хватало двух вещей: понятной инструкции с триггером и встроенного тормоза на опасных операциях. Скил даёт ровно это.

Отдельная грабля, на которой спотыкаются почти все, - идентификаторы правил. В Mikrotik у каждого правила фаервола есть свой код вида “звёздочка плюс набор символов”. Он стабилен, но это НЕ номер строки и НЕ порядковый номер. Если править “по второму правилу сверху”, легко попасть не туда. Правильный путь: сначала прочитать список, найти нужный идентификатор, и только потом менять именно его. Хороший скил это правило уже знает за тебя.

Как себе сделать

Не пиши скил руками. Отдай задачу своему ассистенту - Claude Code, Codex, Cursor, Gemini, любому. Он сам разберётся, куда положить файл и как сходить на устройство. Просто скопируй промпт:

Создай мне скил для роутера Mikrotik на седьмой прошивке RouterOS.
Срабатывай на просьбы вроде "сделай бэкап роутера", "покажи правила firewall",
"поправь правило фаервола".
У роутера нет облачного API - ходи напрямую на само устройство по его локальному
REST API; если REST недоступен - по ssh. Адрес, логин и пароль роутера бери
из окружения, в файл скила их не вписывай.
По умолчанию делай только безопасное: сними бэкап конфига и покажи список правил
фаервола, сохрани выгрузку с датой в имени, на роутере ничего не меняй.
Правку фаервола выполняй только после моего явного подтверждения: сначала покажи
план словами, дождись "да", сделай бэкап, и лишь потом меняй нужное правило -
точечно, по его идентификатору, а не по номеру строки.
Учти граблю: идентификатор правила не равен его порядковому номеру, поэтому
сначала прочитай правила, найди нужный идентификатор, и только тогда правь.
Не завязывайся на конкретную ОС или Python - выбирай инструмент сам.

Как понять, что заработало: напиши ассистенту по-человечески “сделай бэкап моего роутера”. Если он сам, без подсказок, сходит на устройство, сохранит конфиг и покажет правила фаервола, а на просьбу что-то поправить сначала покажет план и спросит подтверждение - скил живой и ведёт себя безопасно.

И всё. Ты только что собрал скил для железа без облака - и ни строчки кода руками. Точно так же заворачивается любая работа с устройствами, у которых нет красивого SaaS-API: один раз описал, дальше ассистент сам ходит на железо - аккуратно и с подтверждением там, где это важно.

Смотреть полностью

Коротко