mirror of
				https://github.com/vyos/vyos-documentation.git
				synced 2025-10-26 08:41:46 +01:00 
			
		
		
		
	This will add proper new-lines into the rendered PDF. Before if it has been a long line, not all content was preserved in the PDF.
		
			
				
	
	
		
			524 lines
		
	
	
		
			14 KiB
		
	
	
	
		
			ReStructuredText
		
	
	
	
	
	
			
		
		
	
	
			524 lines
		
	
	
		
			14 KiB
		
	
	
	
		
			ReStructuredText
		
	
	
	
	
	
| .. _commandtree_configmode:
 | |
| 
 | |
| Configuration mode
 | |
| ------------------
 | |
| 
 | |
| .. code-block:: console
 | |
| 
 | |
|   confirm           Confirm prior commit-confirm
 | |
|   comment           Add comment to this configuration element
 | |
|   commit            Commit the current set of changes
 | |
|   commit-confirm    Commit the current set of changes with 'confirm' required
 | |
|   compare           Compare configuration revisions
 | |
|   copy              Copy a configuration element
 | |
|   delete            Delete a configuration element
 | |
|   discard           Discard uncommitted changes
 | |
|   edit              Edit a sub-element
 | |
|   exit              Exit from this configuration level
 | |
|   load              Load configuration from a file and replace running configuration
 | |
|   loadkey           Load user SSH key from a file
 | |
|   merge             Load configuration from a file and merge running configuration
 | |
|   rename            Rename a configuration element
 | |
|   rollback          Rollback to a prior config revision (requires reboot)
 | |
|   run               Run an operational-mode command
 | |
|   save              Save configuration to a file
 | |
|   set               Set the value of a parameter or create a new element
 | |
|   show              Show the configuration (default values may be suppressed)
 | |
| 
 | |
| 
 | |
| Confirm
 | |
| ^^^^^^^
 | |
| 
 | |
| The ``confirm`` command confirms the prior ``commit-confirm``.
 | |
| 
 | |
| Comment
 | |
| ^^^^^^^
 | |
| 
 | |
| The ``comment`` commands allow you to insert a comment above the current configuration section.
 | |
| The command cannot be used at the top of the configuration hierarchy, only on subsections. Comments needs to be commited, just like other config changes.
 | |
| 
 | |
| To add a comment to a section, while being already at the proper section level:
 | |
| 
 | |
| .. code-block:: console
 | |
| 
 | |
|   [edit <section>]
 | |
|   vyos@vyos# comment "Type Comment Here"
 | |
| 
 | |
| To add a comment directly to a section, from the top or a higher section:
 | |
| 
 | |
| .. code-block:: console
 | |
| 
 | |
|   [edit]
 | |
|   vyos@vyos# comment <section> "Type Comment Here"
 | |
| 
 | |
| To remove a comment, add a blank comment to overwrite:
 | |
| 
 | |
| .. code-block:: console
 | |
| 
 | |
|   [edit <section>]
 | |
|   vyos@vyos# comment ""
 | |
| 
 | |
| Examples
 | |
| ********
 | |
| 
 | |
| To add a comment to the "interfaces" section:
 | |
| 
 | |
| .. code-block:: console
 | |
| 
 | |
|   [edit]
 | |
|   vyos@vyos# edit interfaces
 | |
|   [edit interfaces]
 | |
|   vyos@vyos# comment "Here is a comment"
 | |
|   [edit interfaces]
 | |
|   vyos@vyos# commit
 | |
| 
 | |
| The comment would then appear like this:
 | |
| 
 | |
| .. code-block:: console
 | |
| 
 | |
|   [edit]
 | |
|   vyos@vyos# show
 | |
|    /* Here is a comment */
 | |
|     interfaces {
 | |
|         ethernet eth0 {
 | |
|     [...]
 | |
| 
 | |
| 
 | |
| An important thing to note is that since the comment is added on top of the section, it will not appear if the ``show <section>`` command is used. With the above example, the ``show interfaces`` command would return starting after the "interfaces {" line, hiding the comment:
 | |
| 
 | |
| .. code-block:: console
 | |
| 
 | |
|   [edit]
 | |
|   vyos@vyos# show interfaces
 | |
|    ethernet eth0 {
 | |
|   [...]
 | |
| 
 | |
| 
 | |
| To add a comment to the interfaces section from the top:
 | |
| 
 | |
| .. code-block:: console
 | |
| 
 | |
|   [edit]
 | |
|   vyos@vyos# comment interfaces "test"
 | |
| 
 | |
| 
 | |
| The comment can be added to any node that already exists, even if it's multiple levels lower:
 | |
| 
 | |
| .. code-block:: console
 | |
| 
 | |
|   [edit]
 | |
|   vyos@vyos# comment interfaces ethernet eth0 vif 222 address "Far down comment"
 | |
| 
 | |
| 
 | |
| Commit
 | |
| ^^^^^^
 | |
| 
 | |
| The ``commit`` command commits the proposed changes to the configuration file.
 | |
| Every changes done in the configuration session is only applied when the configuration is committed. To view the changes that will be applied, use the show command.
 | |
| To discard the changes without committing, use the ``discard`` command. The ``commit`` command doesn't save the configuration, you need to manually use the ``save`` command.
 | |
| 
 | |
| The confirm keyword can be added, see ``commit-confirm``. A comment can be entered, it will appear in the commit log.
 | |
| 
 | |
| .. code-block:: console
 | |
| 
 | |
|   [edit]
 | |
|   vyos@vyos# commit
 | |
|   Possible completions:
 | |
|     <Enter>       Commit working configuration
 | |
|     comment       Comment for commit log
 | |
| 
 | |
| Commit-confirm
 | |
| ^^^^^^^^^^^^^^
 | |
| 
 | |
| The ``commit-confirm`` command commits the proposed changes to the configuration file and starts a timer.
 | |
| If the ``confirm`` command is not entered before the timer expiration, the configuration will be rolled back and VyOS will reboot.
 | |
| The default timer value is 10 minutes, but a custom value can be entered.
 | |
| 
 | |
| .. code-block:: console
 | |
| 
 | |
|   [edit]
 | |
|   vyos@vyos# commit-confirm
 | |
|   Possible completions:
 | |
|     <Enter>       Commit, rollback/reboot in 10 minutes if no confirm
 | |
|     <N>           Commit, rollback/reboot in N minutes if no confirm
 | |
|     comment       Comment for commit log
 | |
| 
 | |
| 
 | |
| Compare
 | |
| ^^^^^^^
 | |
| 
 | |
| VyOS maintains backups of previous configurations. To compare configuration revisions in configuration mode, use the compare command:
 | |
| 
 | |
| .. code-block:: console
 | |
| 
 | |
|   [edit]
 | |
|   vyos@vyos# compare
 | |
|   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	2019-03-20 20:57:22 root by boot-config-loader
 | |
|       1	2019-03-15 20:00:04 root by boot-config-loader
 | |
|       2	2019-03-05 01:58:39 vyos by cli
 | |
|       3	2019-03-05 01:54:59 vyos by cli
 | |
|       4	2019-03-05 01:53:08 vyos by cli
 | |
|       5	2019-03-05 01:52:21 vyos by cli
 | |
|       6	2019-02-24 21:01:24 root by boot-config-loader
 | |
|       7	2019-02-21 22:00:12 vyos by cli
 | |
|       8	2019-02-21 21:56:49 vyos by cli
 | |
| 
 | |
| 
 | |
| Copy
 | |
| ^^^^
 | |
| 
 | |
| The ``copy`` command allows you to copy a configuration object.
 | |
| 
 | |
| Copy the configuration entrys from a firewall name WAN rule 1 to rule 2.
 | |
| 
 | |
| .. code-block:: console
 | |
| 
 | |
|   [edit firewall name WAN]
 | |
|   vyos@vyos# show
 | |
|    rule 1 {
 | |
|        action accept
 | |
|        source {
 | |
|            address 10.1.0.0/24
 | |
|        }
 | |
|    }
 | |
|   [edit firewall name WAN]
 | |
|   vyos@vyos# copy rule 1 to rule 2
 | |
|   [edit firewall name WAN]
 | |
|   vyos@vyos# show
 | |
|    rule 1 {
 | |
|        action accept
 | |
|        source {
 | |
|            address 10.1.0.0/24
 | |
|        }
 | |
|    }
 | |
|   +rule 2 {
 | |
|   +    action accept
 | |
|   +    source {
 | |
|   +        address 10.1.0.0/24
 | |
|   +    }
 | |
|   +}
 | |
| 
 | |
| Delete
 | |
| ^^^^^^
 | |
| 
 | |
| The ``delte`` command is to delete a configuration entry.
 | |
| 
 | |
| This Example delete the hole ``service tftp-server`` section.
 | |
| 
 | |
| .. code-block:: console
 | |
| 
 | |
|   delete service tftp-server
 | |
| 
 | |
| Discard
 | |
| ^^^^^^^
 | |
| 
 | |
| The ``discard`` command removes all pending configuration changes.
 | |
| 
 | |
| .. code-block:: console
 | |
| 
 | |
|   [edit]
 | |
|   vyos@vyos# discard
 | |
|   
 | |
|     Changes have been discarded
 | |
| 
 | |
| Edit
 | |
| ^^^^
 | |
| 
 | |
| The ``edit`` command allows you to navigate down into the configuration tree.
 | |
| To get back to an upper level, use the ``up`` command or use the ``top`` command to get back to the upper most level.
 | |
| The ``[edit]`` text displays where the user is located in the configuration tree.
 | |
| 
 | |
| .. code-block:: console
 | |
| 
 | |
|   [edit]
 | |
|   vyos@vyos# edit interfaces
 | |
|   [edit interfaces]
 | |
|   vyos@vyos# edit ethernet eth0
 | |
|   [edit interfaces ethernet eth0]
 | |
| 
 | |
| Exit
 | |
| ^^^^
 | |
| 
 | |
| The ``exit`` command exits the current configuration mode. If the current configuration level isn't the top-most, then the configuration level is put back to the top-most level.
 | |
| If the configuration level is at the top-most level, then it exits the configuration mode and returns to operational mode.
 | |
| The ``exit`` command cannot be used if uncommitted changes exists in the configuration file. To exit with uncommitted changes, you either need to use the ``exit discard`` command or you need to commit the changes before exiting.
 | |
| The ``exit`` command doesn't save the configuration, only the ``save`` command does. A warning will be given when exiting with unsaved changes. Using the ``exit`` command in operational mode will logout the session.
 | |
| 
 | |
| 
 | |
| Exiting from a configuration level:
 | |
| 
 | |
| 
 | |
| .. code-block:: console
 | |
| 
 | |
|   [edit interfaces ethernet eth0]
 | |
|   vyos@vyos# exit
 | |
|   [edit]
 | |
|   vyos@vyos#
 | |
| 
 | |
| Exiting from configuration mode:
 | |
| 
 | |
| .. code-block:: console
 | |
| 
 | |
|   [edit]
 | |
|   vyos@vyos# exit
 | |
|   exit
 | |
|   vyos@vyos:~$
 | |
| 
 | |
| Exiting from operational mode:
 | |
| 
 | |
| .. code-block:: console
 | |
| 
 | |
|   vyos@vyos:~$ exit
 | |
|   logout
 | |
| 
 | |
| Error message when trying to exit with uncommitted changes:
 | |
| 
 | |
| .. code-block:: console
 | |
| 
 | |
|   vyos@vyos# exit
 | |
|   Cannot exit: configuration modified.
 | |
|   Use 'exit discard' to discard the changes and exit.
 | |
|   [edit]
 | |
|   vyos@vyos#
 | |
| 
 | |
| 
 | |
| Warning message when exiting with unsaved changes:
 | |
| 
 | |
| .. code-block:: console
 | |
| 
 | |
|   [edit]
 | |
|   vyos@vyos# exit
 | |
|   Warning: configuration changes have not been saved.
 | |
|   exit
 | |
|   vyos@vyos:~$
 | |
| 
 | |
| Load
 | |
| ^^^^
 | |
| 
 | |
| The ``load`` command load a configuration from a local or remote file. You have to be use ``commit`` to make the change active
 | |
| 
 | |
| .. code-block:: console
 | |
| 
 | |
|   <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
 | |
| 
 | |
| 
 | |
| .. code-block:: console
 | |
| 
 | |
|   [edit]
 | |
|   vyos@vyos# load
 | |
|   Loading configuration from '/config/config.boot'...
 | |
| 
 | |
|   Load complete.  Use 'commit' to make changes active.
 | |
| 
 | |
| 
 | |
| Loadkey
 | |
| ^^^^^^^^
 | |
| 
 | |
| Copies the content of a public key to the ~/.ssh/authorized_keys file.
 | |
| 
 | |
| .. code-block:: console
 | |
| 
 | |
|   loadkey <username> [tab]
 | |
| 
 | |
|   <file>                      Load from file on local machine
 | |
|   scp://<user>@<host>/<file>  Load from file on remote machine
 | |
|   sftp://<user>@<host>/<file> Load from file on remote machine
 | |
|   ftp://<user>@<host>/<file>  Load from file on remote machine
 | |
|   http://<host>/<file>        Load from file on remote machine
 | |
|   tftp://<host>/<file>        Load from file on remote machine
 | |
| 
 | |
| Merge
 | |
| ^^^^^
 | |
| 
 | |
| The ``merge`` command merge the config from a local or remote file with the running config.
 | |
| 
 | |
| In the example below exist a ``default-firewall.config`` file with some common firewall rules you saved earlier.
 | |
| 
 | |
| .. code-block:: console
 | |
| 
 | |
|   [edit]
 | |
|   vyos@vyos# show firewall
 | |
|   Configuration under specified path is empty
 | |
|   [edit]
 | |
|   vyos@vyos# merge default-firewall.config
 | |
|   Loading configuration from '/config/default-firewall.config'...
 | |
| 
 | |
|   Merge complete.  Use 'commit' to make changes active.
 | |
|   [edit]
 | |
|   vyos@vyos#
 | |
| 
 | |
|   vyos@vyos# show firewall
 | |
|   +all-ping enable
 | |
|   +broadcast-ping disable
 | |
|   +config-trap disable
 | |
|   +ipv6-receive-redirects disable
 | |
|   +ipv6-src-route disable
 | |
|   +ip-src-route disable
 | |
|   +log-martians enable
 | |
|   +name WAN {
 | |
|   +    default-action drop
 | |
|   +    rule 1 {
 | |
|   +        action accept
 | |
|   +        source {
 | |
|   +            address 10.1.0.0/24
 | |
|   +        }
 | |
|   +    }
 | |
|   +    rule 2 {
 | |
|   +        action accept
 | |
|   +        source {
 | |
|   +            address 10.1.0.0/24
 | |
|   +        }
 | |
|   ......
 | |
| 
 | |
| 
 | |
| Rename
 | |
| ^^^^^^
 | |
| 
 | |
| The ``rename`` command allows you to rename or move a configuration object.
 | |
| 
 | |
| See here how to move the configuration entrys from vlanid 3 to 2
 | |
| 
 | |
| .. code-block:: console
 | |
| 
 | |
|   [edit interfaces ethernet eth1]
 | |
|   vyos@vyos# show
 | |
|    duplex auto
 | |
|    hw-id 08:00:27:81:c6:59
 | |
|    smp-affinity auto
 | |
|    speed auto
 | |
|    vif 3 {
 | |
|        address 10.4.4.4/32
 | |
|    }
 | |
|   [edit interfaces ethernet eth1]
 | |
|   vyos@vyos# rename vif 3 to vif 2
 | |
|   [edit interfaces ethernet eth1]
 | |
|   vyos@vyos# show
 | |
|    duplex auto
 | |
|    hw-id 08:00:27:81:c6:59
 | |
|    smp-affinity auto
 | |
|    speed auto
 | |
|   +vif 2 {
 | |
|   +    address 10.4.4.4/32
 | |
|   +}
 | |
|   -vif 3 {
 | |
|   -    address 10.4.4.4/32
 | |
|   -}
 | |
|   [edit interfaces ethernet eth1]
 | |
|   vyos@vyos#
 | |
| 
 | |
| 
 | |
| Rollback
 | |
| ^^^^^^^^
 | |
| 
 | |
| You can ``rollback`` configuration using the rollback command, however this command will currently trigger a system reboot.
 | |
| Use the compare command to verify the configuration you want to rollback to.
 | |
| 
 | |
| .. code-block:: console
 | |
| 
 | |
|   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 2018):
 | |
|   
 | |
|   The system is going down for reboot NOW!
 | |
|   [edit]
 | |
|   vyos@vyos#
 | |
| 
 | |
| Run
 | |
| ^^^
 | |
| 
 | |
| The ``run`` command allows you to execute any operational mode commands without exiting the configuration session.
 | |
| 
 | |
| .. code-block:: console
 | |
| 
 | |
|   [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             10.1.1.1/24                        u/u
 | |
| 
 | |
| 
 | |
| Save
 | |
| ^^^^
 | |
| 
 | |
| The ``save`` command saves the current configuration to non-volatile storage. VyOS also supports saving and loading configuration remotely using SCP, FTP, or TFTP.
 | |
| 
 | |
| .. code-block:: console
 | |
| 
 | |
|   <Enter>				Save to system config file
 | |
|   <file>				Save to file on local machine
 | |
|   scp://<user>:<passwd>@<host>/<file>	Save to file on remote machine
 | |
|   sftp://<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
 | |
| 
 | |
| Set
 | |
| ^^^
 | |
| 
 | |
| The ``set`` command create all configuration entrys
 | |
| 
 | |
| .. code-block:: console
 | |
| 
 | |
|   [edit]
 | |
|   vyos@vyos# set protocols static route 0.0.0.0/0 next-hop 192.168.1.1
 | |
| 
 | |
| Show
 | |
| ^^^^
 | |
| 
 | |
| The ``show`` command in the configuration mode displays the configuration and show uncommitted changes.
 | |
| 
 | |
| Show the hole config, the address and description of eth1 is moving to vlan 2 if you commit the changes.
 | |
| 
 | |
| .. code-block:: console
 | |
| 
 | |
|   [edit]
 | |
|   vyos@vyos# show
 | |
|    interfaces {
 | |
|        dummy dum0 {
 | |
|            address 10.3.3.3/24
 | |
|        }
 | |
|        ethernet eth0 {
 | |
|            address dhcp
 | |
|            duplex auto
 | |
|            hw-id 08:00:27:2b:c0:0b
 | |
|            smp-affinity auto
 | |
|            speed auto
 | |
|        }
 | |
|        ethernet eth1 {
 | |
|   -        address 10.1.1.1/32
 | |
|   -        description "MGMT Interface"
 | |
|            duplex auto
 | |
|            hw-id 08:00:27:81:c6:59
 | |
|            smp-affinity auto
 | |
|            speed auto
 | |
|   +        vif 2 {
 | |
|   +            address 10.1.1.1/32
 | |
|   +            description "MGMT Interface"
 | |
|   +        }
 | |
|        }
 | |
|        loopback lo {
 | |
|        }
 | |
|    }
 | |
|    service {
 | |
|        ssh {
 | |
|            port 22
 | |
|   ...... |