Погодин Евгений — ИТ Заметки
📡MikroTik Обновлено 07.10.2026

MikroTik с нуля 02. Командная строка RouterOS: шпаргалка

Note

Команды сверены с официальной документацией RouterOS 7 (версия руководства 7.26). Перед работой на боевом оборудовании проверьте их на тестовом стенде или сделайте резервную копию.

В первой статье серии вы подключились к роутеру и закрыли самые очевидные дыры. Дальше почти всё будет делаться командами: так быстрее, команды можно скопировать из статьи, сохранить в заметки и выполнить на другом роутере. Графический интерфейс (WinBox, WebFig) никуда не девается, но консоль даёт то, чего в нём нет или что неудобно: полный экспорт настроек одним файлом, точный поиск нужной строки, откат неудачной правки, копирование блока команд.

Эта статья — справочник. Её не нужно запоминать: прочитайте один раз, выполните учебные примеры и возвращайтесь за нужной командой. В конце есть таблица «задача — команда» и список горячих клавиш.

Tip

На первом чтении достаточно разделов про Tab и «?», print, Safe Mode и export. Остальное (флаги, find, undo, журнал, переменные) откроете по мере надобности.

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

Что понадобится

  • Роутер MikroTik с RouterOS 7 в заводской конфигурации или в состоянии после первой статьи: адрес 192.168.88.1/24 на мосту bridge, порт ether1 к провайдеру, порты ether2–ether5 в локальной сети.
  • Компьютер в локальной сети, с которого можно открыть WinBox или SSH-клиент.
  • Учётная запись с полными правами (группа full).
  • Учебные примеры не меняют работу сети: в них используется отключённое правило, которое ничего не делает (остаются лишь файлы экспорта, которые вы удалите сами). Исключение — команды перезагрузки и выключения из таблицы, их выполняйте только осознанно.

Как открыть консоль

У консоли несколько входов, и везде она одна и та же:

  • WinBox: в левом меню откройте пункт New Terminal. Самый удобный вариант для новичка, потому что рядом всегда есть привычные окна.
  • WebFig (веб-интерфейс роутера): терминал находится в правом верхнем углу страницы.
  • SSH: порт TCP/22, служба включена по умолчанию. С компьютера под Windows 10/11, Linux или macOS подойдёт обычный ssh.
  • Последовательный (serial) порт: запасной путь, когда сеть недоступна совсем. Параметры по умолчанию: 115200 бит/с, 8 бит данных, 1 стоп-бит, без контроля чётности, аппаратное управление потоком RTS/CTS (сигнальные линии, по которым устройства договариваются о передаче; у x86-систем скорость по умолчанию 9600). Нужен нуль-модемный кабель и программа-терминал.

Пример входа по SSH (имя пользователя подставьте своё):

ssh <ПОЛЬЗОВАТЕЛЬ>@192.168.88.1

Если терминальная программа показывает «мусорные» символы вместо цветов, добавьте к имени пользователя суффикс после знака +: например, <ПОЛЬЗОВАТЕЛЬ>+c отключает цвета консоли, а +t отключает автоопределение возможностей терминала. Параметры можно складывать: <ПОЛЬЗОВАТЕЛЬ>+ct80w отключает цвета и автоопределение и задаёт ширину 80 символов.

Telnet и MAC-Telnet (доступ по MAC-адресу, а не по IP) для повседневной работы не нужны: в руководстве по защите роутера их рекомендуют отключать в рабочей сети.

Дерево меню: где что лежит

Настройки RouterOS собраны в иерархию меню: /ip — всё про IP, /ip address — адреса, /ip firewall filter — правила фильтрации, /interface — интерфейсы, /system — системные настройки. Приглашение консоли показывает, где вы сейчас находитесь: имя пользователя, имя роутера (/system identity) и текущий путь, например [admin@MikroTik] /ip/address>.

Слова пути можно разделять пробелом или косой чертой: /ip address print и /ip/address/print — одно и то же. В современных примерах в интернете чаще встречается вторая форма; в этой серии используется первая, потому что она читается как обычная фраза.

Три правила навигации:

  • Команда /ip address без продолжения входит в меню. Дальше можно писать короткие команды: print, add, remove.
  • Одиночная косая черта / возвращает на верхний уровень.
  • Две точки .. поднимают на один уровень вверх.
[admin@MikroTik] > /ip address
[admin@MikroTik] /ip/address> print
[admin@MikroTik] /ip/address> ..
[admin@MikroTik] /ip> /
[admin@MikroTik] >

Из любого места можно выполнить команду из другого меню, не уходя из текущего: начните её с / (полный путь) или с .. (относительный).

[admin@MikroTik] /ip/address> /interface print

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

Команды, которые начинаются с двоеточия (:put, :log, :local), — это глобальные команды языка сценариев. Двоеточие обязательно, иначе консоль примет слово за имя переменной.

Tab и «?»: как не печатать лишнего

Клавиша Tab дополняет слово. Одно нажатие дописывает команду, если вариант один (/inte превращается в /interface/). Если вариантов несколько, но у них общее начало, слово дополняется до общей части. Второе нажатие Tab показывает все возможные продолжения. Работает это не только для команд, но и для имён параметров, и для значений из ограниченного набора (протоколы, имена элементов). Числа и IP-адреса дополнить нельзя.

Консоль принимает и сокращения: достаточно набрать столько букв, чтобы название было однозначным. Если точного совпадения нет, она ищет слова, в которых набранные буквы идут в том же порядке (например, mt в меню /interface превращается в monitor-traffic). Для скриптов сокращения лучше не использовать, потому что они трудно читаются, но в интерактивной работе экономят много времени.

Справка:

  • Клавиша F1 показывает, что можно ввести в этой позиции, с пояснениями. Это развёрнутая версия «двойного Tab».
  • Знак ? (нажмите его без Enter) выводит список команд и подменю текущего уровня с краткими описаниями. Если сам символ «?» нужен внутри значения, пишите \?.

Попробуйте: введите /ip firewall filter и нажмите F1, затем введите add (с пробелом) и нажмите Tab дважды — консоль покажет все параметры, которые можно задать.

Смотрим конфигурацию: print

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

/ip address print
/interface print
/ip firewall filter print

Как проверить. В выводе /ip address print найдите строку с адресом 192.168.88.1/24 на интерфейсе bridge. В выводе /interface print — строки ether1–ether5 и bridge.

Если элементов много, вывод разбивается на страницы. Чтобы получить всё сразу, добавьте without-paging. Остальные варианты print собраны в таблице:

Вариант Что делает
print Таблица с самыми нужными столбцами
print detail Все параметры каждого элемента в виде ключ=значение; вывод длинный, зато видно всё
print terse Компактный машиночитаемый вид, удобен для поиска текстовыми утилитами
print brief Краткая таблица
print count-only Только число элементов
print where ... Фильтр по условию
print from=<имя> Показать только один элемент (например, /user print from=admin)
print as-value Результат в виде массива для скриптов; смотреть через :put [...]
print follow Показать всё и дальше выводить новые записи, пока не нажмёте Ctrl+C (обычно для журнала)
print interval=2 Перерисовывать вывод каждые 2 секунды
print order-by=<свойство> Сортировка; перед именем знак - даёт порядок по убыванию

Примеры фильтров:

/ip address print where interface=bridge
/interface print where running
/interface print where name~"ether"
/ip firewall filter print where chain=input
/ip firewall filter print where disabled
/ip route print where static

В where работают сравнения =, !=, <, >, логические and и or, отрицание ! перед именем флага и оператор ~ — совпадение с регулярным выражением (шаблоном поиска; в примере выше — все интерфейсы, в названии которых есть ether). Имена флагов для фильтра (running, disabled, static) можно взять из строки Flags: вверху вывода.

Флаги в выводе print

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

Флаг Где встречается Значение
X почти везде элемент отключён (disabled)
D почти везде динамический: создан самой системой (например, получен по DHCP, то есть выдан автоматически провайдером или сервером), а не вручную
I /ip address, /ip firewall filter invalid — недействителен (например, адрес на несуществующем интерфейсе)
I /ip route inactive — неактивен
R /interface running — интерфейс работает, есть связь
S /interface slave — интерфейс входит в состав другого (например, порт моста)
I /interface inactive — неактивен
P /interface passthrough (служебный признак, не связанный с состоянием «включён/работает»; на практике нужен редко)
A /ip route active — маршрут действует
c, s, d /ip route маршрут connect (подключённая сеть), static (статический), dhcp (получен по DHCP)

Так, X в /ip firewall filter print — это правило, которое сейчас не работает. А в /ip route print без флага A маршрут не используется.

Номера и имена элементов

Элементы списков (адреса, правила, маршруты) нумеруются в выводе print: 0, 1, 2... Для команд, меняющих элемент, нужно сказать, какой именно. Есть два способа:

  • По имени — там, где у элементов есть имена (интерфейсы, пользователи, списки): /interface set ether5 comment=printer.
  • По номеру — там, где имён нет (адреса, правила firewall): /ip address set 0 comment="LAN gateway".

Номера присваивает команда print, и они действуют только в вашей сессии до следующего print. Если список успели изменить в другой сессии (или в WinBox) либо вы выполнили print с другим фильтром или сортировкой, тот же номер укажет уже на другой элемент. У другого администратора те же элементы могут иметь другие номера. Поэтому:

Warning

Не доверяйте номерам из старого вывода. Перед любым изменением выполните print заново. В повторяемых командах и скриптах используйте не номера, а поиск по условию — find, о нём ниже.

Номера можно перечислять через запятую, и команда затронет сразу все указанные элементы. Например, /ip firewall filter disable 1,2 отключит два правила (пример иллюстративный, на рабочем роутере сначала посмотрите print). Именно поэтому нужно точно понимать, на что вы указываете.

Жизненный цикл правила: add, set, enable, disable, move, comment, remove

Все общие команды одинаковы почти во всех меню. Разберём их на учебном правиле: правило с действием passthrough ничего не блокирует и не разрешает, только считает пакеты, а параметр disabled=yes делает его ещё и выключенным. Так что реальный трафик не пострадает.

Добавляем правило (add) с комментарием, по которому мы будем его находить:

/ip firewall filter add chain=forward action=passthrough disabled=yes comment="test-rule"

Команда add возвращает внутренний идентификатор созданного элемента (вида *5); в скриптах его можно сохранить в переменную. Результат проверяйте командой print:

/ip firewall filter print where comment="test-rule"

Как проверить. В строке правила слева есть флаг X: правило отключено.

Включаем и снова отключаем:

/ip firewall filter enable [find where comment="test-rule"]
/ip firewall filter disable [find where comment="test-rule"]

Меняем параметр (set) и убираем его (! перед именем сбрасывает значение):

/ip firewall filter set [find where comment="test-rule"] protocol=tcp
/ip firewall filter set [find where comment="test-rule"] !protocol

Правило добавляется в конец списка. Порядок правил в firewall важен (подробно — в статье про firewall для начинающих), поэтому нужно уметь перемещать правила командой move. Первый аргумент — что двигаем, второй — перед каким элементом поставить (номер или результат find). Номер берётся из последнего print, а предыдущая команда была print с фильтром, поэтому сначала выведите полный список без фильтра:

/ip firewall filter print
/ip firewall filter move [find where comment="test-rule"] 0

Номер 0 здесь — самый первый элемент списка из этого свежего вывода. Если второй аргумент не указать, элемент уйдёт в конец.

При создании правила сразу выбрать место можно параметром place-before, а скопировать существующий элемент — параметром copy-from.

Комментарий можно поменять отдельной командой comment (идентификатор и новый текст):

/ip firewall filter comment [find where comment="test-rule"] "test-rule-renamed"

После этого условие comment="test-rule" перестанет находить правило, так что дальше ищите его по comment~"test-rule" (регулярное выражение «содержит»). Удаляем учебное правило:

/ip firewall filter remove [find where comment~"test-rule"]

Как проверить. /ip firewall filter print where comment~"test-rule" ничего не выводит.

Caution

remove [find where ...] удаляет все найденные элементы. Привычка, которая спасает: сначала выполните тот же фильтр с print, убедитесь, что в выводе именно то, что собираетесь удалить, и только затем замените print where ... на remove [find where ...].

find и подстановка в квадратных скобках

find возвращает не текст, а внутренние идентификаторы (*1, *2...) элементов, подходящих под условие. Идентификатор не меняется при сдвиге номеров, поэтому на find можно положиться в скриптах. Условие пишется так же, как в print where; слово where можно опустить или оставить.

Квадратные скобки [ ... ] означают «выполнить команду внутри и подставить результат». Посмотрите, что возвращает find:

:put [/ip firewall filter find where chain=forward]

Как проверить. На экране появится список идентификаторов вида *1;*2;*3 — по одному на каждое правило цепочки forward. Когда вы пишете remove [find where ...], команда remove получает именно такой список и удаляет перечисленные элементы. Конструкцию [find where ...] вы будете встречать в большинстве примеров по RouterOS.

История изменений: undo и redo

Всё, что вы изменили (в консоли или в WinBox), записывается в историю /system history. Её можно посмотреть и откатить последнее действие.

Warning

/undo отменяет самое последнее действие в истории, каким бы оно ни было, в том числе реальную правку, сделанную вами или другим администратором. Поэтому вслепую его не выполняйте: сначала посмотрите /system history print. Для тренировки используйте учебное правило, как ниже.

Добавляем отключённое учебное правило и смотрим историю:

/ip firewall filter add chain=forward action=passthrough disabled=yes comment="undo-test"
/system history print
/system history print detail

Теперь отменяем добавление:

/undo
/ip firewall filter print where comment="undo-test"

Как проверить. После /undo второй команде нечего показать: правило пропало. Возвращаем его и убеждаемся:

/redo
/ip firewall filter print where comment="undo-test"

Правило снова в списке. Убираем за собой:

/ip firewall filter remove [find where comment="undo-test"]

В /system history print флаг U означает, что действие можно отменить, R — вернуть, F — «плавающая» отмена (так помечаются действия, сделанные в Safe Mode). В режиме print detail видно точные команды, которые выполнятся при отмене и при возврате, даже если изменение делалось мышью в WinBox.

В WinBox те же возможности доступны кнопками Undo и Redo на верхней панели. История хранит не больше 100 последних действий, и откатывается она по одному шагу. Это не замена резервной копии: история помогает исправить недавнюю ошибку, но не хранит конфигурацию как файл.

Safe Mode: страховка от потери доступа

Некоторые правки отрезают вас от роутера прямо в момент выполнения: смена адреса, на котором вы подключены, запрещающее правило firewall, перенастройка моста и VLAN (виртуальных сетей на одном физическом порту). Команду «отмена» вы уже не отправите, потому что связи нет. Safe Mode решает именно эту проблему: пока режим включён, роутер помнит ваши изменения и откатывает их сам, если сессия оборвалась.

Как включить:

  • в консоли — клавиша F4 или Ctrl+X: появляется сообщение Safe Mode taken, а в приглашении — пометка <SAFE>;
  • в WinBox — кнопка Safe Mode на верхней панели.

Что происходит дальше:

  1. Вы вносите изменения. Они применяются сразу, как обычно.
  2. Если связь оборвалась (кабель, неудачное правило firewall), роутер по истечении тайм-аута TCP (протокола, на котором работает SSH-сессия) отменяет все изменения, сделанные в Safe Mode. Документация называет тайм-аут 9 минут: придётся подождать. Закрытие окна терминала в документации не описано, поэтому на него не полагайтесь: для намеренной отмены используйте Ctrl+D.
  3. Если всё в порядке, нажмите Ctrl+X (или F4) ещё раз: одно нажатие, пока режим включён, выключает его и оставляет изменения. Если нужно сбросить накопленный список действий и продолжить в Safe Mode, нажмите Ctrl+X два раза подряд (режим выключится и сразу включится заново).
  4. Чтобы намеренно отменить всё сделанное в Safe Mode, нажмите Ctrl+D: все изменения откатываются, а сеанс консоли закрывается. Команда /quit, наоборот, изменения не отменяет.

Увидеть, что откатится, можно в истории: такие действия помечены флагом F.

Warning

Safe Mode — не всемогущая кнопка. Помните о границах:

  • Откат происходит только при обрыве сессии (или выходе по Ctrl+D). Если вы сломали, например, NAT (подмену адресов при выходе в интернет), но SSH-сессия жива, роутер ничего не откатит: изменения останутся, а интернета не будет. Проверяйте результат и сами.
  • Откатываются и изменения, сделанные из других сессий, пока Safe Mode включён. Не оставляйте режим включённым надолго.
  • В истории помещается около 100 действий. Если их больше, режим выключается сам и ничего не откатывается. Вносите изменения небольшими шагами.
  • Safe Mode не действует для команд, которые перезагружают роутер: сброс настроек и восстановление из бэкапа не откатятся.
  • Если другой пользователь попробует включить Safe Mode, он увидит вопрос Hijacking Safe Mode from someone - unroll/release/don't take it [u/r/d]: u откатит ваши изменения и отдаст режим ему, r оставит изменения и отдаст режим, d ничего не меняет.

Учебный прогон. Нажмите Ctrl+X и убедитесь, что приглашение получило пометку <SAFE>. Выполните:

/ip firewall filter add chain=forward action=passthrough disabled=yes comment="safe-test"
/system history print

В истории появилась запись с флагом F. Теперь нажмите Ctrl+D: сессия закроется. Откройте консоль заново и проверьте:

/ip firewall filter print where comment="safe-test"

Как проверить. Вывод пустой: добавленное правило откатилось. В следующих статьях серии (адреса, firewall, VLAN) перед каждым опасным шагом мы будем напоминать: сначала Safe Mode, затем правка.

Экспорт и импорт: конфигурация в текстовом файле

export печатает конфигурацию в виде команд, которые можно прочитать, сравнить, отправить коллеге и выполнить на другом роутере. Выводятся только параметры и элементы, отличающиеся от значений по умолчанию самой RouterOS (режим compact, он включён по умолчанию, отдельно указывать его не нужно). Всё, что создала заводская конфигурация или вы сами (мост, адреса, правила), в экспорте будет. Команда работает в любом меню, но выводит только текущее меню и подменю.

/export
/ip firewall filter export
/export file=before-changes
/export terse file=before-changes-terse
/export verbose file=before-changes-verbose
  • Без file= текст печатается на экран, с file= — сохраняется в файл с расширением .rsc.
  • terse — каждая команда в одну строку с полным путём (удобно искать и сравнивать).
  • verbose — полный вывод с параметрами по умолчанию.
  • show-sensitive — выводить секреты (пароли, ключи). По умолчанию они скрыты; в старых инструкциях для RouterOS 6 встречается параметр hide-sensitive, но в руководстве 7.26 его нет.

Warning

Файл, выгруженный с show-sensitive, содержит секреты (ключи WireGuard, пароли Wi-Fi и PPP): храните его как пароль от роутера, не отправляйте по почте и не публикуйте. Для этого пользователю нужна политика sensitive; без неё секреты в файл всё равно не попадут. Файл без show-sensitive безопасен для пересылки, но после импорта такие значения придётся ввести заново.

Что не попадает в экспорт: пароли пользователей роутера, установленные сертификаты и SSH-ключи. Для полной копии есть бинарный бэкап (/system backup save): чем он отличается от экспорта, как его шифровать паролем, автоматизировать и восстанавливать, описано в статьях MikroTik с нуля 01. Первое подключение и первичная защита и MikroTik с нуля 10. Автоматический бэкап и обновление по расписанию. Здесь важно одно: бэкап без параметра password не шифруется, а в нём есть секреты.

Файлы лежат в /file:

/file print

Как проверить. В списке есть before-changes.rsc. Скачать файл на компьютер можно в WinBox: пункт Files, выделить файл и нажать Download....

Important

Если в списке файлов есть каталог flash, всё, что лежит вне него, находится на RAM-диске (во временной оперативной памяти) и пропадает при перезагрузке. Сохраняйте нужное в flash (например, file=flash/before-changes) или сразу скачивайте на компьютер. Подробнее о хранении копий — в статье 10.

Импорт выполняет .rsc-файл:

/import file-name=before-changes.rsc verbose=yes dry-run

Это пробный прогон: файл проверяется построчно, но ничего не меняется (флаг dry-run работает только вместе с verbose=yes). Если в файле ошибка, verbose=yes покажет, на какой строке. Он безопасен на любом роутере, в том числе на том, с которого сделан экспорт.

Настоящий импорт выглядит так:

/import file-name=before-changes.rsc

Warning

Не выполняйте настоящий /import на том же роутере, с которого сделан экспорт: все эти настройки там уже есть, и команда либо упадёт на повторных add, либо продублирует правила firewall и NAT. Команда нужна для чистого или другого роутера, и перед ней всегда делайте пробный прогон с dry-run.

Импорт — это «выполнить все команды из файла», а не «вернуть состояние, как было». Документация советует для замены конфигурации сначала сделать сброс (/system reset-configuration с параметром no-defaults=yes) — но это стирает всё, поэтому выполняйте его только осознанно и с запасной копией. Для переноса на другую модель отдельно проверьте имена интерфейсов в файле: если их количество и названия не совпадают, импорт даст ошибки.

Удалить ненужный файл:

/file remove [find where name="before-changes-terse.rsc"]

Журнал: /log print

Роутер записывает события в журнал: входы в систему, изменения конфигурации, переходы интерфейсов в up/down, ошибки DHCP. По умолчанию журнал хранится в памяти (около 1000 последних записей) и исчезает при перезагрузке.

/log print
/log print where topics~"firewall"
/log print where message~"login"
/log print follow
/log print follow-only
/log print file=log-before-upgrade
  • where topics~"..." и where message~"..." фильтруют по темам и тексту (это регулярное выражение).
  • follow печатает существующие записи и дальше показывает новые; follow-only — только новые. Остановить — Ctrl+C.
  • file= сохраняет вывод в текстовый файл (здесь — log-before-upgrade.txt).

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

/log info "start: changing firewall"

Как проверить. /log print where message~"start: changing" покажет вашу запись. Подробнее про журнал, отправку журнала на syslog-сервер (сервер для хранения журналов) и диагностику — в статье «Диагностика и мониторинг».

Перезагрузка и выключение

/system reboot
/system shutdown

Консоль может запросить подтверждение. Перед перезагрузкой вспомните: журнал в памяти и файлы вне flash будут потеряны, а все активные соединения оборвутся. Если вы удалённо подключены к роутеру, сначала убедитесь, что сохранили нужное.

Warning

/system shutdown выключает роутер полностью. Если вы работаете удалённо, включить его обратно придётся физически (питание или кнопка), поэтому выключать устройство с чужой площадки без человека на месте нельзя.

:put и переменные: минимум для начала

Полноценный язык сценариев нужен позже, когда будем настраивать автоматизацию (статья «Автоматический бэкап и обновление по расписанию»). Сейчас понадобится только :put — вывод значения на экран — и несколько приёмов.

Версия RouterOS:

:put [/system resource get version]

Адрес роутера на мосту (значение читается командой get с подстановкой find):

:put [/ip address get [find where interface=bridge] address]

Вставка значения в строку через $[ ... ] (подсчёт правил firewall; в строках лучше обходиться латиницей и цифрами, русские буквы в части терминалов отображаются некорректно):

:put "Filter rules: $[:len [/ip firewall filter find]]"

Локальная переменная. Каждая введённая строка в консоли — отдельная область видимости (переменная живёт только внутри неё), так что локальную переменную нужно объявить и использовать в одной строке или внутри фигурных скобок:

{ :local addr1 [/ip address get [find where interface=bridge] address]; :put "LAN address: $addr1" }

Как проверить. Первая команда печатает номер версии, вторая и четвёртая — 192.168.88.1/24, третья — число правил в forward, input и других цепочках.

Две ловушки, о которых полезно знать заранее. Во-первых, имена переменных не должны совпадать с названиями параметров RouterOS (type, name, interface), поэтому в примере переменная называется addr1. Во-вторых, не объявляйте :local в одной строке, а используйте переменную в следующей: она окажется неопределённой.

Горячие клавиши

Клавиша Действие
Tab (нажать дважды — список вариантов) Дополнить слово
F1 Контекстная справка
F3 или Ctrl+R Поиск по истории команд и меню
F4 или Ctrl+X Включить или выключить Safe Mode
F5 или Ctrl+L Перерисовать экран
F7 Режим HotLock (автодополнение по мере ввода)
F8 Показать многострочную команду целиком
Стрелка вверх / вниз Предыдущая / следующая команда из истории
Ctrl+C Прервать текущую команду
Ctrl+D Закрыть сессию (на пустой строке); в Safe Mode — ещё и откатить изменения
Ctrl+A / Home В начало строки
Ctrl+E / End В конец строки
Ctrl+K Удалить до конца строки
Ctrl+U Удалить до начала строки
# в начале строки Сообщение другим вошедшим администраторам (встроенный чат)

Команды, в которых вы задавали пароль, в историю не попадают.

Шпаргалка: задача — команда

Задача Команда
Посмотреть адреса /ip address print
Посмотреть интерфейсы /interface print
Посмотреть правила firewall /ip firewall filter print
Найти правила по тексту комментария /ip firewall filter print where comment~"drop"
Отключить правило /ip firewall filter disable [find where comment="test-rule"]
Включить правило /ip firewall filter enable [find where comment="test-rule"]
Удалить правило /ip firewall filter remove [find where comment="test-rule"]
Переместить правило в начало (после свежего /ip firewall filter print) /ip firewall filter move [find where comment="test-rule"] 0
Изменить параметр /ip firewall filter set [find where comment="test-rule"] protocol=tcp
Снять параметр /ip firewall filter set [find where comment="test-rule"] !protocol
Поставить комментарий /ip firewall filter comment [find where comment="test-rule"] "new text"
Включить Safe Mode Ctrl+X или F4
Откатить последнее действие /undo
Вернуть откатанное /redo
Посмотреть историю изменений /system history print
Сохранить конфигурацию в файл /export file=before-changes
Проверить файл настроек без применения /import file-name=before-changes.rsc verbose=yes dry-run
Выполнить файл настроек (на чистый роутер, сначала dry-run) /import file-name=before-changes.rsc
Список файлов /file print
Последние записи журнала /log print
Следить за журналом /log print follow-only
Версия и аптайм /system resource print
Бинарная резервная копия /system backup save name=before-changes password="<ПАРОЛЬ>"
Перезагрузить /system reboot
Выключить /system shutdown
Проверить связь /ping 192.0.2.1 count=3

Типичные ошибки

  • Использовать старые номера элементов. Номер взят из старого вывода или из другой сессии, и команда remove 3 удалит уже не то правило. Выполняйте print заново или ищите элемент через find where.
  • Удалять по слишком общему условию. remove [find where chain=forward] удалит все правила цепочки. Сначала print с тем же условием.
  • Включить Safe Mode и забыть про него. Пока режим включён, при обрыве сессии откатятся и чужие, и ваши более ранние изменения. После проверки выходите из режима (Ctrl+X). И наоборот: Safe Mode не спасёт от потери интернета, пока сессия жива.
  • Принять экспорт за резервную копию. В .rsc нет паролей пользователей, сертификатов и SSH-ключей, а импорт не возвращает состояние «как было». Для полной копии нужен бэкап (статья 10), для переносимой записи — экспорт.
  • Сохранить файл в RAM и перезагрузиться. Если на роутере есть каталог flash, нужные файлы кладите туда или сразу скачивайте на компьютер.
  • Копировать команды из руководств для RouterOS 6. Синтаксис в основном совпадает, но часть параметров изменилась (например, настройка Wi-Fi устроена иначе, о ней в статье «Wi-Fi на RouterOS 7»). Если команда выдаёт ошибку, сверьтесь со справкой F1 или Tab.

Что дальше

Ещё по теме «MikroTik»