Консоль Mikrotik. Начало...

Mar 19, 2014 17:41

Как ни прискорбно, но терминал в RouterOs при первом знакомстве с изделиями Mikrotik у многих вызывает множество ничем не оправданных затруднений. Это объясняется нелюбовью, и я бы даже сказал, некоторой боязнью командной строки нашими пользователями. А так же нежеланием запоминать множество команд. Но если у пользователя возникают вопросы и он приходит на форум за помощью, большинство советов там даются с использованием консольных команд. Поэтому хотя бы начальные знания по использованию терминала лучше иметь.
Итак, в терминал можно попасть несколькими путями. При использовании Winbox или Webfig достаточно нажать на пункт меню New Terminal




Приблизительно такая же картина у нас получится, если мы зайдем на устройство по ssh. Как это сделать, тема совсем другой статьи, достаточно упомянуть самую распространенную программу для Windows - это Putty.


Во всех случаях мы видим приветствие, 7 строк сверхкраткого хелпа и собственно строку команд. Если прочесть семь строчек помощи, то половина вопросов по командной строке отпадет сама собой.
Попробую пояснить, слева вводимая команда , справа то, что должно произойти в результате.
Если ввести знак вопроса.....................................................консоль выведет список всех возможных команд
Если ввести какую-то команду и после нее знак вопроса.........консоль выдаст список аргументов к этой команде (варианты продолжения)
Если начать ввод команды и не закончив его нажать кнопку [Tab].......консоль допишет команду, если вариантов несколько, повторное нажатие покажет все варианты завершения.
Если ввести слэш / ....................................................консоль отправит нас на стартовую позицию командной строки
Если ввести две точки .. подряд................................консоль осуществит переход на один уровень вверх
Если ввести слэш и сразу какую-то команду.............мы перейдем со стартовой позиции на уровень введенной команды

Со стартовым окном всё понятно, дальше тут рассуждать не о чем. Пошли дальше. Все команды в терминале имеют иерархическую структуру, почти полностью повторяющую структуру меню в Winbox или Webfig. Это помогает нам ориентироваться в командной строке и при необходимости легко воспроизводить команды в графическом варианте. Естественно, никто не собирается полностью воспроизводить здесь весь синтаксис языка, это не трудно посмотреть в Wiki. Для начинающего пользователя важнее будет понять принципы форминрования команд и использования помощи.
Именно встроенной помощью Routeros мне очень нравится. В любом месте командной строки достаточно ввести знак вопроса, и будут выведены все возможные варианты продолжения команды. Если мы начав писать команду, не станем ее дописывать, а нажмем Tab, то система допишет команду (если, конечно, существует только один вариант продолжения). Если же вариантов продолжения несколько, то по двойному клику Tab будут показаны все возможные варианты продолжения команды. В этом случае необходимо продолжить написание команды до того места, где все ненужные варианты станут невозможны и кликнуть снова Tab.
В принципе, можно пользоваться сокращенными вариантами команд, система их распознает и выполнит так же, как и полный вариант:
[podarok66@MikroTik] > in et pr
Flags: X - disabled, R - running, S - slave
 #    NAME          MTU MAC-ADDRESS       ARP        MASTER-PORT      SWITCH
 0  S ether1       1500 D4:CA:6D:CA:35:1C enabled    none             switch1
 1 R  ether2       1500 D4:CA:6D:91:20:88 enabled    none             switch1
 2 RS ether3       1500 D4:CA:6D:91:20:89 enabled    none             switch1
 3 RS ether4       1500 D4:CA:6D:91:20:8A enabled    none             switch1
 4 RS ether5       1500 D4:CA:6D:91:20:8B enabled    none             switch1   
interface ethernet print
Flags: X - disabled, R - running, S - slave
 #    NAME          MTU MAC-ADDRESS       ARP        MASTER-PORT      SWITCH
 0  S ether1       1500 D4:CA:6D:CA:35:1C enabled    none             switch1
 1 R  ether2       1500 D4:CA:6D:91:20:88 enabled    none             switch1
 2 RS ether3       1500 D4:CA:6D:91:20:89 enabled    none             switch1
 3 RS ether4       1500 D4:CA:6D:91:20:8A enabled    none             switch1
 4 RS ether5       1500 D4:CA:6D:91:20:8B enabled    none             switch1

Как видно из примера, и та и другая команда сработали абсолютно идентично. Обращаю внимание на нумерацию позиций. После того, как команда отработала и нам показан вывод с определенной нумерацией, эти номера можно использовать для идентификации элемента списка в следующей команде. Но номер не присваивается навсегда, а лишь сохраняется до выхода из консоли или подачи еще одной команды print. Я чаще всего использую для идентификации элементов комментарии, но иногда и номера приходится использовать в определенных случаях.
Освоение основ языка с помощью терминала происходит достаточно просто. Но обманываться не стоит. Для более легкого ориентирования конечно надо посидеть в Wiki, почитать и разобраться в мелочах. Через некоторое время придет понимание, что консоль может быть не просто подспорьем в работе, но и главным методом общения с RouterOs.
Попробуем вспомнить основные команды языка:
add - добавить. Имеет возможные подпункты:
         copy-from - создать копию нужного элемента. При необходимости свойства элемента можно отредактировать, прямо указав необходимые новые значения.
         place-before - создание нового элемента перед каким-то определенным элементом (правило фаервола, например). Избавляет от необходимости перемещать созданный элемент на нужное место в списке, указав это место сразу.
         disabled - отключение элемента (обратная команда enabled)
         comment - описание элемента, так называемый комментарий.
edit - редактировать. Ассоциируется с командой set, по моим подозрения команды во многом являются просто синонимами. Используется для редакции свойств существующих элементов.
find - найти. Поиск нужного элемента по указанному свойству или признаку. Достаточно часто употребляемая команда, в скриптах ее можно часто видеть. Ну или в связке с командой set, чтобы отредактировать элемент, который нужно найти в массе подобных.
move - изменяет порядок элементов в списке. Мне пока не приходилось пользоваться данной командой. Вроде бы первый аргумент указывает на элементы, которые перемещаются, а второй - на элемент, перед которым будут размещены перемещаемые элементы.
print - вывод на экран требуемых элементов на текущем уровне иерархии. Если элементы не только для чтения и могут быть изменены, им присваиваются номера, с которыми можно работать, выполняя другие команды.Номера действительны до закрытия терминала или до следующей команды print. Команда может определять ряд параметров:
          from - показать только оговоренные элементы в том порядке, в котором они даны
          where - показать только те элементы, которые соответствуют определенным критериям. Синтаксис тот же, что и у find
          brief - вывод результатов в краткой форме в виде таблицы
          detail - вывод подробных результатов
          count-only - показывает только количество элементов
          file - записывает результат запроса в файл на роутере
          interval - обновляет результаты вывода команды print через заданный в секундах интервал
          oid - выводит OID значение для свойств, которые доступны из SNMP
          without-paging - печатает вывод без остановки после каждого заполнения экрана.
remove - удаляет указанный элемент (-ы) из списка.
set - позволяет изменять значения основных параметров или параметров элементов.

Очень итересны некоторые горячие клавиши и сочетания клавишь.
Control-C - принудительно завершает ввод
Control-D - завершает сеанс работы с терминалом, если работа проводилась в безопасном режиме, выход произойдет без сохранения изменений.
Control-K - отмена ввода от курсора и до конца строки
Control-X - переход в безопасный режим. Для выхода из него применить сочетание клавиш еще раз
Control-V - включение режима автоматического завершения команд.
F1 or ? - вызов справки
Tab - дописать. Начать писать команду и нажать Tab и терминал допишет. Если вариантов несколько, то при втором нажатии покажет варианты завершения
Delete - последовательное удаление символов под курсором
Есть еще сочетания и клавиши, но я их не использую, кому нужны, можно почитать в Wiki.
Вот и все премудрости на первый случай знакомства. Ничего страшного и тем более сложного нет. Просто нужно попробовать и всё станет много проще.

terminal, mikrotik, routeros

Previous post Next post
Up