Использование интерфейса командной строки#
В данном разделе представлен обзор интерфейса командной строки Numa Edge, являющегося основным интерфейсом пользователя для системы Numa Edge.
Возможности интерфейса командной строки#
Доступ к интерфейсу командной строки#
Доступ к интерфейсу командной строки Numa Edge можно получить при подключение к устройству:
- через последовательный порт;
- удаленно при помощи сеанса SSH.
При подключении через последовательный порт (RS-232) используются следующие параметры:
- скорость: 115200 бит/с;
- без контроля четности (No parity);
- 8 бит данных (8 data bits);
- 1 стоповый бит (1 stop bits).
Примечание
При использовании подключения через последовательный порт могут возникнуть проблемы при отображении кириллических символов.
После завершения процесса загрузки Numa Edge появится запрос на вход в систему:
-
при подключении через последовательный порт
-
при подключении через SSH
Для входа в систему используется идентификатор пользователя и пароль определенной учетной записи пользователя. По умолчанию в системе присутствует единственная предварительно определенная учетная запись пользователя с реквизитами, приведенными в таблице ниже.
Параметр | Значение |
---|---|
Идентификатор пользователя: | admin |
Пароль по умолчанию: | admin |
По умолчанию системой назначается пароль 'admin', но в случае его замены новый пароль должен соответствовать требованиям к устанавливаемому паролю и содержать не менее 10 символов.
Данный пользователь обладает полномочиями уровня администратора, что позволяет выполнять все команды Numa Edge и операционной системы. При автодополнении команд и в справке по интерфейсу командной строки отображаются только команды Numa Edge.
С помощью команд операционной системы можно изменить учетные записи пользователей, но эти изменения не будут сохраняться при перезагрузках. Для внесения постоянных изменений в учетные записи пользователей следует использовать интерфейс командной строки Numa Edge.
Интерфейс командной строки и интерпретатор команд системы Numa Edge#
В интерфейсе командной строки системы имеются команды двух типов:
- специфичные команды для эксплуатации и настройки системы Numa Edge;
- команды, предоставляемые интерпретатором команд операционной системы, в котором работает интерфейс командной строки Numa Edge.
Команды, которые может выполнить пользователь, зависят от его роли. Однако любая команда, которую пользователь может выполнить, может быть запущена из интерфейса командной строки Numa Edge.
Уровни полномочий пользователя#
Numa Edge поддерживает две роли пользователей:
- Администратор;
- Оператор.
Роль «Администратор»#
Административные пользователи имеют полный доступ к интерфейсу командной строки Numa Edge. Административные пользователи могут просматривать, настраивать и удалять информацию, а также выполнять все эксплуатационные команды Numa Edge. Кроме того, административные пользователи могут выполнять все команды и конструкции интерпретатора команд операционной системы.
Не рекомендуется использовать команды ОС. При их использовании корректная работоспособность системы не гарантируется.
Пользователь по умолчанию admin является административным пользователем.
Для создания административного пользователя необходимо выполнить следующую последовательность команд в режиме настройки:
где имя_пользователя
- идентификатор создаваемой учетной записи, а пароль
– пароль, назначаемый указанному пользователю (пароль должен соответствовать требованиям к устанавливаемому паролю).
Несмотря на то, что команды интерпретатора команд операционной системы доступны административному пользователю всегда, они не отображаются при использовании этими пользователями автодополнения команд для запроса доступных команд у интерфейса командной строки. Это происходит по той причине, что в любой момент доступно несколько сот команд и конструкций интерпретатора команд операционной системы: если показывать все доступные команды интерпретатора команд операционной системы, то различить доступные команды интерфейса командной строки Numa Edge будет очень сложно.
Административные пользователи могут просмотреть доступные команды, введя help
в запросе для ввода команд.
Роль «Оператор»#
Пользователям-операторам предоставлен доступ только на чтение конфигурации и возможность выполнения эксплуатационных команд Numa Edge. Пользователи-операторы могут выполнять просмотр в эксплуатационном режиме (при помощи команд show
), настраивать параметры своих терминалов (при помощи команды terminal
), а также выходить из интерфейса командной строки Numa Edge (при помощи команды exit
). Но не могут входить в режим настройки, однако они могут отображать конфигурацию при помощи команды show configuration
в эксплуатационном режиме. Им доступны основные команды для отображения сведений (например, show configuration
, а также конвейер "|" и такие команды как more
или less
, для управления выводом на экран). Команды, в которых используются конструкции для контроля за порядком выполнения (такие как if, for и т.д.), операции для списков (такие как ";", "&&" и т.д.) и перенаправление, недоступны для пользователей-операторов.
Для создания пользователя-оператора необходимо выполнить следующую последовательность команд в режиме настройки:
где имя_пользователя
- идентификатор создаваемой учетной записи, а пароль
– пароль, назначаемый указанному пользователю (пароль должен соответствовать требованиям к устанавливаемому паролю).
Команды интерпретатора команд операционной системы недоступны пользователям-операторам, соответственно, список команд, выдаваемых автодополнением команд пользователям уровня оператора, ограничен командами Numa Edge.
Режимы интерфейса#
В интерфейсе командной строки Numa Edge имеются два режима:
- эксплуатационный режим;
- режим настройки.
В эксплуатационном режиме обеспечивается доступ к эксплуатационным командам для отображения и очистки сведений, включения или выключения отладки, настройки параметров терминалов, а также перезагрузки и выключения системы.
В режиме настройки обеспечивается доступ к командам для создания, изменения, удаления, фиксации изменений, загрузки и сохранения конфигурации, а также отображения сведений о конфигурации, и для переходов по иерархии конфигурации.
При входе в систему она находится в эксплуатационном режиме.
Для входа из эксплуатационного режима в режим настройки используется команда configure
.
Для возврата из режима настройки в эксплуатационный режим используется команда exit
. Если имеются незафиксированные изменения в конфигурации, их следует или зафиксировать с помощью команды commit
, или отменить с помощью команды discard
(или команды exit discard
) перед тем, как можно будет выйти в эксплуатационный режим.
При выполнении команды exit
в эксплуатационном режиме происходит выход из системы.
Запросы для ввода команд#
Запрос для ввода команд показывает пользователю:
- имя учетной записи пользователя под которой выполнен вход в систему;
- имя узла системы, на который выполнен вход;
- текущий режим интерфейса командной строки;
- текущий уровень в иерархии конфигурации (только для режима настройки).
В таблице ниже приведены некоторые примеры запросов на ввод команд и их значения.
Вид запроса | Описание запроса |
---|---|
admin@edge:~$ | Пользователь: admin Имя узла: edge Режим интерфейса: эксплуатационный режим |
[edit] admin@edge# |
Пользователь: admin Имя узла: edge Режим интерфейса: режим настройки Уровень в иерархии конфигурации: [edit] (верхний уровень) |
Использование специальных символов в командах#
Интерфейс командной строки Numa Edge основан на интерпретаторе команд bash проекта GNU. При вводе команды в запросе следует иметь в виду, что некоторые символы имеют специальное значение для интерпретатора. Например, одним из таких специальных символов является символ пробела, который обозначает конец лексемы в команде, как показано ниже:
При необходимости ввода строки с литеральным символом, воспринимаемый интерпретатором команд как специальный символ, необходимо заключить этот символ в кавычки. Например, если необходимо ввести строку с пробелом, необходимо заключить ее в кавычки, как показано ниже:
В данном примере пробел внутри строки "User for backup" заключен в кавычки и поэтому теряет свое специальное значение как разделитель лексем.
Другой пример специального символа - это символ конвейера (называемый также вертикальной чертой, "|"), который разделяет две команды и означает, что вывод команды слева от вертикальной черты будет обработан командой справа от вертикальной черты, как показано в следующем примере:
В данном примере символ конвейера указывает интерпретатору команд выполнить команду show system login
и затем обработать ее вывод с помощью команды grep user
. В результате будут отображены только строки, содержащие строку "user".
Как и в случае символа пробела, если в качестве компонента команды необходим литеральный символ вертикальной черты, следует заключить его в кавычки.
Помимо пробела и вертикальной черты, специальное значение для интерпретатора команд имеют следующие символы:
- амперсанд ("&");
- точка с запятой (";");
- запятая (",");
- левая скобка ("(");
- правая скобка (")");
- знак "меньше" ("<");
- знак "больше" (">");
- обратная косая черта ("\");
- диез ("#").
При отсутствии уверенности в том, какие именно символы являются специальными, следует взять за правило заключать в кавычки всё, что не является алфавитно-цифровыми символами. Рекомендуется не использовать символы кавычек и обратной косой черты в качестве литеральных значений в конфигурации.
Автодополнение команд#
Интерпретатор команд системы Numa Edge поддерживает автодополнение команд. Для автоматического завершения синтаксиса команды или вывода подсказки системой следует ввести в запросе на ввод командной строки любой из элементов, приведенных ниже.
Клавиша Tab
При первом нажатии клавиши Tab:
- если ввод осуществляется непосредственно после приглашения командной строки, либо после предыдущей лексемы, то система отобразит все доступные команды текущего уровня иерархии;
Примечание
Обратите внимание, что пробел после команды или ключевого слова считается за лексему.
- если введен(ы) первый(е) символ(ы) команды и команда однозначна, то система выполнит автодополнение команды и автоматически создаст следующую лексему в синтаксисе. Если возможен более чем один вариант автодополнения, то система отобразит список возможных последующих лексем.
При втором нажатии клавиши Tab система отобразит справку интерфейса командной строки для текущего списка лексем.
Сочетание клавиш Shift+?
При первом нажатии сочетания клавиш Shift+?:
- если ввод осуществляется непосредственно после приглашения командной строки, либо после предыдущей лексемы, то система отобразит все доступные команды текущего уровня иерархии;
Примечание
Обратите внимание, что пробел после команды или ключевого слова считается за лексему.
- если введен(ы) первый(е) символ(ы) команды и команда однозначна, то система отобразит полное наименование лексемы. Если возможен более чем один вариант автодополнения, то система отобразит список возможных последующих лексем.
Для ввода литерального вопросительного знака необходимо вначале ввести Ctrl+V, а затем вопросительный знак. При втором нажатии сочетания клавиш Shift+? система отобразит справку интерфейса командной строки для текущего списка лексем.
В следующем примере осуществляется поиск всех доступных команд.
В следующем примере запрашивается завершение команды для набранной строки "c". В текущем случае ввод может быть завершен более чем одним способом, и система выдает все допустимые варианты завершения.
Обратите внимание, что ни клавиша Tab, ни сочетание клавиш Shift+? не обеспечивают функцию справки по командам, если заключены в кавычки.
Журнал команд#
Интерпретатор команд системы Numa Edge поддерживает журнал команд, хранящий во внутреннем буфере выполненные команды, которые можно выполнить повторно или исправить.
В таблице показаны наиболее важные сочетания клавиш для работы с журналом команд.
Клавиша/Сочетание | Функция |
---|---|
Up | Переход к предыдущей команде. |
Ctrl+P | Переход к предыдущей команде. |
Down | Переход к следующей команде. |
Ctrl+N | Переход к следующей команде. |
Правка команд#
Интерпретатор команд системы Numa Edge поддерживает правку команд в стиле emacs. В таблице приведены наиболее важные сочетания клавиш для правки.
Клавиша/Сочетание | Функция |
---|---|
Left | Перемещение на один символ назад в командной строке. |
Ctrl+B | Перемещение на один символ назад в командной строке. |
Right | Перемещение на один символ вперед в командной строке. |
Ctrl+F | Перемещение на один символ вперед в командной строке. |
Ctrl+A | Перемещение в начало командной строки. |
Ctrl+E | Перемещение в конец командной строки. |
Ctrl+D | Удаление символа непосредственно под курсором. |
Ctrl+T | Перестановка местами символа под курсором и символа, непосредственно ему предшествующего. |
Ctrl+Space | Отметка текущего положения курсора. |
Ctrl+W | Удаление текста между отметкой и текущим положением курсора с копированием удаленного текста в буфер обмена. |
Ctrl+K | Удаление текста от курсора до конца строки с копированием удаленного текста в буфер обмена. |
Ctrl+Y | Вставка текста из буфера обмена в командную строку от положения курсора. |
Фильтрация вывода команд#
В системе Numa Edge можно передать по конвейеру вывод команд на вход определенных команд интерпретатора команд операционной системы для фильтрации сведений, отображаемых на консоли. Конвейер от команд к фильтрам организуется с помощью знака операции "вертикальная черта" ("|").
В таблице показаны команды конвейера, реализованные в системе Numa Edge.
Сочетание | Функция |
---|---|
count | Подсчет экземпляров. |
match шаблон | Отобразить только текст, соответствующий указанному шаблону. |
more | Постраничный вывод. |
no-match шаблон | Отобразить только текст, не соответствующий указанному шаблону. |
no-more | Не использовать постраничный вывод. |
Отображение длинного вывода#
Если отображаемые сведения слишком длинны и не помещаются на один экран, то отображение приостанавливается по выдаче одного экрана и в месте разрыва вывода появляется отметка "More" или ":".
В таблице показаны сочетания клавиш для управления отображением сведений на экране "More".
Клавиша/Сочетание | Функция |
---|---|
q | Выход из экрана "More". |
Q | Выход из экрана "More". |
Space | Пролистывание целого экрана вниз. |
f | Пролистывание целого экрана вниз. |
Ctrl+f | Пролистывание целого экрана вниз. |
b | Пролистывание целого экрана вверх. |
Ctrl+b | Пролистывание целого экрана вверх. |
d | Пролистывание половины экрана вниз. |
Ctrl+d | Пролистывание половины экрана вниз. |
u | Пролистывание половины экрана вверх |
Ctrl+u | Пролистывание половины экрана вверх |
Enter | Пролистывание строки вниз. |
e | Пролистывание строки вниз. |
Ctrl+e | Пролистывание строки вниз. |
Down | Пролистывание строки вниз. |
y | Пролистывание строки вверх. |
Ctrl+y | Пролистывание строки вверх. |
Up | Пролистывание строки вверх. |
G | Пролистывание вниз до конца вывода. |
g | Пролистывание вверх до начала вывода. |
h | Отображение подробной справки для функции "More". |
H | Отображение подробной справки для функции "More". |
Работа с конфигурацией#
О возможности одновременного редактирования конфигурации
Предупреждение
Система конфигурирования Numa Edge не обеспечивает возможности одновременного редактирования конфигурации. К таким ситуациям относятся:
- Одновременное редактирование конфигурации несколькими пользователями.
- Одновременное редактирование конфигурации различными способами подключения (доступ к интерфейсу командной строки через последовательный порт, подключение по SSH, использование web-интерфейса).
В случаях, когда вероятна ситуация одновременной работы с конфигурацией, в первую очередь перед внесением изменений следует воспользоваться командой конфигурационного режима show
. Если вы видите, что большая часть конфигурации устройства помечена на удаление, значит конфигурация была изменена в другой сессии. В таком случае предварительно следует выполнить команду discard
.
Вход в режим настройки и выход из него#
Для входа в режим настройки необходимо выполнить команду configure
в эксплуатационном режиме:
- вид запроса в эксплуатационном режиме:
- вид запроса в режиме настройки:
Для выхода из режима настройки с верхнего уровня иерархии конфигурации используется команда exit
.
Если конфигурация изменена, то необходимо либо зафиксировать изменения с помощью команды commit
, либо отменить их с помощью команды exit discard
.
Иерархия конфигурации#
В Numa Edge используется иерархическая система команд. Для того чтобы изменить некоторый параметр системы, необходимо задать значение для соответствующего атрибута. Конфигурация Numa Edge упорядочена в виде иерархии, аналогичной структуре файловой системы UNIX. Узлы конфигурации (подобно каталогам файловой системы) могут включать в себя другие узлы, а также атрибуты (подобны файлам в ФС), которые позволяют установить значения или характеристики для параметров внутри узла.
Узел конфигурации всегда включает закрытую пару фигурных скобок, содержимое которой может как отсутствовать:
так и присутствовать:
Атрибут конфигурации имеет вид атрибут значение, например, как в приведенном ниже примере.
Узлы конфигурации и атрибуты формируют ветви конфигурации, как показано на рисунке ниже.
Местоположение в конфигурации можно определить по запросу в квадратных скобках, указывающему текущий уровень иерархии в конфигурации.
На верхнем уровне иерархии запрос отображается следующим образом:
При нахождении в другом месте в запросе отображается текущее местоположение путем вывода иерархии узлов в порядке их следования, например:
Для того чтобы задать значение для некоторого атрибута, необходимо указывать путь к атрибуту в конфигурации относительно текущего уровня иерархии (указывать все узлы конфигурации в ветви конфигурации до требуемого атрибута). Пример перехода между уровнями иерархии конфигурации приведен на рисунке ниже.
Например, чтобы, находясь на верхнем уровне иерархии, указать в качестве действия по умолчанию для политики межсетевого экрана Accept_policy
пропускать пакеты протокола IPv4, необходимо ввести следующую команду:
В случае если установлен текущий уровень иерархии [edit policy firewall Accept_policy]
, то для установки значения необходимо ввести команду:
В таблице ниже показаны команды для переходов в режиме настройки.
Команда | Результат |
---|---|
edit узел_конфигурации | Переход к указанному узлу конфигурации для внесения изменений. К моменту фиксации изменений в конфигурации узел уже должен быть создан. |
exit | Переход к вершине дерева конфигурации. При нахождении на вершине дерева конфигурации - выход из режима настройки и возвращение в эксплуатационный режим. |
top | Переход к вершине дерева конфигурации. |
up | Перемещение на один узел вверх в дереве конфигурации. |
Команда edit
позволяет переходить в интересующую пользователя часть иерархии и выполнять команды относительно местоположения. Это позволяет сократить набор в командной строке при необходимости работы в конкретной части иерархии.
Узлы и атрибуты могут быть одиночными (в конфигурации может быть создан один экземпляр) и множественными (может быть создано более одного экземпляра).
Множественные атрибуты используются для задания списка значений параметра. Большинство атрибутов допускает установку только одного значения. Для установки нескольких значений атрибута, где это допускается, следует вводить их с использованием последовательности команд. Например, для указания политике модификации трафика Modify_policy
удалять из пакета данные о максимальном размере сегмента (mss), временной отметке (timestamp) и масштабировании окна (wscale), необходимо ввести следующую последовательность команд:
Параметры, допускающие многократный ввод и сохранение разных значений, называются «множественными», так как в конфигурации Numa Edge они будут созданы как однотипные узлы на одном уровне иерархии, различающиеся только своими значениями:
Просмотр конфигурации#
Команда show
в режиме настройки используется для отображения конфигурации. Вывод команды можно ограничить отображением конкретного узла, указав путь к нему.
В приведенном ниже примере отображается конфигурация для всех настроенных правили маршрутизации.
В приведенном ниже примере отображается конфигурация только для политики межсетевого экрана Drop_policy
.
Добавление в конфигурацию или изменение конфигурации#
Добавление в конфигурацию выполняется с помощью создания узла конфигурации командой set
в режиме настройки, как в приведенном ниже примере:
Для просмотра изменений можно использовать команду show
:
Обратите внимание на знак “+” перед новым узлом и/или атрибутом настройки. Он показывает, что узел/атрибут был добавлен в конфигурацию, но изменение еще не зафиксировано. Изменение не вступает в силу до тех пор, пока конфигурация не будет зафиксирована с помощью команды commit
.
Изменение существующей конфигурации так же выполняется с помощью команды set
в режиме настройки, как в приведенном ниже примере:
Для просмотра изменений можно использовать команду show
:
Обратите внимание на знак “>” перед измененным узлом и/или атрибутом настройки. Он показывает, что узел/атрибут был изменен в конфигурации, но изменение еще не зафиксировано. Изменение не вступает в силу до тех пор, пока конфигурация не будет зафиксирована с помощью команды commit
.
Конфигурацию можно изменять начиная с корня дерева конфигурации или использовать команду edit
для перемещения к части дерева, в которой необходимо выполнить изменения или добавления.
При первой загрузке системы дерево конфигурации содержит только нескольких автоматически настроенных узлов. Для любой функциональности, которую нужно настроить в системе, необходимо создать узел. При создании узла, к нему применяются все значения по умолчанию для его атрибутов.
Удаление конфигурации#
Для удаления атрибута или целого узла в конфигурации используется команда delete
. В приведенном ниже примере выполняется удаление описания политики межсетевого экрана:
Для просмотра изменений можно использовать команду show
:
Обратите внимание на знак “-” перед удаленным узлом и/или атрибутом настройки. Он показывает, что узел/атрибут был удален из конфигурации, но изменение еще не зафиксировано. Изменение не вступает в силу до тех пор, пока конфигурация не будет зафиксирована с помощью команды commit
.
Некоторые узлы конфигурации являются обязательными и их нельзя удалить. Некоторые узлы конфигурации являются обязательными, но имеют значения по умолчанию; при удалении одного из таких узлов будет восстановлено значение по умолчанию.
Клонирование узла конфигурации#
Для экономии времени при вводе информации можно копировать (или клонировать) множественные узлы конфигурации. Множественные узлы конфигурации (узлы, допускающие несколько экземпляров) отличаются друг от друга по идентификаторам. Например, у правил межсетевого экрана и NAT есть номера, у наборов правил межсетевого экрана есть имена, у планов IPSec в VPN есть имена, у пользователей системы есть идентификаторы пользователей.
В приведенном ниже примере выполняется клонирование правила 10 фильтра трафика LAN_filter
с указанием нового номера правила 30.
Для клонирования узла конфигурации необходимо с помощью команды edit
перейти в точку иерархии конфигурации сразу над узлом, который необходимо скопировать. В текущем примере выполнен переход в фильтр LAN_filter
:
copy
:
где rule 10
- копируемое правило, rule 30
- новое правило.
Результат выполнения приведенной выше команды:
Переименование узлов конфигурации#
Следует учесть, что с помощью команды set
нельзя изменить идентификатор узла, у которого может быть несколько экземпляров (“множественный узел”), такого как сервер DNS или IP-адрес интерфейса. Однако идентификатор множественного узла можно изменить с помощью команды rename
.
Для переименования узла конфигурации необходимо с помощью команды edit
перейти в точку иерархии конфигурации сразу над узлом, который необходимо переименовать. Далее командой rename
изменить идентификатор. В приведенном ниже примере выполняется переименование правила 30 фильтра трафика LAN_filter
с указанием нового номера правила 50.
Фиксация изменений в конфигурации#
В Numa Edge изменения в конфигурации не вступают в силу до тех пор, пока они не зафиксированы с помощью команды commit
.
Отмена изменений в конфигурации#
Выйти из режима настройки при наличии незафиксированных изменений невозможно:
exit discard
Сохранение конфигурации#
Работающую конфигурацию можно сохранить при помощи команды save
в режиме настройки. По умолчанию, конфигурация сохраняется в файл config.boot в стандартном каталоге конфигурации, которым является /etc/config.
Также конфигурацию можно сохранить на жесткий диск по пути, отличающемуся от стандартного каталога /etc/config, внешний накопитель (например, USB-флеш-накопителя), удаленное устройство по протоколам FTP, TFTP, SCP или HTTP. Перед тем, как конфигурацию можно будет сохранить на флэш-накопитель, последний следует проинициализировать командой flash init
в эксплуатационном режиме.
Обратите внимание, что команда save
записывает только зафиксированные изменения.
Загрузка сохраненной конфигурации#
Для загрузки ранее сохраненной конфигурации используется команда load
в режиме настройки. По умолчанию система считывает файл из стандартного каталога конфигурации. По умолчанию это каталог /etc/config.
Загруженная конфигурация автоматически фиксируется и становится активной конфигурацией.
Также конфигурацию можно загрузить с жесткого диска по пути, отличающемуся от стандартного каталога /etc/config, внешнего накопителя (например, USB-флеш-накопителя), удаленного устройства по протоколам FTP, TFTP, SCP или HTTP.
Выполнение эксплуатационной команды из режима настройки#
С помощью команды run
можно выполнить эксплуатационную команду, не выходя из режима настройки, как в приведенном ниже примере:
Отображение конфигурации из эксплуатационного режима#
При помощи команды show configuration
можно отобразить сведения о конфигурации, не выходя из эксплуатационного режима, как в приведенном ниже примере: