Interfaz de línea de comandos
La CLI de VyOS comprende un modo operativo y uno de configuración.
Modo operacional
El modo operativo permite que los comandos realicen tareas operativas del sistema y vean el estado del sistema y del servicio, mientras que el modo de configuración permite modificar la configuración del sistema.
La CLI proporciona un sistema de ayuda incorporado. En la CLI, la tecla ?
se puede usar para mostrar los comandos disponibles. La tecla TAB
se puede usar para autocompletar comandos y presentará el sistema de ayuda ante un conflicto o valor desconocido.
Por ejemplo, al escribir sh
seguido de la tecla TAB
se completará show
. Al presionar TAB
por segunda vez se mostrarán los posibles subcomandos del comando mostrar
.
vyos@vyos:~$ s[tab]
set show
Ejemplo que muestra posibles comandos 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
Puedes desplazarte hacia arriba con las teclas [Shift]+[PageUp]
y desplazarte hacia abajo con [Shift]+[PageDown]
.
Cuando la salida de un comando da como resultado más líneas de las que se pueden mostrar en la pantalla de la terminal, la salida se pagina como lo indica un indicador :
.
- Cuando se visualiza en modo página, están disponibles los siguientes comandos:
La tecla
q
se puede utilizar para cancelar la salidaespacio
se desplazará hacia abajo una páginab
retrocederá una páginareturn
se desplazará una línea hacia abajoflecha arriba
yflecha abajo
se desplazarán hacia arriba o hacia abajo una línea a la vez respectivamenteLa
flecha izquierda
y laflecha derecha
se pueden usar para desplazarse hacia la izquierda o hacia la derecha en caso de que la salida tenga líneas que excedan el tamaño del terminal.
Modo de configuración
Para ingresar al modo de configuración use el comando configure
:
vyos@vyos:~$ configure
[edit]
vyos@vyos:~#
Nota
Cambios rápidos de $
a #
. Para salir del modo de configuración, escriba exit
.
vyos@vyos:~# exit
exit
vyos@vyos:~$
Consulte la sección de configuración de este documento para obtener más información sobre el modo de configuración.
Descripción general de la configuración
VyOS utiliza un archivo de configuración unificado para la configuración de todo el sistema: /config/config.boot
. Esto permite una fácil creación de plantillas, copia de seguridad y replicación de la configuración del sistema. Por lo tanto, un sistema también se puede clonar fácilmente simplemente copiando los archivos de configuración necesarios.
Terminología
Un sistema VyOS tiene tres tipos principales de configuraciones:
Configuración activa o en ejecución es la configuración del sistema que está cargada y actualmente activa (utilizada por VyOS). Cualquier cambio en la configuración deberá confirmarse para pertenecer a la configuración activa/en ejecución.
Configuración de trabajo es la que se está modificando actualmente en el modo de configuración. Los cambios realizados en la configuración de trabajo no entran en vigencia hasta que los cambios se confirman con el comando
commit
. En ese momento, la configuración de trabajo se convertirá en la configuración activa o en ejecución.Configuración guardada es la que se guarda en un archivo con el comando
save
. Le permite mantener segura una configuración para usos futuros. Puede haber varios archivos de configuración. La configuración predeterminada o de "arranque" se guarda y carga desde el archivo/config/config.boot
.
Editando la configuración
La configuración se puede editar mediante el uso de los comandos set
y delete
desde el modo de configuración.
Los comandos de configuración se aplanan del árbol en comandos de 'una sola línea' que se muestran en mostrar comandos de configuración
desde el modo de operación. Los comandos son relativos al nivel en el que se ejecutan y toda la información redundante del nivel actual se elimina del comando ingresado.
[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
Estos dos comandos anteriores son esencialmente los mismos, solo que se ejecutan desde diferentes niveles en la jerarquía.
Para eliminar una entrada de configuración, use el comando delete
, esto también elimina todos los subniveles bajo el nivel actual que ha especificado en el comando delete
. Eliminar una entrada también hará que el elemento vuelva a su valor predeterminado, si existe.
[edit interfaces ethernet eth0]
vyos@vyos# delete address 192.0.2.100/24
Cualquier cambio que haga en la configuración no tendrá efecto hasta que se confirme usando el comando commit
en el modo de configuración.
vyos@vyos# commit
[edit]
vyos@vyos# exit
Warning: configuration changes have not been saved.
vyos@vyos:~$
Consejo
You can specify a commit message with
commit comment <message>
.
Utilice este comando para conservar los cambios de configuración al reiniciar. De forma predeterminada, se almacena en /config/config.boot. En caso de que desee almacenar el archivo de configuración en otro lugar, puede agregar una ruta local, una dirección SCP, una dirección FTP o una dirección 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
No se puede salir del modo de configuración mientras existan cambios no confirmados. Para salir del modo de configuración sin aplicar los cambios, se debe utilizar el comando exit descartar
.
Todos los cambios en la configuración de trabajo se perderán.
vyos@vyos# exit
Cannot exit: configuration modified.
Use 'exit discard' to discard the changes and exit.
[edit]
vyos@vyos# exit discard
Utilice este comando para confirmar temporalmente sus cambios y establecer la cantidad de minutos disponibles para la validación. Se debe ingresar confirmar
dentro de esos minutos, de lo contrario, el sistema se reiniciará con la configuración anterior. El valor predeterminado es 10 minutos.
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]
Nota
Un reinicio porque no ingresaste confirm
no te llevará necesariamente a la configuración guardada, sino al punto anterior a la desafortunada confirmación.
Copie un elemento de configuración.
Puede copiar y eliminar subárboles de configuración. Suponga que configura un conjunto de reglas de cortafuegos FromWorld
con una regla que permite el tráfico desde una subred específica. Ahora desea configurar una regla similar, pero para una subred diferente. Cambie su nivel de edición a nombre de firewall FromWorld
y use copie la regla 10 a la regla 20
, luego modifique la regla 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]
Cambiar el nombre de un elemento de configuración.
También puede cambiar el nombre de los subárboles de configuración:
vyos@router# rename rule 10 to rule 5
[edit firewall name FromWorld]
vyos@router# commit
[edit firewall name FromWorld]
Tenga en cuenta que el comando mostrar
respeta su nivel de edición y desde este nivel puede ver el conjunto de reglas de firewall modificado con solo mostrar
sin parámetros.
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
}
}
Agregue un comentario como una anotación a un nodo de configuración.
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.
Para eliminar un comentario existente de su configuración actual, especifique una cadena vacía entre comillas dobles (""
) como texto del comentario.
Ejemplo:
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
...
}
Nota
Una cosa importante a tener en cuenta es que dado que el comentario se agrega en la parte superior de la sección, no aparecerá si el `` mostrar<section> Se utiliza el comando . Con el ejemplo anterior, el comando `show firewall` volvería comenzando después de la línea ``firewall {
, ocultando el comentario.
Acceder al modo de operación desde el modo de configuración
Cuando está dentro del modo de configuración, no puede ejecutar directamente los comandos operativos.
El acceso a estos comandos es posible mediante el uso del comando ejecutar [comando]
. Desde este mando tendrás acceso a todo lo accesible desde el modo operativo.
La finalización de comandos y la ayuda de sintaxis con ?
y [tab]
también funcionarán.
[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
Administrar configuraciones
VyOS viene con un sistema de control de versiones integrado para la configuración del sistema. Mantiene automáticamente una copia de seguridad de todas las configuraciones anteriores que se han comprometido en el sistema. Las configuraciones se versionan localmente para revertirlas, pero también se pueden almacenar en un host remoto por razones de archivado/copia de seguridad.
Archivo local
Las revisiones se almacenan en el disco. Puede verlos, compararlos y revertirlos a cualquier revisión anterior si algo sale mal.
Ver todas las revisiones existentes en el sistema local.
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
Puede especificar el número de revisiones almacenadas en el disco. N puede estar en el rango de 0 a 65535. Cuando el número de revisiones supera el valor configurado, se elimina la revisión más antigua. La configuración predeterminada para este valor es almacenar 100 revisiones localmente.
Comparar configuraciones
VyOS le permite comparar diferentes configuraciones.
Use este comando para detectar cuáles son las diferencias entre las diferentes configuraciones.
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
El comando compare
le permite comparar diferentes tipos de configuraciones. También le permite comparar diferentes revisiones a través del comando compare NM
, donde N y M son números de revisión. La salida describirá cómo es la configuración N en comparación con M indicando con un signo más (+
) las partes adicionales que tiene N en comparación con M, e indicando con un signo menos (-
) las que faltan. las partes N fallan en comparación con 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
-}
El comando anterior también te permite ver la diferencia entre dos confirmaciones. De forma predeterminada, se muestra la diferencia con la configuración en ejecución.
vyos@router# run show system commit diff 4
[edit system]
+ipv6 {
+ disable-forwarding
+}
Esto significa que hace cuatro confirmaciones hicimos set system ipv6 disabled-forwarding
.
Cambios de reversión
Puede revertir los cambios de configuración mediante el comando de reversión. Esto aplicará la revisión seleccionada y activará un reinicio del sistema.
Retroceder a la revisión N (actualmente requiere reiniciar)
vyos@vyos# compare 1
[edit system]
>host-name vyos-1
[edit]
vyos@vyos# rollback 1
Proceed with reboot? [confirm][y]
Broadcast message from root@vyos-1 (pts/0) (Tue Dec 17 21:07:45 2013):
The system is going down for reboot NOW!
Archivo remoto
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
.
Especifique la ubicación remota del archivo de confirmación como cualquiera de los siguientes 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.
Nota
El número de revisiones no afecta el archivo de confirmación.
Nota
Es posible que VyOS no permita la conexión segura porque no puede verificar la legitimidad del servidor remoto. Puede usar la solución a continuación para agregar rápidamente la huella digital SSH del host remoto a su archivo ~/.ssh/known_hosts
:
vyos@vyos# ssh-keyscan <host> >> ~/.ssh/known_hosts
Guardar y cargar manualmente
Puede usar los comandos guardar
y cargar
si desea administrar manualmente archivos de configuración específicos.
Al usar el comando save, puede agregar una ubicación específica donde almacenar su archivo de configuración. Y, cuando lo necesites, podrás cargarlo con el comando load
:
Utilice este comando para cargar una configuración que reemplazará la configuración en ejecución. Defina la ubicación del archivo de configuración que se va a cargar. Puede utilizar una ruta a un archivo local, una dirección SCP, una dirección SFTP, una dirección FTP, una dirección HTTP, una dirección HTTPS o una dirección 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
Restaurar predeterminado
En el caso de que desee eliminar completamente su configuración y restaurar la predeterminada, puede ingresar el siguiente comando en el modo de configuración:
load /opt/vyatta/etc/config.boot.default
Se le preguntará si desea continuar. Si acepta, deberá usar commit
si desea activar los cambios.
Entonces es posible que desee save
para eliminar también la configuración guardada.
Nota
Si está conectado de forma remota, perderá su conexión. Es posible que desee copiar primero la configuración, editarla para garantizar la conectividad y cargar la configuración editada.