Інтерфейс командного рядка
VyOS CLI містить робочий і конфігураційний режими.
Режим роботи
Оперативний режим дозволяє командам виконувати завдання операційної системи та переглядати стан системи та служби, а режим конфігурації дозволяє змінювати конфігурацію системи.
CLI забезпечує вбудовану довідкову систему. У CLI можна використовувати клавішу ?
для відображення доступних команд. Клавіша TAB
може використовуватися для автоматичного завершення команд і відображатиме довідкову систему у випадку конфлікту або невідомого значення.
Наприклад, введення sh
і клавіша TAB
призведе до show
. Повторне натискання TAB
відобразить можливі підкоманди команди show
.
vyos@vyos:~$ s[tab]
set show
Приклад, що показує можливі команди шоу:
vyos@vyos:~$ show [tab]
Possible completions:
arp Show Address Resolution Protocol (ARP) information
bridge Show bridging information
cluster Show clustering information
configuration Show running configuration
conntrack Show conntrack entries in the conntrack table
conntrack-sync
Show connection syncing information
date Show system date and time
dhcp Show Dynamic Host Configuration Protocol (DHCP) information
dhcpv6 Show status related to DHCPv6
disk Show status of disk device
dns Show Domain Name Server (DNS) information
file Show files for a particular image
firewall Show firewall information
flow-accounting
Show flow accounting statistics
hardware Show system hardware details
history show command history
host Show host information
incoming Show ethernet input-policy information
: q
Ви можете прокручувати вгору за допомогою клавіш [Shift]+[PageUp]
і прокручувати вниз за допомогою [Shift]+[PageDown]
.
Якщо вихід команди призводить до більшої кількості рядків, ніж може бути відображено на екрані терміналу, результат розбивається на сторінки, як вказує підказка :
.
- Під час перегляду в режимі сторінки доступні такі команди:
Для скасування виводу можна використовувати клавішу
q
пробіл
прокрутить на одну сторінку внизb
прокрутить на одну сторінку назадreturn
прокрутить на один рядок внизстрілка вгору
істрілка вниз
прокручують вгору або вниз на один рядок відповіднострілка вліво
істрілка вправо
можна використовувати для прокручування вліво або вправо у випадку, якщо вихідні дані містять рядки, які перевищують розмір терміналу.
Режим конфігурації
Щоб увійти в режим налаштування, використовуйте команду configure
:
vyos@vyos:~$ configure
[edit]
vyos@vyos:~#
Примітка
Підказка змінюється з $
на #
. Щоб вийти з режиму налаштування, введіть вихід
.
vyos@vyos:~# exit
exit
vyos@vyos:~$
Дивіться розділ конфігурації цього документа, щоб отримати додаткові відомості про режим конфігурації.
Огляд конфігурації
VyOS використовує уніфікований файл конфігурації для всієї конфігурації системи: /config/config.boot
. Це дозволяє легко створювати шаблони, створювати резервні копії та тиражувати конфігурацію системи. Таким чином, систему також можна легко клонувати, просто скопіювавши необхідні конфігураційні файли.
Термінологія
Система VyOS має три основні типи конфігурацій:
Активна або запущена конфігурація – це конфігурація системи, яка завантажена та наразі активна (використовується VyOS). Будь-яка зміна в конфігурації повинна бути закріплена для належності до активної/працюючої конфігурації.
Робоча конфігурація – це конфігурація, яка зараз змінюється в режимі конфігурації. Зміни, внесені до робочої конфігурації, не набудуть чинності, доки зміни не будуть зафіксовані за допомогою команди
commit
. У цей час робоча конфігурація стане активною або запущеною конфігурацією.Збережена конфігурація – це конфігурація, збережена у файл за допомогою команди
save
. Це дозволяє зберегти конфігурацію для подальшого використання. Файлів конфігурації може бути декілька. Стандартна або "завантажувальна" конфігурація зберігається та завантажується з файлу/config/config.boot
.
Редагування конфігурації
Конфігурацію можна редагувати за допомогою команд set
і delete
у режимі налаштування.
Команди конфігурації зведені з дерева в команди «одного рядка», показані в показати команди конфігурації
з режиму роботи. Команди відносяться до рівня, на якому вони виконуються, і вся зайва інформація з поточного рівня видаляється з введеної команди.
[edit]
vyos@vyos# set interface ethernet eth0 address 192.0.2.100/24
[edit interfaces ethernet eth0]
vyos@vyos# set address 203.0.113.6/24
Ці дві наведені вище команди по суті однакові, просто виконуються з різних рівнів ієрархії.
Щоб видалити запис конфігурації, скористайтеся командою delete
, це також видаляє всі підрівні поточного рівня, указаного в команді delete
. Видалення запису також призведе до повернення елемента до значення за замовчуванням, якщо воно існує.
[edit interfaces ethernet eth0]
vyos@vyos# delete address 192.0.2.100/24
Будь-яка зміна, яку ви вносите в конфігурацію, не набуде чинності, доки не буде зафіксовано за допомогою команди commit
у режимі конфігурації.
vyos@vyos# commit
[edit]
vyos@vyos# exit
Warning: configuration changes have not been saved.
vyos@vyos:~$
Підказка
You can specify a commit message with
commit comment <message>
.
Використовуйте цю команду, щоб зберегти зміни конфігурації після перезавантаження. За замовчуванням він зберігається в /config/config.boot. Якщо ви хочете зберегти файл конфігурації в іншому місці, ви можете додати локальний шлях, адресу SCP, адресу FTP або адресу TFTP.
vyos@vyos# save
Saving configuration to '/config/config.boot'...
Done
vyos@vyos# save [tab]
Possible completions:
<Enter> Save to system config file
<file> Save to file on local machine
scp://<user>:<passwd>@<host>:/<file> Save to file on remote machine
ftp://<user>:<passwd>@<host>/<file> Save to file on remote machine
tftp://<host>/<file> Save to file on remote machine
vyos@vyos# save tftp://192.168.0.100/vyos-test.config.boot
Saving configuration to 'tftp://192.168.0.100/vyos-test.config.boot'...
######################################################################## 100.0%
Done
Неможливо вийти з режиму конфігурації, поки існують незафіксовані зміни. Щоб вийти з режиму налаштування без застосування змін, необхідно використати команду exit discard
.
Таким чином, усі зміни в робочій конфігурації буде втрачено.
vyos@vyos# exit
Cannot exit: configuration modified.
Use 'exit discard' to discard the changes and exit.
[edit]
vyos@vyos# exit discard
Використовуйте цю команду, щоб тимчасово зафіксувати зміни та встановити кількість хвилин, доступних для перевірки. confirm
необхідно ввести протягом цих хвилин, інакше система перезавантажиться до попередньої конфігурації. Стандартне значення становить 10 хвилин.
What if you are doing something dangerous? Suppose you want to setup
a firewall, and you are not sure there are no mistakes that will lock
you out of your system. You can use confirmed commit. If you issue
the commit-confirm
command, your changes will be committed, and if
you don’t issue the confirm
command in 10 minutes, your
system will reboot into previous config revision.
vyos@router# set firewall interface eth0 local name FromWorld
vyos@router# commit-confirm
commit confirm will be automatically reboot in 10 minutes unless confirmed
Proceed? [confirm]y
[edit]
vyos@router# confirm
[edit]
Примітка
Перезавантаження через те, що ви не ввели confirm
, не обов’язково переведе вас до збереженої конфігурації, а до точки перед невдалим комітом.
Скопіюйте елемент конфігурації.
Ви можете копіювати та видаляти піддерева конфігурації. Припустімо, ви встановили набір правил брандмауера FromWorld
з одним правилом, яке дозволяє трафік із певної підмережі. Тепер ви хочете налаштувати подібне правило, але для іншої підмережі. Змініть рівень редагування на назва брандмауера FromWorld
і використовуйте копіювати правило 10 до правила 20
, а потім змініть правило 20.
vyos@router# show firewall name FromWorld
default-action drop
rule 10 {
action accept
source {
address 203.0.113.0/24
}
}
[edit]
vyos@router# edit firewall name FromWorld
[edit firewall name FromWorld]
vyos@router# copy rule 10 to rule 20
[edit firewall name FromWorld]
vyos@router# set rule 20 source address 198.51.100.0/24
[edit firewall name FromWorld]
vyos@router# commit
[edit firewall name FromWorld]
Перейменувати елемент конфігурації.
Ви також можете перейменувати піддерева конфігурації:
vyos@router# rename rule 10 to rule 5
[edit firewall name FromWorld]
vyos@router# commit
[edit firewall name FromWorld]
Зауважте, що команда show
поважає ваш рівень редагування, і на цьому рівні ви можете переглядати змінений набір правил брандмауера лише за допомогою show
без параметрів.
vyos@router# show
default-action drop
rule 5 {
action accept
source {
address 203.0.113.0/24
}
}
rule 20 {
action accept
source {
address 198.51.100.0/24
}
}
Додайте коментар як анотацію до вузла конфігурації.
The comment
command allows you to insert a comment above the
<config node>
configuration section. When shown, comments are
enclosed with /*
and */
as open/close delimiters. Comments
need to be committed, just like other config changes.
Щоб видалити наявний коментар із вашої поточної конфігурації, укажіть порожній рядок у подвійних лапках (""
) як текст коментаря.
приклад:
vyos@vyos# comment firewall all-ping "Yes I know this VyOS is cool"
vyos@vyos# commit
vyos@vyos# show
firewall {
/* Yes I know this VyOS is cool */
all-ping enable
broadcast-ping disable
...
}
Примітка
Важливо зауважити, що оскільки коментар додається вгорі розділу, він не відображатиметься, якщо показати<section> `` використовується команда. У наведеному вище прикладі команда `show firewall` повертатиметься після рядка ``firewall {
, приховуючи коментар.
Доступ до opmode з режиму конфігурації
У режимі конфігурації ви не можете безпосередньо виконувати робочі команди.
Доступ до цих команд можливий за допомогою команди run [command]
. За допомогою цієї команди ви матимете доступ до всього, доступного з робочого режиму.
Доповнення команд і синтаксична довідка з ?
і [tab]
також працюватимуть.
[edit]
vyos@vyos# 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
Керування конфігураціями
VyOS поставляється з інтегрованою системою керування версіями для конфігурації системи. Він автоматично підтримує резервну копію кожної попередньої конфігурації, яка була зафіксована в системі. Конфігурації керуються локальними версіями для відкоту, але їх також можна зберігати на віддаленому хості для архівування/резервного копіювання.
Місцевий архів
Ревізії зберігаються на диску. Ви можете переглядати, порівнювати та повертати їх до будь-яких попередніх версій, якщо щось піде не так.
Переглянути всі існуючі версії в локальній системі.
vyos@vyos:~$ show system commit
0 2015-03-30 08:53:03 by vyos via cli
1 2015-03-30 08:52:20 by vyos via cli
2 2015-03-26 21:26:01 by root via boot-config-loader
3 2015-03-26 20:43:18 by root via boot-config-loader
4 2015-03-25 11:06:14 by root via boot-config-loader
5 2015-03-25 01:04:28 by root via boot-config-loader
6 2015-03-25 00:16:47 by vyos via cli
7 2015-03-24 23:43:45 by root via boot-config-loader
Порівняйте конфігурації
VyOS дозволяє порівнювати різні конфігурації.
Використовуйте цю команду, щоб визначити відмінності між різними конфігураціями.
vyos@vyos# compare [tab]
Possible completions:
<Enter> Compare working & active configurations
saved Compare working & saved configurations
<N> Compare working with revision N
<N> <M> Compare revision N with M
Revisions:
0 2013-12-17 20:01:37 root by boot-config-loader
1 2013-12-13 15:59:31 root by boot-config-loader
2 2013-12-12 21:56:22 vyos by cli
3 2013-12-12 21:55:11 vyos by cli
4 2013-12-12 21:27:54 vyos by cli
5 2013-12-12 21:23:29 vyos by cli
6 2013-12-12 21:13:59 root by boot-config-loader
7 2013-12-12 16:25:19 vyos by cli
8 2013-12-12 15:44:36 vyos by cli
9 2013-12-12 15:42:07 root by boot-config-loader
10 2013-12-12 15:42:06 root by init
Команда compare
дозволяє порівнювати різні типи конфігурацій. Це також дозволяє порівнювати різні версії за допомогою команди compare NM
, де N і M є номерами версій. Вихідні дані описуватимуть конфігурацію N у порівнянні з M, вказуючи знаком плюс (+
) додаткові частини, які N має порівняно з M, і вказуючи знаком мінус (-
) недоліки частини N відсутні в порівнянні з M.
vyos@vyos# compare 0 6
[edit interfaces]
+dummy dum1 {
+ address 10.189.0.1/31
+}
[edit interfaces ethernet eth0]
+vif 99 {
+ address 10.199.0.1/31
+}
-vif 900 {
- address 192.0.2.4/24
-}
Наведена вище команда також дозволяє побачити різницю між двома комітами. За умовчанням показано різницю з поточною конфігурацією.
vyos@router# run show system commit diff 4
[edit system]
+ipv6 {
+ disable-forwarding
+}
Це означає, що чотири коміти тому ми зробили налаштування системного ipv6 disable-forwarding
.
Відкат змін
Ви можете скасувати зміни конфігурації за допомогою команди rollback. Це застосує вибрану версію та ініціює перезавантаження системи.
Віддалений архів
VyOS can upload the configuration to a remote location after each call
to commit
. You will have to set the commit-archive location.
TFTP, FTP, SCP and SFTP servers are supported. Every time a
commit
is successful the config.boot
file will be copied
to the defined destination(s). The filename used on the remote host will
be config.boot-hostname.YYYYMMDD_HHMMSS
.
Укажіть віддалене розташування архіву комітів як будь-яке з наведених нижче URI
http://<user>:<passwd>@<host>:/<dir>
https://<user>:<passwd>@<host>:/<dir>
``sftp://<user> :<passwd> @<host> /<dir> ``
``scp://<user> :<passwd> @<host> :/<dir> ``
git+https://<user>:<passwd>@<host>/<path>
Since username and password are part of the URI, they need to be properly url encoded if containing special characters.
Примітка
Кількість редагувань не впливає на архів комітів.
Примітка
Ви можете виявити, що VyOS не дозволяє безпечне з’єднання, оскільки не може перевірити легітимність віддаленого сервера. Щоб швидко додати відбиток SSH віддаленого хоста до вашого файлу ~/.ssh/known_hosts
, ви можете скористатися наведеним нижче обхідним шляхом:
vyos@vyos# ssh-keyscan <host> >> ~/.ssh/known_hosts
Збереження та завантаження вручну
Ви можете використовувати команди save
і load
, якщо ви хочете вручну керувати певними конфігураційними файлами.
Використовуючи команду save, ви можете додати конкретне місце для збереження файлу конфігурації. І за потреби ви зможете завантажити його за допомогою команди load
:
Використовуйте цю команду, щоб завантажити конфігурацію, яка замінить поточну конфігурацію. Визначте розташування файлу конфігурації, який потрібно завантажити. Ви можете використовувати шлях до локального файлу, адресу SCP, адресу SFTP, адресу FTP, адресу HTTP, адресу HTTPS або адресу TFTP.
vyos@vyos# load
Possible completions:
<Enter> Load from system config file
<file> Load from file on local machine
scp://<user>:<passwd>@<host>:/<file> Load from file on remote machine
sftp://<user>:<passwd>@<host>/<file> Load from file on remote machine
ftp://<user>:<passwd>@<host>/<file> Load from file on remote machine
http://<host>/<file> Load from file on remote machine
https://<host>/<file> Load from file on remote machine
tftp://<host>/<file> Load from file on remote machine
Відновити значення за замовчуванням
Якщо ви хочете повністю видалити конфігурацію та відновити стандартну, ви можете ввести таку команду в режимі конфігурації:
load /opt/vyatta/etc/config.boot.default
Вас запитають, чи хочете ви продовжити. Якщо ви приймаєте, вам доведеться використовувати commit
, якщо ви хочете зробити зміни активними.
Тоді ви можете зберегти
, щоб також видалити збережену конфігурацію.
Примітка
Якщо ви підключені віддалено, ви втратите з’єднання. Ви можете спочатку скопіювати конфігурацію, відредагувати її, щоб забезпечити з’єднання, і завантажити відредаговану конфігурацію.