Руководство: Консоль

обзор
Консоль используется для доступа к функциям конфигурации и управления маршрутизатора MikroTik с помощью текстовых терминалов, либо удаленно, через последовательный порт, telnet, SSH или экран консоли в Winbox, либо напрямую с помощью монитора и клавиатуры. Консоль также используется для написания скриптов. В этом руководстве описаны общие принципы работы консоли. Пожалуйста, ознакомьтесь с Руководством по написанию сценариев по поводу некоторых расширенных команд консоли и о том, как писать сценарии.

иерархия
Консоль позволяет настраивать параметры маршрутизатора с помощью текстовых команд. Поскольку доступных команд много, они разбиты на группы, организованные в виде иерархических уровней меню. Название уровня меню отражает информацию о конфигурации, доступную в соответствующем разделе, например. / IP-точка доступа.

пример
Например, вы можете выполнить команду / ip route print:

[admin@MikroTik] > ip route print
Flags: X - disabled, A - active, D - dynamic, 
C - connect, S - static, r - rip, b - bgp, o - ospf, m - mme, 
B - blackhole, U - unreachable, P - prohibit 
 #      DST-ADDRESS        PREF-SRC        G GATEWAY         DIS INTE...
 0 A S  0.0.0.0/0                          r 10.0.3.1        1   bridge1
 1 ADC  1.0.1.0/24         1.0.1.1                           0   bridge1
 2 ADC  1.0.2.0/24         1.0.2.1                           0   ether3 
 3 ADC  10.0.3.0/24        10.0.3.144                        0   bridge1
 4 ADC  10.10.10.0/24      10.10.10.1                        0   wlan1  

[admin@MikroTik]

>

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

[admin@MikroTik] > ip route

[admin@MikroTik]

ip route> print Flags: X — disabled, A — active, D — dynamic, C — connect, S — static, r — rip, b — bgp, o — ospf, m — mme, B — blackhole, U — unreachable, P — prohibit # DST-ADDRESS PREF-SRC G GATEWAY DIS INTE… 0 A S 0.0.0.0/0 r 10.0.3.1 1 bridge1 1 ADC 1.0.1.0/24 1.0.1.1 0 bridge1 2 ADC 1.0.2.0/24 1.0.2.1 0 ether3 3 ADC 10.0.3.0/24 10.0.3.144 0 bridge1 4 ADC 10.10.10.0/24 10.10.10.1 0 wlan1

[admin@MikroTik]

ip route>

Обратите внимание, что приглашение меняется, чтобы отразить, где вы находитесь в иерархии меню в данный момент. Чтобы снова перейти на верхний уровень, введите «/»

[admin@MikroTik] > ip route

>

[admin@MikroTik] > ip route
[admin@MikroTik] ip route> /
[admin@MikroTik] >

Чтобы перейти на один уровень команд выше, введите «..»

[admin@MikroTik] ip route> ..
[admin@MikroTik] ip>

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

[admin@MikroTik] ip route> /ping 10.0.0.1
10.0.0.1 ping timeout
2 packets transmitted, 0 packets received, 100% packet loss
[admin@MikroTik] ip firewall nat> .. service-port print
Flags: X — disabled, I — invalid
# NAME PORTS
0 ftp 21
1 tftp 69
2 irc 6667
3 h323
4 sip
5 pptp
[admin@MikroTik] ip firewall nat>

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

Чтобы изменить свойства элемента, вы должны использовать команду set и указать имя или номер элемента.

Имена предметов
Некоторые списки имеют элементы с конкретными именами, назначенными каждому из них. Примерами являются интерфейс или пользовательские уровни. Там вы можете использовать названия предметов вместо номеров предметов.

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

Номера предметов
Номера элементов назначаются командой печати и не являются постоянными — возможно, что две последовательные команды печати будут упорядочивать элементы по-разному. Но результаты последних команд печати запоминаются и, таким образом, после присвоения номера элементов могут использоваться даже после операций добавления, удаления и перемещения (начиная с версии 3 операция перемещения не перенумеровывает элементы). Номера элементов назначаются для каждого сеанса, они будут оставаться неизменными до тех пор, пока вы не выйдете из консоли или не выполните следующую команду печати. Кроме того, номера назначаются отдельно для каждого списка элементов, поэтому печать IP-адреса не изменит нумерацию списка интерфейсов.

Начиная с версии 3, можно использовать номера элементов без запуска команды печати. Номера будут назначены так же, как если бы команда печати была выполнена.

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

[admin@MikroTik] > interface print
Flags: X — disabled, D — dynamic, R — running
# NAME TYPE MTU
0 R ether1 ether 1500
1 R ether2 ether 1500
2 R ether3 ether 1500
3 R ether4 ether 1500
[admin@MikroTik] > interface set 0,1,2 mtu=1460
[admin@MikroTik] > interface print
Flags: X — disabled, D — dynamic, R — running
# NAME TYPE MTU
0 R ether1 ether 1460
1 R ether2 ether 1460
2 R ether3 ether 1460
3 R ether4 ether 1500
[admin@MikroTik] >

Быстрый набор текста
В консоли есть две функции, которые помогают вводить команды намного быстрее и проще — завершение клавиш [Tab] и сокращения названий команд. Завершения работают аналогично оболочке bash в UNIX. Если вы нажимаете клавишу [Tab] после части слова, консоль пытается найти команду в текущем контексте, который начинается с этого слова. Если есть только одно совпадение, оно автоматически добавляется с последующим пробелом:

/ inte [Tab] _ становится / interface _

Если существует более одного совпадения, но все они имеют общее начало, которое длиннее, чем то, что вы ввели, тогда слово завершается в этой общей части, и пробел не добавляется:

/ interface set e [Tab] _ становится / interface set ether_

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

[admin@MikroTik] > interface set e[Tab]_
[admin@MikroTik] > interface set ether[Tab]_
[admin@MikroTik] > interface set ether[Tab]_
ether1 ether5
[admin@MikroTik] > interface set ether_

Клавиша [Tab] может использоваться практически в любом контексте, где консоль может иметь представление о возможных значениях — именах команд, именах аргументов, аргументах, которые имеют только несколько возможных значений (например, именах элементов в некоторых списках или имени протокола в брандмауэре и правила NAT). Вы не можете заполнить номера, IP-адреса и аналогичные значения.

Другой способ нажимать меньше клавиш при наборе текста — сокращать имена команд и аргументов. Вы можете ввести только начало имени команды, и, если оно не является неоднозначным, консоль примет его как полное имя. Итак, набрав:

[admin@MikroTik] > pi 10.1 c 3 si 100
equals to:

[admin@MikroTik] > ping 10.0.0.1 count 3 size 100

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

[admin@MikroTik] > interface x[TAB]_
[admin@MikroTik] > interface export _

[admin@MikroTik] > interface mt[TAB]_
[admin@MikroTik] > interface monitor-traffic _

Общие команды
Есть некоторые команды, которые являются общими для почти всех уровней меню, а именно: распечатать, установить, удалить, добавить, найти, получить, экспортировать, включить, отключить, прокомментировать, переместить. Эти команды имеют одинаковое поведение на разных уровнях меню.

add — эта команда обычно имеет все те же аргументы, что и set, кроме аргумента номера элемента. Он добавляет новый элемент со значениями, которые вы указали, обычно в конце списка элементов, в местах, где важен порядок элементов. Есть некоторые обязательные свойства, которые вы должны предоставить, такие как интерфейс для нового адреса, в то время как другие свойства устанавливаются в значения по умолчанию, если вы явно не укажете их.
Общие параметры
copy-from — копирует существующий элемент. Он принимает значения по умолчанию свойств нового элемента от другого элемента. Если вы не хотите делать точную копию, вы можете указать новые значения для некоторых свойств. При копировании элементов, имеющих имена, вам обычно нужно дать новое имя копии
place-before — помещает новый элемент перед существующим элементом с указанной позицией. Таким образом, вам не нужно использовать команду перемещения после добавления элемента в список
disabled — управляет отключенным / включенным состоянием вновь добавленного элемента (-ов)
комментарий — содержит описание вновь созданного элемента
Возвращаемые значения
команда add возвращает внутренний номер добавленного элемента
редактировать — эта команда связана с заданной командой. Его можно использовать для редактирования значений свойств, которые содержат большое количество текста, таких как сценарии, но он работает со всеми редактируемыми свойствами. В зависимости от возможностей терминала для редактирования значения указанного свойства запускается либо полноэкранный редактор, либо однострочный редактор.
find — Команда find имеет те же аргументы, что и set, плюс аргументы флага, такие как disabled или active, которые принимают значения yes или no в зависимости от значения соответствующего флага. Чтобы увидеть все флаги и их имена, посмотрите вверху вывод команды print. Команда find возвращает внутренние номера всех элементов, которые имеют те же значения аргументов, что и указанные.
переместить — изменяет порядок элементов в списке.
параметры
Первый аргумент указывает перемещаемый элемент (-ы).
Второй аргумент указывает элемент, перед которым нужно разместить все перемещаемые элементы (они помещаются в конец списка, если второй аргумент пропущен).
печать — показывает всю информацию, которая доступна с определенного уровня команды. Таким образом, / system clock print показывает системную дату и время, / ip route print показывает все маршруты и т. Д. Если на текущем уровне есть список элементов, и они не только для чтения, то есть вы можете изменить / удалить их (пример чтения и чтения). Единственный список элементов — это / системная история, которая показывает историю выполненных действий), затем команда печати также назначает номера, которые используются всеми командами, работающими с элементами в этом списке.
Общие параметры
from — показывать только указанные предметы в том же порядке, в котором они даны.
где — показывать только те элементы, которые соответствуют указанным критериям. Синтаксис свойства where похож на команду find.
краткий — заставляет команду печати использовать табличную форму вывода
detail — заставляет команду печати использовать форму вывода свойства = значение
только для счета — показывает количество элементов
file — печатает содержимое определенного подменю в файл на маршрутизаторе.
интервал — обновляет выходные данные команды печати для каждого интервала секунд.
oid — печатает значение OID для свойств, доступных из SNMP
без пейджинга — печатает вывод без остановки после каждого показа.
удалить — удаляет указанный элемент (-ы) из списка.
set — позволяет изменять значения общих параметров или параметров элемента. Команда set имеет аргументы с именами, соответствующими значениям, которые вы можете изменить. Использовать? или дважды нажмите [Tab], чтобы увидеть список всех аргументов. Если на этом уровне команд есть список элементов, то set имеет один аргумент действия, который принимает номер элемента (или список номеров), который вы хотите установить. Эта команда ничего не возвращает.

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

Выбор режимов зависит от обнаруженных возможностей терминала.

Список ключей
Control-C
прерывание клавиатуры.
Control-D
выйти из системы (если строка ввода пуста)
Control-K
очистить от курсора до конца строки
Control-X
переключить безопасный режим
Контроль-V
переключить режим горячей блокировки
F6
тумблер
F1 или?
показать контекстно-зависимую помощь. Если предыдущий символ — \, то вставляет литерал?.
табуляция
выполнить завершение строки. При повторном нажатии показать возможные завершения.
удалять
удалить символ в курсоре
Control-H или Backspace
удалить символ перед курсором и переместить курсор назад на одну позицию.
Control- \
разделить линию на курсор. Вставить новую строку в позиции курсора. Показать секунду из

[admin@MikroTik] ip route>[CTRL]+[X]
[Safe Mode taken]

[admin@MikroTik] ip route

Отображается сообщение «Безопасный режим принят», и запрашиваются изменения, отражающие, что сеанс теперь находится в безопасном режиме. Все внесенные изменения конфигурации (также из других сеансов входа в систему), когда маршрутизатор находится в безопасном режиме, автоматически отменяются, если сеанс безопасного режима завершается ненормально. Вы можете увидеть все такие изменения, которые будут автоматически отменены с пометкой F в истории системы:

[admin@MikroTik] ip route>
[Safe Mode taken]

[admin@MikroTik] ip route add
[admin@MikroTik] ip route /system history print
Flags: U — undoable, R — redoable, F — floating-undo
ACTION BY POLICY
F route added admin write

Теперь, если соединение telnet (или терминал winbox) разрывается, через некоторое время (время ожидания TCP составляет 9 минут) все изменения, внесенные в безопасном режиме, будут отменены. Выход из сеанса с помощью [Ctrl] + [D] также отменяет все изменения безопасного режима, а / quit — нет.

Если другой пользователь пытается перейти в безопасный режим, ему выдается следующее сообщение:

[admin@MikroTik] >
Hijacking Safe Mode from someone — unroll/release/don’t take it [u/r/d]:

[u]

— отменяет все изменения безопасного режима и переводит текущий сеанс в безопасный режим.

[r]

— сохраняет все текущие изменения безопасного режима и переводит текущий сеанс в безопасный режим. Предыдущий владелец безопасного режима уведомляется об этом:

[admin@MikroTik] ip firewall rule input
[Safe mode released by another user]

[d]

— оставляет все как есть.
Если в безопасном режиме внесено слишком много изменений, и в истории нет места для их хранения (в настоящее время в истории хранится до 100 самых последних действий), то сеанс автоматически выводится из безопасного режима, и никакие изменения не отменяются автоматически. Таким образом, лучше всего менять конфигурацию небольшими шагами, находясь в безопасном режиме. Двойное нажатие [Ctrl] + [X] — простой способ очистить список действий в безопасном режиме.

Режим HotLock
Когда включен режим HotLock, команды будут выполняться автоматически.

Для входа / выхода из режима HotLock нажмите [CTRL] + [V].

[admin@MikroTik] /ip address> [CTRL]+[V]

[admin@MikroTik]

/ip address>>

Double >> is indication that HotLock mode is enabled. For example if you type /in e, it will be auto completed to

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

Quick Help menu

F6 key enables menu at the bottom of the terminal which shows common key combinations and their usage.

[admin@RB493G] > 

tab compl ? F1 help ^V hotlk ^X safe ^C brk ^D quit

Author: admin