Интерфейс командной строки VyOS - Операционный режим и конфигурация

Интерфейс командной строки VyOS - Операционный режим и конфигурация

VyOS предоставляет мощный интерфейс командной строки для управления системой. CLI состоит из двух основных режимов: операционного режима и режима конфигурации.

Операционный режим

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

Основные характеристики

  • Позволяет выполнять системные задачи без изменения конфигурации
  • Предоставляет встроенную систему помощи
  • Поддерживает автодополнение команд

Получение помощи

Используйте ? для просмотра доступных команд:

vyos@vyos:~$ ?
Possible completions:
  clear      Clear system information
  configure  Enter configuration mode
  force      Force an operation
  monitor    Monitor system information
  ping       Send ICMP echo requests
  reset      Reset a service
  restart    Restart a service
  show       Show system information
  telnet     Telnet to a node
  traceroute Track network path to node

Автодополнение

Используйте клавишу TAB для автодополнения команд:

vyos@vyos:~$ sh<TAB>
vyos@vyos:~$ show

Семейства команд

clear

Неразрушающие действия, такие как сброс счетчиков или очистка логов:

vyos@vyos:~$ clear interfaces ethernet eth0 counters

reset

Локально разрушающие действия, такие как завершение сессий:

vyos@vyos:~$ reset vpn ipsec-peer 192.0.2.1

restart

Перезапуск подсистем:

vyos@vyos:~$ restart service ssh

force

Принудительное выполнение определенных системных действий:

vyos@vyos:~$ force arp-cache refresh

execute

Выполнение диагностических и вспомогательных задач:

vyos@vyos:~$ execute ping 8.8.8.8

show

Отображение системной информации:

vyos@vyos:~$ show interfaces
vyos@vyos:~$ show ip route
vyos@vyos:~$ show version

monitor

Непрерывный вывод информации (обновление в реальном времени):

vyos@vyos:~$ monitor interfaces ethernet eth0 traffic
vyos@vyos:~$ monitor log

Для выхода из режима мониторинга используйте Ctrl+C.

Режим конфигурации

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

Вход в режим конфигурации

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

Обратите внимание на изменение приглашения командной строки с ~$ на #.

Основные команды конфигурации

set

Добавление или изменение элемента конфигурации:

vyos@vyos# set interfaces ethernet eth0 address 192.168.1.1/24
vyos@vyos# set interfaces ethernet eth0 description 'LAN Interface'

delete

Удаление элемента конфигурации:

vyos@vyos# delete interfaces ethernet eth0 address 192.168.1.1/24

commit

Применение изменений конфигурации:

vyos@vyos# commit

Важно: Изменения не вступят в силу до выполнения команды commit.

save

Сохранение конфигурации на постоянной основе:

vyos@vyos# save
Saving configuration to '/config/config.boot'...
Done

По умолчанию конфигурация сохраняется в /config/config.boot.

compare

Просмотр различий между текущей рабочей и активной конфигурацией:

vyos@vyos# compare
[edit interfaces ethernet eth0]
+address 192.168.1.1/24
+description "LAN Interface"

exit discard

Выход из режима конфигурации без сохранения изменений:

vyos@vyos# exit discard
vyos@vyos:~$

exit

Выход из режима конфигурации с сохранением изменений:

vyos@vyos# commit
vyos@vyos# exit
vyos@vyos:~$

Навигация по иерархии конфигурации

Конфигурация VyOS организована в виде древовидной иерархии.

edit

Переход на определенный уровень конфигурации:

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

Теперь все команды выполняются в контексте interfaces ethernet eth0:

[edit interfaces ethernet eth0]
vyos@vyos# set address 192.168.1.1/24
vyos@vyos# set description 'LAN Interface'

up

Переход на один уровень вверх:

[edit interfaces ethernet eth0]
vyos@vyos# up
[edit interfaces]
vyos@vyos#

top

Переход на корневой уровень конфигурации:

[edit interfaces ethernet eth0]
vyos@vyos# top
[edit]
vyos@vyos#

exit

Выход на один уровень вверх (аналогично up):

[edit interfaces ethernet eth0]
vyos@vyos# exit
[edit interfaces]
vyos@vyos#

Управление конфигурацией

История конфигурации

VyOS автоматически сохраняет историю конфигураций. Просмотр списка сохраненных версий:

vyos@vyos# show system commit
0   2024-10-13 15:30:45 by vyos via cli
1   2024-10-13 14:15:22 by vyos via cli
2   2024-10-13 12:05:10 by vyos via cli

Откат конфигурации

Откат к предыдущей версии конфигурации:

vyos@vyos# rollback 1
vyos@vyos# commit

Откат к последней сохраненной конфигурации:

vyos@vyos# rollback
vyos@vyos# commit

Сравнение конфигураций

Сравнение текущей конфигурации с сохраненной версией:

vyos@vyos# compare 1

Сравнение двух сохраненных версий:

vyos@vyos# compare 1 2

Комментарии к конфигурации

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

vyos@vyos# comment interfaces ethernet eth0 address 192.168.1.1/24 "Primary LAN address"

Просмотр комментариев:

vyos@vyos# show interfaces ethernet eth0
/* Primary LAN address */
address 192.168.1.1/24
description "LAN Interface"

Подтверждение изменений (Commit Confirm)

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

vyos@vyos# commit-confirm 5

Подтверждение изменений в течение 5 минут:

vyos@vyos# confirm

Это полезно при изменении сетевых настроек удаленного маршрутизатора, чтобы избежать потери доступа.

Просмотр конфигурации

show

Просмотр текущей конфигурации:

vyos@vyos# show

Просмотр определенной части конфигурации:

vyos@vyos# show interfaces
vyos@vyos# show interfaces ethernet eth0

show | commands

Отображение конфигурации в виде команд set:

vyos@vyos# show interfaces ethernet eth0 | commands
set interfaces ethernet eth0 address '192.168.1.1/24'
set interfaces ethernet eth0 description 'LAN Interface'

Это полезно для копирования конфигурации или создания скриптов.

show | display-set

Альтернативный способ отображения в виде команд set:

vyos@vyos# show | display-set

Загрузка конфигурации

load

Загрузка конфигурации из файла:

vyos@vyos# load /config/backup-config.boot

Объединение конфигурации из файла с текущей:

vyos@vyos# merge /config/additional-config.boot

Архивирование конфигурации

Локальное архивирование

VyOS автоматически сохраняет каждую commit-версию конфигурации.

Настройка количества хранимых версий:

set system config-management commit-archive location '/config/archive'
set system config-management commit-revisions 50

Удаленное архивирование

Настройка автоматической отправки конфигурации на удаленный сервер после каждого commit:

set system config-management commit-archive location 'scp://user@192.0.2.100/backup'

Советы и рекомендации

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

  • TAB - автодополнение команды
  • ? - показать доступные команды
  • Ctrl+A - переход в начало строки
  • Ctrl+E - переход в конец строки
  • Ctrl+U - удалить все слева от курсора
  • Ctrl+K - удалить все справа от курсора
  • Ctrl+W - удалить слово слева от курсора
  • Ctrl+L - очистить экран
  • Ctrl+C - прервать команду

История команд

  • Стрелка вверх/вниз - навигация по истории команд
  • Ctrl+R - поиск в истории команд

Пайплайны

Команды можно передавать через пайплайны для фильтрации вывода:

vyos@vyos# show | grep address
vyos@vyos# show | match "192.168"

Доступные фильтры:

  • match - показать строки, содержащие паттерн
  • except - исключить строки, содержащие паттерн
  • commands - показать в виде команд set

Копирование и вставка

При работе с удаленной сессией используйте копирование/вставку конфигурации в виде команд set:

vyos@vyos# show interfaces ethernet eth0 | commands

Скопируйте вывод и вставьте в другую систему VyOS.

Пример рабочего процесса

Типичный процесс изменения конфигурации:

# 1. Войти в режим конфигурации
vyos@vyos:~$ configure
[edit]

# 2. Внести изменения
vyos@vyos# set interfaces ethernet eth1 address 192.168.2.1/24
vyos@vyos# set interfaces ethernet eth1 description 'DMZ'

# 3. Просмотреть изменения
vyos@vyos# compare

# 4. Применить изменения
vyos@vyos# commit

# 5. Сохранить конфигурацию
vyos@vyos# save

# 6. Выйти из режима конфигурации
vyos@vyos# exit
vyos@vyos:~$

Следующие шаги

После знакомства с CLI продолжите изучение: