Документация: ПО Факел — разрабатываемая версия

Режим Конфигурирования

Режим Конфигурирования позволяет использовать команды, приводящие к изменению в конфигурации операционной системы.

Для перевода операционной системы из режима Администрирования в режим Конфигурирования используйте команду configure.

fakel@fakel:~$ configure
[edit]
fakel@fakel#

Подсказка

Обозначение текущего режима при запросе ввода в командной строке поменяется с символа $ (режим Администрирования) на символ # (режим Конфигурирования). Строка перед приглашением в квадратных скобках показывает текущий уровень иерархической структуры конфигурации: [edit] на верхнем уровне и, например, [edit interfaces ethernet eth0] на вложенном.

Режим Конфигурирования доступен пользователям уровня «Администратор» (см. Уровни пользователей). Работа с узлами CPE в режиме Конфигурирования описана в разделе Технология SD-WAN.

Для перевода устройства под управлением операционной системы обратно в режим Администрирования используйте команду exit.

fakel@fakel# exit
exit
fakel@fakel:~$

Работа в режиме Конфигурирования

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

Для изменения текущего уровня иерархической структуры используйте команду edit.

fakel@fakel# edit interfaces ethernet eth0
[edit interfaces ethernet eth0]
fakel@fakel#

Пример выше демонстрирует работу команды edit. После ввода команды edit interfaces ethernet eth0 операционная система переходит на уровень иерархической структуры конфигурации, связанный с цепочкой команд interfaces ethernet eth0. Все команды, будут выполняться в отношение данного уровня.

Для возвращения на самый верхний уровень иерархической структуры используйте команды top или exit. Если система уже находится на самом верхнем уровне, команда top выводит сообщение Already at the top level.

Для перемещения на один уровень иерархической структуры вверх используйте команду up.

Для вывода на экран рабочей конфигурации используйте команду show.

Команда show, введенная в режиме Конфигурирования, приведет к отображению рабочей конфигурации с обозначением ее строк символами:

  • + - добавленные строки

  • > - измененные строки

  • - - удаленные строки

Команда show -all дополнительно выводит значения параметров по умолчанию, которые обычно не отображаются.

Пример работы команды show:

fakel@fakel# show interfaces
        ethernet eth0 {
        description MY_OLD_DESCRIPTION
        disable
        hw-id 00:53:dd:44:3b:03
    }
    loopback lo {
    }
    [edit]
    fakel@fakel# set interfaces ethernet eth0 address dhcp
    [edit]
    fakel@fakel# set interfaces ethernet eth0 description MY_NEW_DESCRIPTION
    [edit]
    fakel@fakel# delete interfaces ethernet eth0 disable
    [edit]
    fakel@fakel# show interfaces
    ethernet eth0 {
    +   address dhcp
    >   description MY_NEW_DESCRIPTION
    -   disable
    hw-id 00:53:dd:44:3b:03
    }
    loopback lo {
    }

Пример выше демонстрирует работу команды show interfaces, которая выводит информацию о рабочей конфигурации сетевых интерфейсов до и после внесения изменений в настройки интерфейса eth0.

Для вывода информации обо всех выполненных командах set используется набор команд show | commands. Фильтр commands работает, если в рабочей конфигурации нет неприменённых изменений: при их наличии система предлагает сначала выполнить команду commit. Описание остальных фильтров приведено в разделе Фильтры вывода команд.

Пример работы команды show | commands:

fakel@fakel# show interfaces ethernet eth0 | commands

    set address dhcp
    set hw-id 00:53:ad:44:3b:03

Пример выше демонстрирует работу команды show interfaces ethernet eth0 | commands, которая выводит информации о выполненных командах для интерфейса eth0.

В режиме Конфигурирования вывод команды show зависит от текущего активного уровня иерархической структуры. Команда show выводит информацию о настройках конфигурации, которая относится к текущему активному уровню иерархической структуры.

[edit interfaces ethernet eth0]
fakel@fakel# show
address dhcp
hw-id 00:53:ad:44:3b:03

Пример выше демонстрирует вывод команды show, когда система находится на иерархическом уровне, который отвечает за настройку интерфейса eth0.

Для выхода из режима Конфигурирования используйте команду exit.

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

[edit interfaces ethernet eth0]
fakel@fakel# exit
[edit]
fakel@fakel# exit
fakel@fakel:~$

Пример выше демонстрирует работу команды exit. После первого ввода команды exit система переходит на самый верхний иерархический уровень. Повторный ввод команды exit переводит систему в режим Администрирования.

Если в рабочей конфигурации есть неприменённые изменения, команда exit на верхнем уровне не выполняется: система выводит сообщение Cannot exit: configuration modified. и предлагает команду exit discard. Команда exit discard отменяет изменения и завершает режим Конфигурирования. Если конфигурация применена, но не сохранена, при выходе система выводит предупреждение Warning: configuration changes have not been saved..

Клавиша Ctrl+D в режиме Конфигурирования не завершает режим, система выводит подсказку о том, как выйти из режима: Use "exit" to leave configuration mode. или, в зависимости от типа сеанса, Use "logout" to leave configuration mode.. В обоих случаях режим Конфигурирования завершает команда exit. Команды reboot, poweroff и shutdown в режиме Конфигурирования не выполняются: система предлагает сначала выйти из режима.

Сокращение команд, справка и сообщения

Команды режима Конфигурирования и слова путей конфигурации можно сокращать до однозначного начала, например sh вместо show. Клавиши TAB и ? работают так же, как в режиме Администрирования (см. Справка и автозаполнение команд): они дополняют слова и выводят список допустимых продолжений.

Система выводит следующие сообщения об ошибках:

  • Invalid command: [<слово>] — команды с таким началом нет;

  • Ambiguous command: [<слово>] — начало подходит нескольким командам, ниже выводится их список;

  • Configuration path: [<слово>] is not valid и Set failed (для delete — Delete failed) — путь конфигурации не существует на этом уровне;

  • Configuration path: [<слово>] is ambiguous — начало слова пути подходит нескольким узлам, ниже выводится их список.

Команды режима Конфигурирования

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

set <path> [<value>]

Создает параметр в рабочей конфигурации или задает его значение. Путь <path> указывается от текущего уровня иерархической структуры. Изменения вступают в силу после выполнения команды commit.

delete <path> [<value>]

Удаляет параметр вместе со всеми вложенными параметрами из рабочей конфигурации. Если указано значение <value>, удаляется только оно.

show [<path>] [-all]

Выводит рабочую конфигурацию с текущего уровня или по указанному пути. Ключ -all добавляет значения по умолчанию.

edit <path>

Переходит на уровень <path>.

up

Поднимает текущий уровень на один шаг.

top

Возвращает на верхний уровень.

exit [discard]

Возвращает на верхний уровень, а на верхнем уровне завершает режим Конфигурирования. Слово discard отменяет неприменённые изменения перед выходом.

commit [comment <text>]

Применяет рабочую конфигурацию. Если изменений нет, система выводит No configuration changes to commit. Текст <text> записывается в журнал версий конфигурации. Форма commit confirm не поддерживается, используйте commit-confirm.

commit-confirm [<minutes>] [comment <text>]

Применяет рабочую конфигурацию на ограниченное время. Если за <minutes> минут (по умолчанию 10) не выполнена команда confirm, система возвращается к прежней конфигурации. Подробнее см. Редактирование рабочей конфигурации.

confirm

Подтверждает конфигурацию, примененную командой commit-confirm. Если подтверждение не ожидается, система выводит No confirm pending.

discard

Отменяет все неприменённые изменения рабочей конфигурации. Команда не принимает аргументов.

compare [commands] [<N> [<M>]]

Сравнивает конфигурации. Без аргументов сравнивает рабочую и активную конфигурации, с saved — рабочую и сохраненную, с номером <N> — рабочую и версию <N>, с номерами <N> <M> — версии <N> и <M>. Слово commands выводит различия в виде команд. Подробнее см. Сравнение версий конфигурации.

save [<file>]

Сохраняет активную конфигурацию в файл. Подробнее см. Редактирование рабочей конфигурации.

load [<file>]

Загружает конфигурацию из файла в рабочую конфигурацию. Подробнее см. Сохранение и загрузка конфигурации вручную.

merge <file> [<path>]

Добавляет в рабочую конфигурацию команды из файла, которых нет в активной конфигурации. Подробнее см. Сохранение и загрузка конфигурации вручную.

rollback <N>

Заменяет сохраненную конфигурацию версией <N> и перезагружает систему. Подробнее см. Откат изменений конфигурации.

rollback-soft <N>

Загружает версию <N> в рабочую конфигурацию без перезагрузки. Подробнее см. Откат изменений конфигурации.

copy <tag> <name> to <tag> <name>

Копирует элемент конфигурации. Подробнее см. Редактирование рабочей конфигурации.

rename <tag> <name> to <tag> <name>

Переименовывает элемент конфигурации. Подробнее см. Редактирование рабочей конфигурации.

comment <path> "<text>"

Добавляет к элементу конфигурации комментарий. Пустая строка вместо текста удаляет комментарий.

run <command>

Выполняет команду режима Администрирования (см. Доступ к командам режима Администрирования через режим Конфигурирования).

Доступ к командам режима Администрирования через режим Конфигурирования

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

run [command]

Где параметр command — команда из режима Администрирования. Команда run без параметра выводит сообщение Incomplete command: run. Если параметр command начинается с символа /, запускается программа по указанному пути.

При использовании команды run автозаполнение строки с командами при помощи клавиши TAB и получение справки посредством ввода символа ? доступны для использования.

Пример работы команды run:

[edit]
fakel@fakel# run show interfaces
Codes: S - State, L - Link, u - Up, D - Down, A - Admin Down
Interface        IP Address                        S/L  Description
---------        ----------                        ---  -----------
eth0             0.0.0.0/0                         u/u

Пример выше демонстрирует работу команды run show interfaces, которая выводит информации о сетевых интерфейсах.

Пример работы команды run generate pki wireguard key-pair:

[edit]
fakel@fakel# run generate pki wireguard key-pair

Пример выше демонстрирует работу команды run generate pki wireguard key-pair, которая генерирует пару из открытого и закрытого ключей WireGuard и отображает их в консоли.

Для получения дополнительной информации о возможностях режима Конфигурирования обратитесь к главе Работа с конфигурацией системы.