summaryrefslogtreecommitdiff
path: root/docs/configuration/service
diff options
context:
space:
mode:
Diffstat (limited to 'docs/configuration/service')
-rw-r--r--docs/configuration/service/broadcast-relay.rst4
-rw-r--r--docs/configuration/service/config-sync.rst114
-rw-r--r--docs/configuration/service/conntrack-sync.rst4
-rw-r--r--docs/configuration/service/https.rst37
-rw-r--r--docs/configuration/service/ids.rst6
-rw-r--r--docs/configuration/service/index.rst1
-rw-r--r--docs/configuration/service/ipoe-server.rst17
-rw-r--r--docs/configuration/service/ntp.rst8
-rw-r--r--docs/configuration/service/pppoe-server.rst3
-rw-r--r--docs/configuration/service/router-advert.rst2
-rw-r--r--docs/configuration/service/salt-minion.rst2
11 files changed, 172 insertions, 26 deletions
diff --git a/docs/configuration/service/broadcast-relay.rst b/docs/configuration/service/broadcast-relay.rst
index b6e2bed7..f64bb208 100644
--- a/docs/configuration/service/broadcast-relay.rst
+++ b/docs/configuration/service/broadcast-relay.rst
@@ -20,7 +20,7 @@ Configuration
.. cfgcmd:: set service broadcast-relay id <n> description <description>
A description can be added for each and every unique relay ID. This is
- useful to distinguish between multiple different ports/appliactions.
+ useful to distinguish between multiple different ports/applications.
.. cfgcmd:: set service broadcast-relay id <n> interface <interface>
@@ -35,7 +35,7 @@ Configuration
.. cfgcmd:: set service broadcast-relay id <n> port <port>
- The UDP port number used by your apllication. It is mandatory for this kind
+ The UDP port number used by your application. It is mandatory for this kind
of operation.
.. cfgcmd:: set service broadcast-relay id <n> disable
diff --git a/docs/configuration/service/config-sync.rst b/docs/configuration/service/config-sync.rst
new file mode 100644
index 00000000..d0449a78
--- /dev/null
+++ b/docs/configuration/service/config-sync.rst
@@ -0,0 +1,114 @@
+.. _config-sync:
+
+###########
+Config Sync
+###########
+
+Configuration synchronization (config sync) is a feature of VyOS that
+permits synchronization of the configuration of one VyOS router to
+another in a network.
+
+The main benefit to configuration synchronization is that it eliminates having
+to manually replicate configuration changes made on the primary router to the
+secondary (replica) router.
+
+The writing of the configuration to the secondary router is performed through
+the VyOS HTTP API. The user can specify which portion(s) of the configuration will
+be synchronized and the mode to use - whether to replace or add.
+
+To prevent issues with divergent configurations between the pair of routers,
+synchronization is strictly unidirectional from primary to replica. Both
+routers should be online and run the same version of VyOS.
+
+Configuration
+-------------
+
+.. cfgcmd:: set service config-sync secondary
+ <address|key|timeout|port>
+
+ Specify the address, API key, timeout and port of the secondary router.
+ You need to enable and configure the HTTP API service on the secondary
+ router for config sync to operate.
+
+.. cfgcmd:: set service config-sync section <section>
+
+ Specify the section of the configuration to synchronize. If more than one
+ section is to be synchronized, repeat the command to add additional
+ sections as required.
+
+.. cfgcmd:: set service config-sync mode <load|set>
+
+ Two options are available for `mode`: either `load` and replace or `set`
+ the configuration section.
+
+.. code-block:: none
+
+ Supported options for <section> include:
+ firewall
+ interfaces <interface>
+ nat
+ nat66
+ pki
+ policy
+ protocols <protocol>
+ qos <interface|policy>
+ service <service>
+ system <conntrack|
+ flow-accounting|option|sflow|static-host-mapping|sysctl|time-zone>
+ vpn
+ vrf
+
+Example
+-------
+* Synchronize the time-zone and OSPF configuration from Router A to Router B
+* The address of Router B is 10.0.20.112 and the port used is 8443
+
+Configure the HTTP API service on Router B
+
+.. code-block:: none
+
+ set service https listen-address '10.0.20.112'
+ set service https port '8443'
+ set service https api keys id KID key 'foo'
+
+Configure the config-sync service on Router A
+
+.. code-block:: none
+
+ set service config-sync mode 'load'
+ set service config-sync secondary address '10.0.20.112'
+ set service config-sync secondary port '8443'
+ set service config-sync secondary key 'foo'
+ set service config-sync section protocols 'ospf'
+ set service config-sync section system 'time-zone'
+
+Make config-sync relevant changes to Router A's configuration
+
+.. code-block:: none
+
+ vyos@vyos-A# set system time-zone 'America/Los_Angeles'
+ vyos@vyos-A# commit
+ INFO:vyos_config_sync:Config synchronization: Mode=load,
+ Secondary=10.0.20.112
+ vyos@vyos-A# save
+
+ vyos@vyos-A# set protocols ospf area 0 network '10.0.48.0/30'
+ vyos@vyos-A# commit
+ INFO:vyos_config_sync:Config synchronization: Mode=load,
+ Secondary=10.0.20.112
+ yos@vyos-A# save
+
+Verify configuration changes have been replicated to Router B
+
+.. code-block:: none
+
+ vyos@vyos-B:~$ show configuration commands | match time-zone
+ set system time-zone 'America/Los_Angeles'
+
+ vyos@vyos-B:~$ show configuration commands | match ospf
+ set protocols ospf area 0 network '10.0.48.0/30'
+
+Known issues
+------------
+Configuration resynchronization. With the current implementation of `service
+config-sync`, the secondary node must be online.
diff --git a/docs/configuration/service/conntrack-sync.rst b/docs/configuration/service/conntrack-sync.rst
index db23c92f..232db1a8 100644
--- a/docs/configuration/service/conntrack-sync.rst
+++ b/docs/configuration/service/conntrack-sync.rst
@@ -29,7 +29,7 @@ will be mandatorily defragmented.
It is possible to use either Multicast or Unicast to sync conntrack traffic.
Most examples below show Multicast, but unicast can be specified by using the
-"peer" keywork after the specificed interface, as in the following example:
+"peer" keywork after the specified interface, as in the following example:
:cfgcmd:`set service conntrack-sync interface eth0 peer 192.168.0.250`
@@ -204,7 +204,7 @@ Now configure conntrack-sync service on ``router1`` **and** ``router2``
.. code-block:: none
- set high-availablilty vrrp group internal virtual-address ... etc ...
+ set high-availability vrrp group internal virtual-address ... etc ...
set high-availability vrrp sync-group syncgrp member 'internal'
set service conntrack-sync accept-protocol 'tcp'
set service conntrack-sync accept-protocol 'udp'
diff --git a/docs/configuration/service/https.rst b/docs/configuration/service/https.rst
index 973c5355..af397456 100644
--- a/docs/configuration/service/https.rst
+++ b/docs/configuration/service/https.rst
@@ -53,7 +53,11 @@ Configuration
.. cfgcmd:: set service https vrf <name>
- Start Webserver in given VRF.
+ Start Webserver in given VRF.
+
+.. cfgcmd:: set service https request-body-size-limit <size>
+
+ Set the maximum request body size in megabytes. Default is 1MB.
API
===
@@ -70,7 +74,36 @@ API
.. cfgcmd:: set service https api strict
- Enforce strict path checking
+ Enforce strict path checking.
+
+.. cfgcmd:: set service https api cors allow-origin <origin>
+
+ Allow cross-origin requests from `<origin>`.
+
+GraphQL
+=======
+
+.. cfgcmd:: set service https api graphql introspection
+
+ Enable GraphQL Schema introspection.
+
+.. note:: Do not leave introspection enabled in production, it is a security risk.
+
+.. cfgcmd:: set service https api graphql authentication type <key | token>
+
+ Set the authentication type for GraphQL, default option is key. Available options are:
+
+ * ``key`` use API keys configured in ``service https api keys``
+
+ * ``token`` use JWT tokens.
+
+.. cfgcmd:: set service https api graphql authentication expiration
+
+ Set the lifetime for JWT tokens in seconds. Default is 3600 seconds.
+
+.. cfgcmd:: set service https api graphql authentication secret-length
+
+ Set the byte length of the JWT secret. Default is 32.
*********************
Example Configuration
diff --git a/docs/configuration/service/ids.rst b/docs/configuration/service/ids.rst
index 3e508d50..8a64467f 100644
--- a/docs/configuration/service/ids.rst
+++ b/docs/configuration/service/ids.rst
@@ -33,7 +33,7 @@ Configuration
Configure direction for processing traffic.
.. cfgcmd:: set service ids ddos-protection exclude-network <x.x.x.x/x>
-.. cfgcmd:: set service ids ddos-protection exlude-network <h:h:h:h:h:h:h:h/x>
+.. cfgcmd:: set service ids ddos-protection exclude-network <h:h:h:h:h:h:h:h/x>
Specify IPv4 and/or IPv6 networks which are going to be excluded.
@@ -56,7 +56,7 @@ Configuration
.. cfgcmd:: set service ids ddos-protection sflow port <1-65535>
- Configure port number to be used for sflow conection. Default port is 6343.
+ Configure port number to be used for sflow connection. Default port is 6343.
.. cfgcmd:: set service ids ddos-protection threshold general
[fps | mbps | pps] <0-4294967294>
@@ -96,7 +96,7 @@ In this simplified scenario, main things to be considered are:
* Interface **eth0** used to connect to upstream.
Since we are analyzing attacks to and from our internal network, two types
-of attacks can be identified, and differents actions are needed:
+of attacks can be identified, and different actions are needed:
* External attack: an attack from the internet towards an internal IP
is identify. In this case, all connections towards such IP will be
diff --git a/docs/configuration/service/index.rst b/docs/configuration/service/index.rst
index 56ce55eb..abb77ef4 100644
--- a/docs/configuration/service/index.rst
+++ b/docs/configuration/service/index.rst
@@ -8,6 +8,7 @@ Service
:includehidden:
broadcast-relay
+ config-sync
conntrack-sync
console-server
dhcp-relay
diff --git a/docs/configuration/service/ipoe-server.rst b/docs/configuration/service/ipoe-server.rst
index 64048552..ef06bcd5 100644
--- a/docs/configuration/service/ipoe-server.rst
+++ b/docs/configuration/service/ipoe-server.rst
@@ -26,13 +26,13 @@ functionality as PPPoE, but in a less robust manner.
Configuring IPoE Server
***********************
-IPoE can be configure on different interfaces, it will depend on each specific
-situation which interface will provide IPoE to clients. The clients mac address
+IPoE can be configured on different interfaces, it will depend on each specific
+situation which interface will provide IPoE to clients. The client's mac address
and the incoming interface is being used as control parameter, to authenticate
a client.
The example configuration below will assign an IP to the client on the incoming
-interface eth2 with the client mac address 08:00:27:2f:d8:06. Other DHCP
+interface eth1 with the client mac address 00:50:79:66:68:00. Other DHCP
discovery requests will be ignored, unless the client mac has been enabled in
the configuration.
@@ -85,12 +85,11 @@ the configuration.
.. cfgcmd:: set service ipoe-server interface <interface> mode <l2 | l3>
- Set authentication backend. The configured authentication backend is used
- for all queries.
+ Specifies the client connectivity mode.
* **l2**: It means that clients are on same network where interface
is.**(default)**
- * **local**: It means that client are behind some router.
+ * **l3**: It means that client are behind some router.
.. cfgcmd:: set service ipoe-server interface <interface> network <shared | vlan>
@@ -279,7 +278,7 @@ IPv6
.. code-block:: none
set service ipoe-server client-ipv6-pool IPv6-POOL delegate '2001:db8:8003::/48' delegation-prefix '56'
- set service ipoe-server client-ipv6-pool IPV6-POOL prefix '2001:db8:8002::/48' mask '64'
+ set service ipoe-server client-ipv6-pool IPv6-POOL prefix '2001:db8:8002::/48' mask '64'
set service ipoe-server default-ipv6-pool IPv6-POOL
*********
@@ -434,7 +433,7 @@ Toubleshooting
.. code-block:: none
- vyos@vyos:~$sudo journalctl -u accel-ppp@ipoe -b 0
+ vyos@vyos:~$ show log ipoe-server
Feb 27 14:29:27 vyos accel-ipoe[2262]: eth1.100:: recv [DHCPv4 Discover xid=55df9228 chaddr=0c:98:bd:b8:00:01 <Message-Type Discover> <Request-IP 192.168.0.3> <Host-Name vyos> <Request-List Subnet,Broadcast,Router,DNS,Classless-Route,Domain-Name,MTU>]
Feb 27 14:29:27 vyos accel-ipoe[2262]: eth1.100:eth1.100: eth1.100: authentication succeeded
@@ -447,4 +446,4 @@ Toubleshooting
.. include:: /_include/common-references.txt
.. _dictionary: https://github.com/accel-ppp/accel-ppp/blob/master/accel-pppd/radius/dict/dictionary.rfc6911
-.. _`ACCEL-PPP attribute`: https://github.com/accel-ppp/accel-ppp/blob/master/accel-pppd/radius/dict/dictionary.accel \ No newline at end of file
+.. _`ACCEL-PPP attribute`: https://github.com/accel-ppp/accel-ppp/blob/master/accel-pppd/radius/dict/dictionary.accel
diff --git a/docs/configuration/service/ntp.rst b/docs/configuration/service/ntp.rst
index e7ee392b..266376cf 100644
--- a/docs/configuration/service/ntp.rst
+++ b/docs/configuration/service/ntp.rst
@@ -46,9 +46,9 @@ Configuration
There are 3 default NTP server set. You are able to change them.
- * ``0.pool.ntp.org``
- * ``1.pool.ntp.org``
- * ``2.pool.ntp.org``
+ * ``time1.vyos.net``
+ * ``time2.vyos.net``
+ * ``time3.vyos.net``
.. cfgcmd:: set service ntp server <address> <noselect | nts | pool | prefer>
@@ -85,7 +85,7 @@ Configuration
.. cfgcmd:: set service ntp leap-second [ignore|smear|system|timezone]
- Define how to handle leaf-seonds.
+ Define how to handle leap-seconds.
* `ignore`: No correction is applied to the clock for the leap second. The
clock will be corrected later in normal operation when new measurements are
diff --git a/docs/configuration/service/pppoe-server.rst b/docs/configuration/service/pppoe-server.rst
index 99b3fbb5..d9a16036 100644
--- a/docs/configuration/service/pppoe-server.rst
+++ b/docs/configuration/service/pppoe-server.rst
@@ -24,7 +24,6 @@ Configuring PPPoE Server
set service pppoe-server authentication local-users username test password 'test'
set service pppoe-server client-ip-pool PPPOE-POOL range 192.168.255.2-192.168.255.254
set service pppoe-server default-pool 'PPPOE-POOL'
- set service pppoe-server outside-address 192.0.2.2
set service pppoe-server gateway-address 192.168.255.1
set service pppoe-server interface eth0
@@ -374,7 +373,7 @@ IPv6
set service pppoe-server ppp-options ipv6 allow
set service pppoe-server client-ipv6-pool IPv6-POOL delegate '2001:db8:8003::/48' delegation-prefix '56'
- set service pppoe-server client-ipv6-pool IPV6-POOL prefix '2001:db8:8002::/48' mask '64'
+ set service pppoe-server client-ipv6-pool IPv6-POOL prefix '2001:db8:8002::/48' mask '64'
set service pppoe-server default-ipv6-pool IPv6-POOL
IPv6 Advanced Options
diff --git a/docs/configuration/service/router-advert.rst b/docs/configuration/service/router-advert.rst
index ca558b6a..8f984b10 100644
--- a/docs/configuration/service/router-advert.rst
+++ b/docs/configuration/service/router-advert.rst
@@ -38,7 +38,7 @@ Configuration
"Cur Hop Limit", "hop-limit", "Hop count field of the outgoing RA packets"
"""Managed address configuration"" flag", "managed-flag", "Tell hosts to use the administered stateful protocol (i.e. DHCP) for autoconfiguration"
"""Other configuration"" flag", "other-config-flag", "Tell hosts to use the administered (stateful) protocol (i.e. DHCP) for autoconfiguration of other (non-address) information"
- "MTU","link-mtu","Link MTU value placed in RAs, exluded in RAs if unset"
+ "MTU","link-mtu","Link MTU value placed in RAs, excluded in RAs if unset"
"Router Lifetime","default-lifetime","Lifetime associated with the default router in units of seconds"
"Reachable Time","reachable-time","Time, in milliseconds, that a node assumes a neighbor is reachable after having received a reachability confirmation"
"Retransmit Timer","retrans-timer","Time in milliseconds between retransmitted Neighbor Solicitation messages"
diff --git a/docs/configuration/service/salt-minion.rst b/docs/configuration/service/salt-minion.rst
index aa747c36..8638246b 100644
--- a/docs/configuration/service/salt-minion.rst
+++ b/docs/configuration/service/salt-minion.rst
@@ -17,7 +17,7 @@ Requirements
************
To use the Salt-Minion, a running Salt-Master is required. You can find more
-in the `Salt Poject Documentaion
+in the `Salt Project Documentation
<https://docs.saltproject.io/en/latest/contents.html>`_
*************