diff options
author | Robert Göhler <github@ghlr.de> | 2021-06-30 14:49:40 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-06-30 14:49:40 +0200 |
commit | e58574d80d49d11dba556c8cb3653310a94fc50d (patch) | |
tree | 1e4ae8324f21f89178e454af29172ca36b9552fc /docs/configuration | |
parent | ae6a2ba810a19d81cbad5b0da29e791a7b5e411f (diff) | |
parent | 10737cad913c17e3cce7291dcd835999f16459a2 (diff) | |
download | vyos-documentation-e58574d80d49d11dba556c8cb3653310a94fc50d.tar.gz vyos-documentation-e58574d80d49d11dba556c8cb3653310a94fc50d.zip |
Merge branch 'master' into misc
Diffstat (limited to 'docs/configuration')
-rw-r--r-- | docs/configuration/container/index.rst | 143 | ||||
-rw-r--r-- | docs/configuration/firewall/index.rst | 60 | ||||
-rw-r--r-- | docs/configuration/index.rst | 3 | ||||
-rw-r--r-- | docs/configuration/service/ssh.rst | 30 | ||||
-rw-r--r-- | docs/configuration/system/login.rst | 4 |
5 files changed, 210 insertions, 30 deletions
diff --git a/docs/configuration/container/index.rst b/docs/configuration/container/index.rst new file mode 100644 index 00000000..520031d8 --- /dev/null +++ b/docs/configuration/container/index.rst @@ -0,0 +1,143 @@ +.. include:: /_include/need_improvement.txt + +.. _container: + +######### +Container +######### + +************* +Configuration +************* + +.. cfgcmd:: set container <name> + + Set an named container. + +.. cfgcmd:: set container network <networkname> + + Creates a named container network + +.. cfgcmd:: set container registry <name> + + Adds registry to list of unqualified-search-registries. By default, for any + image that does not include the registry in the image name, Vyos will use + docker.io as the container registry. + +.. cfgcmd:: set container <name> image + + Sets the image name in the hub registry + + .. code-block:: none + + set container name mysql-server image mysql:8.0 + + If a registry is not specefied, Docker.io will be used as the container + registry unless an alternative registry is specefied using + **set container registry <name>** or the registry is included in the image name + + .. code-block:: none + + set container name mysql-server image quay.io/mysql:8.0 + +.. cfgcmd:: set container <name> allow-host-networks + + Allow host networking in container. The network stack of the container is + not isolated from the host and will use the host IP. + + The following commands translates to "--net host" when the container is created + + .. note:: **allow-host-networks** cannot be used with **network** + +.. cfgcmd:: set container <name> description <text> + + Sets the container description + +.. cfgcmd:: set container <name> environment '<key>' value '<value>' + + Adds a custom environment variables. Multiple enviroment variables are allowed. The following commands translates to "-e key=value" when container is created. + + .. code-block:: none + + set container name mysql-server environment 'MYSQL_DATABASE' value 'zabbix' + set container name mysql-server environment 'MYSQL_USER' value 'zabbix' + set container name mysql-server environment 'MYSQL_PASSWORD' value 'zabbix_pwd' + set container name mysql-server environment 'MYSQL_ROOT_PASSWORD' value 'root_pwd' + +.. cfgcmd:: set container <name> network <networkname> + + Attaches user defined network to container. Only one network must be specefied and must already exist. + + Optionally a specific static IPv4 or IPv6 address can be set for the container. This address must be within the named network. + + .. code-block:: none + + set container <name> network <networkname> address <address> + + .. note:: The first IP in the container network is reserved by the engine and cannot be used + +.. cfgcmd:: set container <name> port <portname> [source | destination ] <portnumber> + + Publishes a port for the container + + .. code-block:: none + + set container name zabbix-web-nginx-mysql port http source 80 + set container name zabbix-web-nginx-mysql port http destination 8080 + +.. cfgcmd:: set container <name> volume <volumename> [source | destination ] <path> + + Mount a volume into the container + + .. code-block:: none + + set container name coredns volume 'corefile' source /config/coredns/Corefile + set container name coredns volume 'corefile' destination /etc/Corefile + +********************* +Example Configuration +********************* + + For the sake of demonstration, `example #1 in the official documentation <https://www.zabbix.com/documentation/current/manual/installation/containers>`_ to the declarative VyOS CLI syntax. + + .. code-block:: none + + set container network zabbix-net prefix 172.20.0.0/16 + set container network zabbix-net description 'Network for Zabbix component containers' + + set container name mysql-server image mysql:8.0 + set container name mysql-server network zabbix-net + + set container name mysql-server environment 'MYSQL_DATABASE' value 'zabbix' + set container name mysql-server environment 'MYSQL_USER' value 'zabbix' + set container name mysql-server environment 'MYSQL_PASSWORD' value 'zabbix_pwd' + set container name mysql-server environment 'MYSQL_ROOT_PASSWORD' value 'root_pwd' + + set container name zabbix-java-gateway image zabbix/zabbix-java-gateway:alpine-5.2-latest + set container name zabbix-java-gateway network zabbix-net + + set container name zabbix-server-mysql image zabbix/zabbix-server-mysql:alpine-5.2-latest + set container name zabbix-server-mysql network zabbix-net + + set container name zabbix-server-mysql environment 'DB_SERVER_HOST' value 'mysql-server' + set container name zabbix-server-mysql environment 'MYSQL_DATABASE' value 'zabbix' + set container name zabbix-server-mysql environment 'MYSQL_USER' value 'zabbix' + set container name zabbix-server-mysql environment 'MYSQL_PASSWORD' value 'zabbix_pwd' + set container name zabbix-server-mysql environment 'MYSQL_ROOT_PASSWORD' value 'root_pwd' + set container name zabbix-server-mysql environment 'ZBX_JAVAGATEWAY' value 'zabbix-java-gateway' + + set container name zabbix-server-mysql port zabbix source 10051 + set container name zabbix-server-mysql port zabbix destination 10051 + + set container name zabbix-web-nginx-mysql image zabbix/zabbix-web-nginx-mysql:alpine-5.2-latest + set container name zabbix-web-nginx-mysql network zabbix-net + + set container name zabbix-web-nginx-mysql environment 'MYSQL_DATABASE' value 'zabbix' + set container name zabbix-web-nginx-mysql environment 'ZBX_SERVER_HOST' value 'zabbix-server-mysql' + set container name zabbix-web-nginx-mysql environment 'DB_SERVER_HOST' value 'mysql-server' + set container name zabbix-web-nginx-mysql environment 'MYSQL_USER' value 'zabbix' + set container name zabbix-web-nginx-mysql environment 'MYSQL_PASSWORD' value 'zabbix_pwd' + set container name zabbix-web-nginx-mysql environment 'MYSQL_ROOT_PASSWORD' value 'root_pwd' + + set container name zabbix-web-nginx-mysql port http source 80 + set container name zabbix-web-nginx-mysql port http destination 8080
\ No newline at end of file diff --git a/docs/configuration/firewall/index.rst b/docs/configuration/firewall/index.rst index 667a4653..d52d6f2a 100644 --- a/docs/configuration/firewall/index.rst +++ b/docs/configuration/firewall/index.rst @@ -1,3 +1,5 @@ +:lastproofread: 2021-06-29 + .. _firewall: ######## @@ -29,7 +31,7 @@ or zone based firewall policy. Global settings *************** -Some firewall settings are global and have a affect on the whole system. +Some firewall settings are global and have an affect on the whole system. .. cfgcmd:: set firewall all-ping [enable | disable] @@ -89,7 +91,7 @@ Some firewall settings are global and have a affect on the whole system. .. cfgcmd:: set firewall send-redirects [enable | disable] - enable or disable of ICMPv4 redirect messages send by VyOS + enable or disable ICMPv4 redirect messages send by VyOS The following system parameter will be altered: * ``net.ipv4.conf.all.send_redirects`` @@ -127,7 +129,7 @@ Some firewall settings are global and have a affect on the whole system. .. cfgcmd:: set firewall state-policy established log enable - Set the global setting for a established connections. + Set the global setting for an established connection. .. cfgcmd:: set firewall state-policy invalid action [accept | drop | reject] @@ -163,8 +165,8 @@ names. Address Groups ============== -In a **address group** a single IP adresses or IP address ranges are -definded. +In an **address group** a single IP address or IP address ranges are +defined. .. cfgcmd:: set firewall group address-group <name> address [address | address range] @@ -221,7 +223,7 @@ filtering unnecessary ports. Ranges of ports can be specified by using .. cfgcmd:: set firewall group port-group <name> port [portname | portnumber | startport-endport] - Define a port group. A port name are any name defined in + Define a port group. A port name can be any name defined in /etc/services. e.g.: http .. code-block:: none @@ -240,10 +242,10 @@ Rule-Sets ********* A rule-set is a named collection of firewall rules that can be applied -to an interface or zone. Each rule is numbered, has an action to apply +to an interface or a zone. Each rule is numbered, has an action to apply if the rule is matched, and the ability to specify the criteria to match. Data packets go through the rules from 1 - 9999, at the first match -the action of the rule will executed. +the action of the rule will be executed. .. cfgcmd:: set firewall name <name> description <text> .. cfgcmd:: set firewall ipv6-name <name> description <text> @@ -267,7 +269,7 @@ the action of the rule will executed. .. cfgcmd:: set firewall ipv6-name <name> rule <1-9999> action [drop | reject | accept] - This required setting define the action of the current rule. + This required setting defines the action of the current rule. .. cfgcmd:: set firewall name <name> rule <1-9999> description <text> .. cfgcmd:: set firewall ipv6-name <name> rule <1-9999> description <text> @@ -287,7 +289,7 @@ the action of the rule will executed. Matching criteria ================= -There are a lot of matching criteria gainst which the package can be tested. +There are a lot of matching criteria against which the package can be tested. .. cfgcmd:: set firewall name <name> rule <1-9999> source address @@ -299,7 +301,7 @@ There are a lot of matching criteria gainst which the package can be tested. .. cfgcmd:: set firewall ipv6-name <name> rule <1-9999> destination address [address | addressrange | CIDR] - This is similiar to the network groups part, but here you are able to negate + This is similar to the network groups part, but here you are able to negate the matching addresses. .. code-block:: none @@ -315,7 +317,7 @@ There are a lot of matching criteria gainst which the package can be tested. .. cfgcmd:: set firewall ipv6-name <name> rule <1-9999> source mac-address <mac-address> - Only in the source criteria you can specify a mac-address + Only in the source criteria, you can specify a mac-address. .. code-block:: none @@ -331,7 +333,7 @@ There are a lot of matching criteria gainst which the package can be tested. .. cfgcmd:: set firewall ipv6-name <name> rule <1-9999> destination port [1-65535 | portname | start-end] - A port can be set with a portnumber or a name which is here + A port can be set with a port number or a name which is here defined: ``/etc/services``. .. code-block:: none @@ -410,9 +412,9 @@ There are a lot of matching criteria gainst which the package can be tested. set firewall name WAN-IN-v4 rule 13 tcp flags 'SYN,!ACK,!FIN,!RST' .. cfgcmd:: set firewall name <name> rule <1-9999> state [established | - invalid | new | related] [enable | disable ] + invalid | new | related] [enable | disable] .. cfgcmd:: set firewall ipv6-name <name> rule <1-9999> state [established | - invalid | new | related] [enable | disable ] + invalid | new | related] [enable | disable] Match against the state of a packet. @@ -423,8 +425,8 @@ Applying a Rule-Set to an Interface A Rule-Set can be applied to every interface: -* ``in``: Ruleset for forwarded packets on inbound interface -* ``out``: Ruleset for forwarded packets on outbound interface +* ``in``: Ruleset for forwarded packets on an inbound interface +* ``out``: Ruleset for forwarded packets on an outbound interface * ``local``: Ruleset for packets destined for this router .. cfgcmd:: set interface ethernet <ethN> firewall [in | out | local] @@ -451,7 +453,7 @@ Zone-based Firewall Policy As an alternative to applying policy to an interface directly, a zone-based firewall can be created to simplify configuration when multiple interfaces belong to the same security zone. Instead of -applying rulesets to interfaces, they are applied to source +applying rule-sets to interfaces, they are applied to source zone-destination zone pairs. An basic introduction to zone-based firewalls can be found `here @@ -465,12 +467,12 @@ To define a zone setup either one with interfaces or a local zone. .. cfgcmd:: set zone-policy zone <name> interface <interfacenames> - Set a interfaces to a zone. A zone can have multiple interfaces. - But a interface can only be member in one zone. + Set interfaces to a zone. A zone can have multiple interfaces. + But an interface can only be a member in one zone. .. cfgcmd:: set zone-policy zone <name> local-zone - Define the Zone as a local zone. A local zone have no interfaces and + Define the zone as a local zone. A local zone has no interfaces and will be applied to the router itself. .. cfgcmd:: set zone-policy zone <name> default-action [drop | reject] @@ -486,14 +488,14 @@ Applying a Rule-Set to a Zone ============================= Before you are able to apply a rule-set to a zone you have to create the zones -first. +first. .. cfgcmd:: set zone-policy zone <name> from <name> firewall name <rule-set> .. cfgcmd:: set zone-policy zone <name> from <name> firewall ipv6-name <rule-set> - You apply a rule-set always to a zone from a other zone, it is recommended + You apply a rule-set always to a zone from an other zone, it is recommended to create one rule-set for each zone pair. .. code-block:: none @@ -577,7 +579,7 @@ Rule-set overview .. opcmd:: show firewall summary - This will show you a summary about rule-sets and groups + This will show you a summary of rule-sets and groups .. code-block:: none @@ -630,7 +632,7 @@ Rule-set overview .. opcmd:: show firewall [name | ipv6name] <name> rule <1-9999> - This command will give an overview about a rule in a single rule-set + This command will give an overview of a rule in a single rule-set .. opcmd:: show firewall group <name> @@ -658,7 +660,7 @@ Rule-set overview .. opcmd:: show firewall [name | ipv6name] <name> - This command will give an overview about a single rule-set + This command will give an overview of a single rule-set. .. opcmd:: show firewall [name | ipv6name] <name> statistics @@ -666,7 +668,7 @@ Rule-set overview .. opcmd:: show firewall [name | ipv6name] <name> rule <1-9999> - This command will give an overview about a rule in a single rule-set + This command will give an overview of a rule in a single rule-set. Zone-Policy Overview @@ -674,7 +676,7 @@ Zone-Policy Overview .. opcmd:: show zone-policy zone <name> - Use this command to get an overview about a zone + Use this command to get an overview of a zone. .. code-block:: none @@ -695,7 +697,7 @@ Show Firewall log .. opcmd:: show log firewall [name | ipv6name] <name> - Show the logs of a specific Rule-Set + Show the logs of a specific Rule-Set. .. note:: At the moment it not possible to look at the whole firewall log with VyOS diff --git a/docs/configuration/index.rst b/docs/configuration/index.rst index bce013cb..0fe481da 100644 --- a/docs/configuration/index.rst +++ b/docs/configuration/index.rst @@ -8,6 +8,7 @@ The following structure respresent the cli structure. :maxdepth: 1 :includehidden: + container/index firewall/index highavailability/index interfaces/index @@ -20,4 +21,4 @@ The following structure respresent the cli structure. trafficpolicy/index vpn/index vrf/index - zonepolicy/index
\ No newline at end of file + zonepolicy/index diff --git a/docs/configuration/service/ssh.rst b/docs/configuration/service/ssh.rst index 6b09d40d..40ec62f5 100644 --- a/docs/configuration/service/ssh.rst +++ b/docs/configuration/service/ssh.rst @@ -156,3 +156,33 @@ Operation Two new files ``/config/auth/id_rsa_rpki`` and ``/config/auth/id_rsa_rpki.pub`` will be created. + +.. opcmd:: generate public-key-commands name <username> path <location> + + Generate the configuration mode commands to add a public key for + :ref:`ssh_key_based_authentication`. + ``<location>`` can be a local path or a URL pointing at a remote file. + + Supported remote protocols are FTP, HTTP, HTTPS, SCP/SFTP and TFTP. + + Example: + + .. code-block:: none + + alyssa@vyos:~$ generate public-key-commands name alyssa path sftp://example.net/home/alyssa/.ssh/id_rsa.pub + # To add this key as an embedded key, run the following commands: + configure + set system login user alyssa authentication public-keys alyssa@example.net key AAA... + set system login user alyssa authentication public-keys alyssa@example.net type ssh-rsa + commit + save + exit + + ben@vyos:~$ generate public-key-command user ben path ~/.ssh/id_rsa.pub + # To add this key as an embedded key, run the following commands: + configure + set system login user ben authentication public-keys ben@vyos key AAA... + set system login user ben authentication public-keys ben@vyos type ssh-dss + commit + save + exit diff --git a/docs/configuration/system/login.rst b/docs/configuration/system/login.rst index 0492f4d1..09b6e68b 100644 --- a/docs/configuration/system/login.rst +++ b/docs/configuration/system/login.rst @@ -76,6 +76,10 @@ The third part is simply an identifier, and is for your own reference. .. cfgcmd:: loadkey <username> <location> + **Deprecation notice:** ``loadkey`` has been deprecated in favour of + :opcmd:`generate public-key-commands` and will be removed in a future + version. See :ref:`ssh`. + SSH keys can not only be specified on the command-line but also loaded for a given user with `<username>` from a file pointed to by `<location>.` Keys can be either loaded from local filesystem or any given remote location |