summaryrefslogtreecommitdiff
path: root/docs/configuration
diff options
context:
space:
mode:
Diffstat (limited to 'docs/configuration')
-rw-r--r--docs/configuration/firewall/general.rst23
-rw-r--r--docs/configuration/interfaces/openvpn.rst2
-rw-r--r--docs/configuration/interfaces/pppoe.rst6
-rw-r--r--docs/configuration/interfaces/tunnel.rst2
-rw-r--r--docs/configuration/policy/route-map.rst88
-rw-r--r--docs/configuration/system/login.rst87
6 files changed, 156 insertions, 52 deletions
diff --git a/docs/configuration/firewall/general.rst b/docs/configuration/firewall/general.rst
index cfd7a8ce..0cf8bcec 100644
--- a/docs/configuration/firewall/general.rst
+++ b/docs/configuration/firewall/general.rst
@@ -591,17 +591,18 @@ A Rule-Set can be applied to every 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]
- [name | ipv6-name] <rule-set>
+.. cfgcmd:: set firewall interface <interface> [in | out | local] [name |
+ ipv6-name] <rule-set>
+
Here are some examples for applying a rule-set to an interface
.. code-block:: none
- set interface ethernet eth1 vif 100 firewall in name LANv4-IN
- set interface ethernet eth1 vif 100 firewall out name LANv4-OUT
- set interface bonding bond0 firewall in name LANv4-IN
- set interfaces openvpn vtun1 firewall in name Lanv4-IN
+ set firewall interface eth1.100 in name LANv4-IN
+ set firewall interface eth1.100 out name LANv4-OUT
+ set firewall interface bond0 in name LANv4-IN
+ set firewall interface vtun1 in name LANv4-IN
.. note::
As you can see in the example here, you can assign the same rule-set to
@@ -815,6 +816,11 @@ Example Partial Config
.. code-block:: none
firewall {
+ interface eth0 {
+ in {
+ name FROM-INTERNET
+ }
+ }
all-ping enable
broadcast-ping disable
config-trap disable
@@ -871,11 +877,6 @@ Example Partial Config
address dhcp
description OUTSIDE
duplex auto
- firewall {
- in {
- name FROM-INTERNET
- }
- }
}
}
diff --git a/docs/configuration/interfaces/openvpn.rst b/docs/configuration/interfaces/openvpn.rst
index ff32d869..5850591c 100644
--- a/docs/configuration/interfaces/openvpn.rst
+++ b/docs/configuration/interfaces/openvpn.rst
@@ -177,7 +177,7 @@ WAN interface and a direction (local).
.. code-block:: none
- set interfaces ethernet eth0 firewall local name 'OUTSIDE-LOCAL'
+ set firewall interface eth0 local name 'OUTSIDE-LOCAL'
Static Routing:
diff --git a/docs/configuration/interfaces/pppoe.rst b/docs/configuration/interfaces/pppoe.rst
index dbf92caf..4f3926b2 100644
--- a/docs/configuration/interfaces/pppoe.rst
+++ b/docs/configuration/interfaces/pppoe.rst
@@ -335,9 +335,9 @@ assigning it to the pppoe0 itself as shown here:
.. code-block:: none
- set interfaces pppoe pppoe0 firewall in name NET-IN
- set interfaces pppoe pppoe0 firewall local name NET-LOCAL
- set interfaces pppoe pppoe0 firewall out name NET-OUT
+ set firewall interface pppoe0 in name NET-IN
+ set firewall interface pppoe0 local name NET-LOCAL
+ set firewall interface pppoe0 out name NET-OUT
VLAN Example
============
diff --git a/docs/configuration/interfaces/tunnel.rst b/docs/configuration/interfaces/tunnel.rst
index 6a5fb171..eac74d91 100644
--- a/docs/configuration/interfaces/tunnel.rst
+++ b/docs/configuration/interfaces/tunnel.rst
@@ -18,7 +18,7 @@ a closer look at the protocols and options currently supported by VyOS.
Common interface configuration
------------------------------
-.. cmdinclude:: /_include/interface-common-without-dhcp.txt
+.. cmdinclude:: /_include/interface-common-without-dhcp1.txt
:var0: tunnel
:var1: tun0
diff --git a/docs/configuration/policy/route-map.rst b/docs/configuration/policy/route-map.rst
index 7743b14b..cc65d50c 100644
--- a/docs/configuration/policy/route-map.rst
+++ b/docs/configuration/policy/route-map.rst
@@ -199,38 +199,63 @@ Route Map
BGP atomic aggregate attribute.
-.. cfgcmd:: set policy route-map <text> rule <1-65535> set bgp-extcommunity-rt
- <aa:nn>
+.. cfgcmd:: set policy route-map <text> rule <1-65535> set community
+ <add|replace> <community>
- Set route target value. ExtCommunity in format: asn:value.
+ Add or replace BGP community attribute in format ``<0-65535:0-65535>``
+ or from well-known community list
-.. cfgcmd:: set policy route-map <text> rule <1-65535> set comm-list comm-list
- <text>
+.. cfgcmd:: set policy route-map <text> rule <1-65535> set community none
- BGP communities with a community-list.
+ Delete all BGP communities
-.. cfgcmd:: set policy route-map <text> rule <1-65535> set comm-list delete
+.. cfgcmd:: set policy route-map <text> rule <1-65535> set community delete
+ <text>
Delete BGP communities matching the community-list.
-.. cfgcmd:: set policy route-map <text> rule <1-65535> set community
- <aa:bb|local-AS|no-advertise|no-export|internet|additive|none>
+.. cfgcmd:: set policy route-map <text> rule <1-65535> set large-community
+ <add|replace> <GA:LDP1:LDP2>
- Set BGP community attribute.
+ Add or replace BGP large-community attribute in format
+ ``<0-4294967295:0-4294967295:0-4294967295>``
-.. cfgcmd:: set policy route-map <text> rule <1-65535> set distance <0-255>
+.. cfgcmd:: set policy route-map <text> rule <1-65535> set large-community none
+
+ Delete all BGP large-communities
- Locally significant administrative distance.
+.. cfgcmd:: set policy route-map <text> rule <1-65535> set large-community delete
+ <text>
+
+ Delete BGP communities matching the large-community-list.
-.. cfgcmd:: set policy route-map <text> rule <1-65535> set extcommunity-rt
+.. cfgcmd:: set policy route-map <text> rule <1-65535> set extcommunity bandwidth
+ <1-25600|cumulative|num-multipaths>
+
+ Set extcommunity bandwidth
+
+.. cfgcmd:: set policy route-map <text> rule <1-65535> set extcommunity bandwidth-non-transitive
+
+ The link bandwidth extended community is encoded as non-transitive
+
+.. cfgcmd:: set policy route-map <text> rule <1-65535> set extcommunity rt
<text>
- Set route target value.
+ Set route target value in format ``<0-65535:0-4294967295>`` or ``<IP:0-65535>``.
-.. cfgcmd:: set policy route-map <text> rule <1-65535> set extcommunity-soo
+.. cfgcmd:: set policy route-map <text> rule <1-65535> set extcommunity soo
<text>
- Set site of origin value.
+ Set site of origin value in format ``<0-65535:0-4294967295>`` or ``<IP:0-65535>``.
+
+.. cfgcmd:: set policy route-map <text> rule <1-65535> set extcommunity none
+
+ Clear all BGP extcommunities.
+
+.. cfgcmd:: set policy route-map <text> rule <1-65535> set distance <0-255>
+
+ Locally significant administrative distance.
+
.. cfgcmd:: set policy route-map <text> rule <1-65535> set ip-next-hop
<x.x.x.x>
@@ -271,11 +296,6 @@ Route Map
address for the route, then prefer to use the global address as the
nexthop.
-.. cfgcmd:: set policy route-map <text> rule <1-65535> set large-community
- <text>
-
- Set BGP large community value.
-
.. cfgcmd:: set policy route-map <text> rule <1-65535> set local-preference
<0-4294967295>
@@ -319,3 +339,29 @@ Route Map
<0-4294967295>
Set BGP weight attribute
+
+List of well-known communities
+==============================
+ * ``local-as`` - Well-known communities value NO_EXPORT_SUBCONFED 0xFFFFFF03
+ * ``no-advertise`` - Well-known communities value NO_ADVERTISE 0xFFFFFF02
+ * ``no-export`` - Well-known communities value NO_EXPORT 0xFFFFFF01
+ * ``internet`` - Well-known communities value 0
+ * ``graceful-shutdown`` - Well-known communities value GRACEFUL_SHUTDOWN 0xFFFF0000
+ * ``accept-own`` - Well-known communities value ACCEPT_OWN 0xFFFF0001
+ * ``route-filter-translated-v4`` - Well-known communities value ROUTE_FILTER_TRANSLATED_v4 0xFFFF0002
+ * ``route-filter-v4`` - Well-known communities value ROUTE_FILTER_v4 0xFFFF0003
+ * ``route-filter-translated-v6`` - Well-known communities value ROUTE_FILTER_TRANSLATED_v6 0xFFFF0004
+ * ``route-filter-v6`` - Well-known communities value ROUTE_FILTER_v6 0xFFFF0005
+ * ``llgr-stale`` - Well-known communities value LLGR_STALE 0xFFFF0006
+ * ``no-llgr`` - Well-known communities value NO_LLGR 0xFFFF0007
+ * ``accept-own-nexthop`` - Well-known communities value accept-own-nexthop 0xFFFF0008
+ * ``blackhole`` - Well-known communities value BLACKHOLE 0xFFFF029A
+ * ``no-peer`` - Well-known communities value NOPEER 0xFFFFFF04
+
+
+
+
+
+
+
+
diff --git a/docs/configuration/system/login.rst b/docs/configuration/system/login.rst
index 08746201..3a37342d 100644
--- a/docs/configuration/system/login.rst
+++ b/docs/configuration/system/login.rst
@@ -1,8 +1,10 @@
+:lastproofread: 2022-10-15
+
.. _user_management:
-###############
-User Management
-###############
+#####################
+Login/User Management
+#####################
The default VyOS user account (`vyos`), as well as newly created user accounts,
have all capabilities to configure the system. All accounts have sudo
@@ -100,21 +102,55 @@ The third part is simply an identifier, and is for your own reference.
* ``http://<host>/<file>`` - Load via HTTP from remote machine
* ``tftp://<host>/<file>`` - Load via TFTP from remote machine
-Example
--------
+MFA/2FA authentication using One-Time-Pad
+-----------------------------------------
-In the following example, both `User1` and `User2` will be able to SSH into
-VyOS as user ``vyos`` using their very own keys. `User1` is restricted to only
-be able to connect from a single IP address.
+It is possible to enhance authentication security by using the :abbr:`2FA
+(Two-factor authentication)`/:abbr:`MFA (Multi-factor authentication)` feature
+together with :abbr:`OTP (One-Time-Pad)` on VyOS. :abbr:`2FA (Two-factor
+authentication)`/:abbr:`MFA (Multi-factor authentication)` is configured
+independently per each user. If an OTP key is configured for a user, 2FA/MFA
+is automatically enabled for that particular user. If a user does not have an
+OTP key configured, there is no 2FA/MFA check for that user.
-.. code-block:: none
+.. cfgcmd:: set system login user <username> authentication otp key <key>
- set system login user vyos authentication public-keys 'User1' key "AAAAB3Nz...KwEW"
- set system login user vyos authentication public-keys 'User1' type ssh-rsa
- set system login user vyos authentication public-keys 'User1' options "from=&quot;192.168.0.100&quot;"
- set system login user vyos authentication public-keys 'User2' key "AAAAQ39x...fbV3"
- set system login user vyos authentication public-keys 'User2' type ssh-rsa
+ Enable OTP 2FA for user `username` with default settings, using the BASE32
+ encoded 2FA/MFA key specified by `<key>`.
+
+Optional/default settings
+^^^^^^^^^^^^^^^^^^^^^^^^^
+
+.. cfgcmd:: set system login user <username> authentication otp rate-limit <limit>
+ :defaultvalue:
+
+ Limit logins to `<limit>` per every ``rate-time`` seconds. Rate limit must be
+ between 1 and 10 attempts.
+
+.. cfgcmd:: set system login user <username> authentication otp rate-time <seconds>
+ :defaultvalue:
+
+ Limit logins to ``rate-limit`` attemps per every `<seconds>`. Rate time must
+ be between 15 and 600 seconds.
+
+.. cfgcmd:: set system login user <username> authentication otp window-size <size>
+ :defaultvalue:
+
+ Set window of concurrently valid codes.
+
+ By default, a new token is generated every 30 seconds by the mobile
+ application. In order to compensate for possible time-skew between
+ the client and the server, an extra token before and after the current
+ time is allowed. This allows for a time skew of up to 30 seconds
+ between authentication server and client.
+ For example, if problems with poor time synchronization are experienced,
+ the window can be increased from its default size of 3 permitted codes
+ (one previous code, the current code, the next code) to 17 permitted codes
+ (the 8 previous codes, the current code, and the 8 next codes). This will
+ permit for a time skew of up to 4 minutes between client and server.
+
+ The window size must be between 1 and 21.
RADIUS
======
@@ -158,7 +194,6 @@ Configuration
the attribute you will only get regular, non privilegued, system users.
-
Login Banner
============
@@ -176,3 +211,25 @@ information for this system.
.. note:: To create a new line in your login message you need to escape the new
line character by using ``\\n``.
+
+
+Example
+=======
+
+In the following example, both `User1` and `User2` will be able to SSH into
+VyOS as user ``vyos`` using their very own keys. `User1` is restricted to only
+be able to connect from a single IP address. In addition if password base login
+is wanted for the ``vyos`` user a 2FA/MFA keycode is required in addition to
+the password.
+
+.. code-block:: none
+
+ set system login user vyos authentication public-keys 'User1' key "AAAAB3Nz...KwEW"
+ set system login user vyos authentication public-keys 'User1' type ssh-rsa
+ set system login user vyos authentication public-keys 'User1' options "from=&quot;192.168.0.100&quot;"
+
+ set system login user vyos authentication public-keys 'User2' key "AAAAQ39x...fbV3"
+ set system login user vyos authentication public-keys 'User2' type ssh-rsa
+
+ set system login user vyos authentication otp key OHZ3OJ7U2N25BK4G7SOFFJTZDTCFUUE2
+ set system login user vyos authentication plaintext-password vyos