summaryrefslogtreecommitdiff
path: root/docs/configuration
diff options
context:
space:
mode:
Diffstat (limited to 'docs/configuration')
-rw-r--r--docs/configuration/firewall/bridge.rst361
-rw-r--r--docs/configuration/firewall/ipv4.rst52
-rw-r--r--docs/configuration/firewall/ipv6.rst130
-rw-r--r--docs/configuration/policy/route-map.rst8
-rw-r--r--docs/configuration/protocols/bgp.rst27
-rw-r--r--docs/configuration/protocols/isis.rst28
-rw-r--r--docs/configuration/service/pppoe-server.rst59
-rw-r--r--docs/configuration/system/ipv6.rst28
-rw-r--r--docs/configuration/vpn/l2tp.rst12
-rw-r--r--docs/configuration/vpn/pptp.rst4
-rw-r--r--docs/configuration/vpn/sstp.rst15
11 files changed, 574 insertions, 150 deletions
diff --git a/docs/configuration/firewall/bridge.rst b/docs/configuration/firewall/bridge.rst
index 4a0dc3bb..9fb019c5 100644
--- a/docs/configuration/firewall/bridge.rst
+++ b/docs/configuration/firewall/bridge.rst
@@ -39,4 +39,363 @@ for this layer is shown next:
For traffic that needs to be forwared internally by the bridge, base chain is
is **forward**, and it's base command for filtering is ``set firewall bridge
-forward filter ...``
+forward filter ...``, which happens in stage 4, highlightened with red color.
+
+Custom bridge firewall chains can be create with command ``set firewall bridge
+name <name> ...``. In order to use such custom chain, a rule with action jump,
+and the appropiate target should be defined in a base chain.
+
+.. note:: **Layer 3 bridge**:
+ When an IP address is assigned to the bridge interface, and if traffic
+ is sent to the router to this IP (for example using such IP as
+ default gateway), then rules defined for **bridge firewall** won't
+ match, and firewall analysis continues at **IP layer**.
+
+************
+Bridge Rules
+************
+
+For firewall filtering, firewall rules needs to be created. Each rule is
+numbered, has an action to apply if the rule is matched, and the ability
+to specify multiple criteria matchers. Data packets go through the rules
+from 1 - 999999, so order is crucial. At the first match the action of the
+rule will be executed.
+
+Actions
+=======
+
+If a rule is defined, then an action must be defined for it. This tells the
+firewall what to do if all criteria matchers defined for such rule do match.
+
+In firewall bridge rules, the action can be:
+
+ * ``accept``: accept the packet.
+
+ * ``continue``: continue parsing next rule.
+
+ * ``drop``: drop the packet.
+
+ * ``jump``: jump to another custom chain.
+
+ * ``return``: Return from the current chain and continue at the next rule
+ of the last chain.
+
+ * ``queue``: Enqueue packet to userspace.
+
+.. cfgcmd:: set firewall bridge forward filter rule <1-999999> action
+ [accept | continue | drop | jump | queue | return]
+.. cfgcmd:: set firewall bridge name <name> rule <1-999999> action
+ [accept | continue | drop | jump | queue | return]
+
+ This required setting defines the action of the current rule. If action is
+ set to jump, then jump-target is also needed.
+
+.. cfgcmd:: set firewall bridge forward filter rule <1-999999>
+ jump-target <text>
+.. cfgcmd:: set firewall bridge name <name> rule <1-999999>
+ jump-target <text>
+
+.. cfgcmd:: set firewall bridge forward filter rule <1-999999>
+ queue <0-65535>
+.. cfgcmd:: set firewall bridge name <name> rule <1-999999>
+ queue <0-65535>
+
+ To be used only when action is set to ``queue``. Use this command to specify
+ queue target to use. Queue range is also supported.
+
+.. cfgcmd:: set firewall bridge forward filter rule <1-999999>
+ queue-options bypass
+.. cfgcmd:: set firewall bridge name <name> rule <1-999999>
+ queue-options bypass
+
+ To be used only when action is set to ``queue``. Use this command to let
+ packet go through firewall when no userspace software is connected to the
+ queue.
+
+.. cfgcmd:: set firewall bridge forward filter rule <1-999999>
+ queue-options fanout
+.. cfgcmd:: set firewall bridge name <name> rule <1-999999>
+ queue-options fanout
+
+ To be used only when action is set to ``queue``. Use this command to
+ distribute packets between several queues.
+
+Also, **default-action** is an action that takes place whenever a packet does
+not match any rule in it's chain. For base chains, possible options for
+**default-action** are **accept** or **drop**.
+
+.. cfgcmd:: set firewall bridge forward filter default-action
+ [accept | drop]
+.. cfgcmd:: set firewall bridge name <name> default-action
+ [accept | continue | drop | jump | queue | return]
+
+ This set the default action of the rule-set if no rule matched a packet
+ criteria. If default-action is set to ``jump``, then
+ ``default-jump-target`` is also needed. Note that for base chains, default
+ action can only be set to ``accept`` or ``drop``, while on custom chain,
+ more actions are available.
+
+.. cfgcmd:: set firewall bridge name <name> default-jump-target <text>
+
+ To be used only when ``defult-action`` is set to ``jump``. Use this
+ command to specify jump target for default rule.
+
+.. note:: **Important note about default-actions:**
+ If default action for any base chain is not defined, then the default
+ action is set to **accept** for that chain. For custom chains, if default
+ action is not defined, then the default-action is set to **drop**.
+
+Firewall Logs
+=============
+
+Logging can be enable for every single firewall rule. If enabled, other
+log options can be defined.
+
+.. cfgcmd:: set firewall bridge forward filter rule <1-999999> log
+.. cfgcmd:: set firewall bridge name <name> rule <1-999999> log
+
+ Enable logging for the matched packet. If this configuration command is not
+ present, then log is not enabled.
+
+.. cfgcmd:: set firewall bridge forward filter enable-default-log
+.. cfgcmd:: set firewall bridge name <name> enable-default-log
+
+ Use this command to enable the logging of the default action on
+ the specified chain.
+
+.. cfgcmd:: set firewall bridge forward filter rule <1-999999>
+ log-options level [emerg | alert | crit | err | warn | notice
+ | info | debug]
+.. cfgcmd:: set firewall bridge name <name> rule <1-999999>
+ log-options level [emerg | alert | crit | err | warn | notice
+ | info | debug]
+
+ Define log-level. Only applicable if rule log is enable.
+
+.. cfgcmd:: set firewall bridge forward filter rule <1-999999>
+ log-options group <0-65535>
+.. cfgcmd:: set firewall bridge name <name> rule <1-999999>
+ log-options group <0-65535>
+
+ Define log group to send message to. Only applicable if rule log is enable.
+
+.. cfgcmd:: set firewall bridge forward filter rule <1-999999>
+ log-options snapshot-length <0-9000>
+.. cfgcmd:: set firewall bridge name <name> rule <1-999999>
+ log-options snapshot-length <0-9000>
+
+ Define length of packet payload to include in netlink message. Only
+ applicable if rule log is enable and log group is defined.
+
+.. cfgcmd:: set firewall bridge forward filter rule <1-999999>
+ log-options queue-threshold <0-65535>
+.. cfgcmd:: set firewall bridge name <name> rule <1-999999>
+ log-options queue-threshold <0-65535>
+
+ Define number of packets to queue inside the kernel before sending them to
+ userspace. Only applicable if rule log is enable and log group is defined.
+
+Firewall Description
+====================
+
+For reference, a description can be defined for every defined custom chain.
+
+.. cfgcmd:: set firewall bridge name <name> description <text>
+
+ Provide a rule-set description to a custom firewall chain.
+
+Rule Status
+===========
+
+When defining a rule, it is enable by default. In some cases, it is useful to
+just disable the rule, rather than removing it.
+
+.. cfgcmd:: set firewall bridge forward filter rule <1-999999> disable
+.. cfgcmd:: set firewall bridge name <name> rule <1-999999> disable
+
+ Command for disabling a rule but keep it in the configuration.
+
+Matching criteria
+=================
+
+There are a lot of matching criteria against which the packet can be tested.
+
+.. cfgcmd:: set firewall bridge forward filter rule <1-999999>
+ destination mac-address <mac-address>
+.. cfgcmd:: set firewall bridge name <name> rule <1-999999>
+ destination mac-address <mac-address>
+.. cfgcmd:: set firewall bridge forward filter rule <1-999999>
+ source mac-address <mac-address>
+.. cfgcmd:: set firewall bridge name <name> rule <1-999999>
+ source mac-address <mac-address>
+
+ Match criteria based on source and/or destination mac-address.
+
+.. cfgcmd:: set firewall bridge forward filter rule <1-999999>
+ inbound-interface name <iface>
+.. cfgcmd:: set firewall bridge name <name> rule <1-999999>
+ inbound-interface name <iface>
+
+ Match based on inbound interface. Wilcard ``*`` can be used.
+ For example: ``eth2*``. Prepending character ``!`` for inverted matching
+ criteria is also supportd. For example ``!eth2``
+
+.. cfgcmd:: set firewall bridge forward filter rule <1-999999>
+ inbound-interface group <iface_group>
+.. cfgcmd:: set firewall bridge name <name> rule <1-999999>
+ inbound-interface group <iface_group>
+
+ Match based on inbound interface group. Prepending character ``!`` for
+ inverted matching criteria is also supportd. For example ``!IFACE_GROUP``
+
+.. cfgcmd:: set firewall bridge forward filter rule <1-999999>
+ outbound-interface name <iface>
+.. cfgcmd:: set firewall bridge name <name> rule <1-999999>
+ outbound-interface name <iface>
+
+ Match based on outbound interface. Wilcard ``*`` can be used.
+ For example: ``eth2*``. Prepending character ``!`` for inverted matching
+ criteria is also supportd. For example ``!eth2``
+
+.. cfgcmd:: set firewall bridge forward filter rule <1-999999>
+ outbound-interface group <iface_group>
+.. cfgcmd:: set firewall bridge name <name> rule <1-999999>
+ outbound-interface group <iface_group>
+
+ Match based on outbound interface group. Prepending character ``!`` for
+ inverted matching criteria is also supportd. For example ``!IFACE_GROUP``
+
+.. cfgcmd:: set firewall bridge forward filter rule <1-999999>
+ vlan id <0-4096>
+.. cfgcmd:: set firewall bridge name <name> rule <1-999999>
+ vlan id <0-4096>
+
+ Match based on vlan ID. Range is also supported.
+
+.. cfgcmd:: set firewall bridge forward filter rule <1-999999>
+ vlan priority <0-7>
+.. cfgcmd:: set firewall bridge name <name> rule <1-999999>
+ vlan priority <0-7>
+
+ Match based on vlan priority(pcp). Range is also supported.
+
+***********************
+Operation-mode Firewall
+***********************
+
+Rule-set overview
+=================
+
+In this section you can find all useful firewall op-mode commands.
+
+General commands for firewall configuration, counter and statiscits:
+
+.. opcmd:: show firewall
+.. opcmd:: show firewall summary
+.. opcmd:: show firewall statistics
+
+And, to print only bridge firewall information:
+
+.. opcmd:: show firewall bridge
+.. opcmd:: show firewall bridge forward filter
+.. opcmd:: show firewall bridge forward filter rule <rule>
+.. opcmd:: show firewall bridge name <name>
+.. opcmd:: show firewall bridge name <name> rule <rule>
+
+Show Firewall log
+=================
+
+.. opcmd:: show log firewall
+.. opcmd:: show log firewall bridge
+.. opcmd:: show log firewall bridge forward
+.. opcmd:: show log firewall bridge forward filter
+.. opcmd:: show log firewall bridge name <name>
+.. opcmd:: show log firewall bridge forward filter rule <rule>
+.. opcmd:: show log firewall bridge name <name> rule <rule>
+
+ Show the logs of all firewall; show all bridge firewall logs; show all logs
+ for forward hook; show all logs for forward hook and priority filter; show
+ all logs for particular custom chain; show logs for specific Rule-Set.
+
+Example
+=======
+
+Configuration example:
+
+.. code-block:: none
+
+ set firewall bridge forward filter default-action 'drop'
+ set firewall bridge forward filter enable-default-log
+ set firewall bridge forward filter rule 10 action 'continue'
+ set firewall bridge forward filter rule 10 inbound-interface name 'eth2'
+ set firewall bridge forward filter rule 10 vlan id '22'
+ set firewall bridge forward filter rule 20 action 'drop'
+ set firewall bridge forward filter rule 20 inbound-interface group 'TRUNK-RIGHT'
+ set firewall bridge forward filter rule 20 vlan id '60'
+ set firewall bridge forward filter rule 30 action 'jump'
+ set firewall bridge forward filter rule 30 jump-target 'TEST'
+ set firewall bridge forward filter rule 30 outbound-interface name '!eth1'
+ set firewall bridge forward filter rule 35 action 'accept'
+ set firewall bridge forward filter rule 35 vlan id '11'
+ set firewall bridge forward filter rule 40 action 'continue'
+ set firewall bridge forward filter rule 40 destination mac-address '66:55:44:33:22:11'
+ set firewall bridge forward filter rule 40 source mac-address '11:22:33:44:55:66'
+ set firewall bridge name TEST default-action 'accept'
+ set firewall bridge name TEST enable-default-log
+ set firewall bridge name TEST rule 10 action 'continue'
+ set firewall bridge name TEST rule 10 log
+ set firewall bridge name TEST rule 10 vlan priority '0'
+
+And op-mode commands:
+
+.. code-block:: none
+
+ vyos@BRI:~$ show firewall bridge
+ Rulesets bridge Information
+
+ ---------------------------------
+ bridge Firewall "forward filter"
+
+ Rule Action Protocol Packets Bytes Conditions
+ ------- -------- ---------- --------- ------- ---------------------------------------------------------------------
+ 10 continue all 0 0 iifname "eth2" vlan id 22 continue
+ 20 drop all 0 0 iifname @I_TRUNK-RIGHT vlan id 60
+ 30 jump all 2130 170688 oifname != "eth1" jump NAME_TEST
+ 35 accept all 2080 168616 vlan id 11 accept
+ 40 continue all 0 0 ether daddr 66:55:44:33:22:11 ether saddr 11:22:33:44:55:66 continue
+ default drop all 0 0
+
+ ---------------------------------
+ bridge Firewall "name TEST"
+
+ Rule Action Protocol Packets Bytes Conditions
+ ------- -------- ---------- --------- ------- --------------------------------------------------
+ 10 continue all 2130 170688 vlan pcp 0 prefix "[bri-NAM-TEST-10-C]" continue
+ default accept all 2130 170688
+
+ vyos@BRI:~$
+ vyos@BRI:~$ show firewall bridge name TEST
+ Ruleset Information
+
+ ---------------------------------
+ bridge Firewall "name TEST"
+
+ Rule Action Protocol Packets Bytes Conditions
+ ------- -------- ---------- --------- ------- --------------------------------------------------
+ 10 continue all 2130 170688 vlan pcp 0 prefix "[bri-NAM-TEST-10-C]" continue
+ default accept all 2130 170688
+
+ vyos@BRI:~$
+
+Inspect logs:
+
+.. code-block:: none
+
+ vyos@BRI:~$ show log firewall bridge
+ Dec 05 14:37:47 kernel: [bri-NAM-TEST-10-C]IN=eth1 OUT=eth2 ARP HTYPE=1 PTYPE=0x0800 OPCODE=1 MACSRC=50:00:00:04:00:00 IPSRC=10.11.11.101 MACDST=00:00:00:00:00:00 IPDST=10.11.11.102
+ Dec 05 14:37:48 kernel: [bri-NAM-TEST-10-C]IN=eth1 OUT=eth2 ARP HTYPE=1 PTYPE=0x0800 OPCODE=1 MACSRC=50:00:00:04:00:00 IPSRC=10.11.11.101 MACDST=00:00:00:00:00:00 IPDST=10.11.11.102
+ Dec 05 14:37:49 kernel: [bri-NAM-TEST-10-C]IN=eth1 OUT=eth2 ARP HTYPE=1 PTYPE=0x0800 OPCODE=1 MACSRC=50:00:00:04:00:00 IPSRC=10.11.11.101 MACDST=00:00:00:00:00:00 IPDST=10.11.11.102
+ ...
+ vyos@BRI:~$ show log firewall bridge forward filter
+ Dec 05 14:42:22 kernel: [bri-FWD-filter-default-D]IN=eth2 OUT=eth1 MAC=33:33:00:00:00:16:50:00:00:06:00:00:86:dd SRC=0000:0000:0000:0000:0000:0000:0000:0000 DST=ff02:0000:0000:0000:0000:0000:0000:0016 LEN=96 TC=0 HOPLIMIT=1 FLOWLBL=0 PROTO=ICMPv6 TYPE=143 CODE=0
+ Dec 05 14:42:22 kernel: [bri-FWD-filter-default-D]IN=eth2 OUT=eth1 MAC=33:33:00:00:00:16:50:00:00:06:00:00:86:dd SRC=0000:0000:0000:0000:0000:0000:0000:0000 DST=ff02:0000:0000:0000:0000:0000:0000:0016 LEN=96 TC=0 HOPLIMIT=1 FLOWLBL=0 PROTO=ICMPv6 TYPE=143 CODE=0
diff --git a/docs/configuration/firewall/ipv4.rst b/docs/configuration/firewall/ipv4.rst
index 3fd365e1..9a683d22 100644
--- a/docs/configuration/firewall/ipv4.rst
+++ b/docs/configuration/firewall/ipv4.rst
@@ -123,9 +123,46 @@ The action can be :
.. cfgcmd:: set firewall ipv4 name <name> rule <1-999999>
jump-target <text>
- To be used only when action is set to jump. Use this command to specify
+ To be used only when action is set to ``jump``. Use this command to specify
jump target.
+.. cfgcmd:: set firewall ipv4 forward filter rule <1-999999>
+ queue <0-65535>
+.. cfgcmd:: set firewall ipv4 input filter rule <1-999999>
+ queue <0-65535>
+.. cfgcmd:: set firewall ipv4 output filter rule <1-999999>
+ queue <0-65535>
+.. cfgcmd:: set firewall ipv4 name <name> rule <1-999999>
+ queue <0-65535>
+
+ To be used only when action is set to ``queue``. Use this command to specify
+ queue target to use. Queue range is also supported.
+
+.. cfgcmd:: set firewall ipv4 forward filter rule <1-999999>
+ queue-options bypass
+.. cfgcmd:: set firewall ipv4 input filter rule <1-999999>
+ queue-options bypass
+.. cfgcmd:: set firewall ipv4 output filter rule <1-999999>
+ queue-options bypass
+.. cfgcmd:: set firewall ipv4 name <name> rule <1-999999>
+ queue-options bypass
+
+ To be used only when action is set to ``queue``. Use this command to let
+ packet go through firewall when no userspace software is connected to the
+ queue.
+
+.. cfgcmd:: set firewall ipv4 forward filter rule <1-999999>
+ queue-options fanout
+.. cfgcmd:: set firewall ipv4 input filter rule <1-999999>
+ queue-options fanout
+.. cfgcmd:: set firewall ipv4 output filter rule <1-999999>
+ queue-options fanout
+.. cfgcmd:: set firewall ipv4 name <name> rule <1-999999>
+ queue-options fanout
+
+ To be used only when action is set to ``queue``. Use this command to
+ distribute packets between several queues.
+
Also, **default-action** is an action that takes place whenever a packet does
not match any rule in it's chain. For base chains, possible options for
**default-action** are **accept** or **drop**.
@@ -140,7 +177,7 @@ not match any rule in it's chain. For base chains, possible options for
[accept | drop | jump | queue | reject | return]
This set the default action of the rule-set if no rule matched a packet
- criteria. If defacult-action is set to ``jump``, then
+ criteria. If default-action is set to ``jump``, then
``default-jump-target`` is also needed. Note that for base chains, default
action can only be set to ``accept`` or ``drop``, while on custom chain,
more actions are available.
@@ -153,7 +190,7 @@ not match any rule in it's chain. For base chains, possible options for
.. note:: **Important note about default-actions:**
If default action for any base chain is not defined, then the default
action is set to **accept** for that chain. For custom chains, if default
- action is not defined, then the default-action is set to **drop**
+ action is not defined, then the default-action is set to **drop**.
Firewall Logs
=============
@@ -162,15 +199,12 @@ Logging can be enable for every single firewall rule. If enabled, other
log options can be defined.
.. cfgcmd:: set firewall ipv4 forward filter rule <1-999999> log
- [disable | enable]
.. cfgcmd:: set firewall ipv4 input filter rule <1-999999> log
- [disable | enable]
.. cfgcmd:: set firewall ipv4 output filter rule <1-999999> log
- [disable | enable]
.. cfgcmd:: set firewall ipv4 name <name> rule <1-999999> log
- [disable | enable]
- Enable or disable logging for the matched packet.
+ Enable logging for the matched packet. If this configuration command is not
+ present, then log is not enabled.
.. cfgcmd:: set firewall ipv4 forward filter enable-default-log
.. cfgcmd:: set firewall ipv4 input filter enable-default-log
@@ -266,7 +300,7 @@ just disable the rule, rather than removing it.
Matching criteria
=================
-There are a lot of matching criteria against which the package can be tested.
+There are a lot of matching criteria against which the packet can be tested.
.. cfgcmd:: set firewall ipv4 forward filter rule <1-999999>
connection-status nat [destination | source]
diff --git a/docs/configuration/firewall/ipv6.rst b/docs/configuration/firewall/ipv6.rst
index 83a5f694..0aa8a137 100644
--- a/docs/configuration/firewall/ipv6.rst
+++ b/docs/configuration/firewall/ipv6.rst
@@ -123,9 +123,46 @@ The action can be :
.. cfgcmd:: set firewall ipv6 name <name> rule <1-999999>
jump-target <text>
- To be used only when action is set to jump. Use this command to specify
+ To be used only when action is set to ``jump``. Use this command to specify
jump target.
+.. cfgcmd:: set firewall ipv6 forward filter rule <1-999999>
+ queue <0-65535>
+.. cfgcmd:: set firewall ipv6 input filter rule <1-999999>
+ queue <0-65535>
+.. cfgcmd:: set firewall ipv6 output filter rule <1-999999>
+ queue <0-65535>
+.. cfgcmd:: set firewall ipv6 name <name> rule <1-999999>
+ queue <0-65535>
+
+ To be used only when action is set to ``queue``. Use this command to specify
+ queue target to use. Queue range is also supported.
+
+.. cfgcmd:: set firewall ipv6 forward filter rule <1-999999>
+ queue-options bypass
+.. cfgcmd:: set firewall ipv6 input filter rule <1-999999>
+ queue-options bypass
+.. cfgcmd:: set firewall ipv6 output filter rule <1-999999>
+ queue-options bypass
+.. cfgcmd:: set firewall ipv6 name <name> rule <1-999999>
+ queue-options bypass
+
+ To be used only when action is set to ``queue``. Use this command to let
+ packet go through firewall when no userspace software is connected to the
+ queue.
+
+.. cfgcmd:: set firewall ipv6 forward filter rule <1-999999>
+ queue-options fanout
+.. cfgcmd:: set firewall ipv6 input filter rule <1-999999>
+ queue-options fanout
+.. cfgcmd:: set firewall ipv6 output filter rule <1-999999>
+ queue-options fanout
+.. cfgcmd:: set firewall ipv6 name <name> rule <1-999999>
+ queue-options fanout
+
+ To be used only when action is set to ``queue``. Use this command to
+ distribute packets between several queues.
+
Also, **default-action** is an action that takes place whenever a packet does
not match any rule in it's chain. For base chains, possible options for
**default-action** are **accept** or **drop**.
@@ -140,7 +177,7 @@ not match any rule in it's chain. For base chains, possible options for
[accept | drop | jump | queue | reject | return]
This set the default action of the rule-set if no rule matched a packet
- criteria. If defacult-action is set to ``jump``, then
+ criteria. If default-action is set to ``jump``, then
``default-jump-target`` is also needed. Note that for base chains, default
action can only be set to ``accept`` or ``drop``, while on custom chain,
more actions are available.
@@ -153,7 +190,7 @@ not match any rule in it's chain. For base chains, possible options for
.. note:: **Important note about default-actions:**
If default action for any base chain is not defined, then the default
action is set to **accept** for that chain. For custom chains, if default
- action is not defined, then the default-action is set to **drop**
+ action is not defined, then the default-action is set to **drop**.
Firewall Logs
=============
@@ -162,15 +199,12 @@ Logging can be enable for every single firewall rule. If enabled, other
log options can be defined.
.. cfgcmd:: set firewall ipv6 forward filter rule <1-999999> log
- [disable | enable]
.. cfgcmd:: set firewall ipv6 input filter rule <1-999999> log
- [disable | enable]
.. cfgcmd:: set firewall ipv6 output filter rule <1-999999> log
- [disable | enable]
.. cfgcmd:: set firewall ipv6 name <name> rule <1-999999> log
- [disable | enable]
- Enable or disable logging for the matched packet.
+ Enable logging for the matched packet. If this configuration command is not
+ present, then log is not enabled.
.. cfgcmd:: set firewall ipv6 forward filter enable-default-log
.. cfgcmd:: set firewall ipv6 input filter enable-default-log
@@ -266,7 +300,7 @@ just disable the rule, rather than removing it.
Matching criteria
=================
-There are a lot of matching criteria against which the package can be tested.
+There are a lot of matching criteria against which the packet can be tested.
.. cfgcmd:: set firewall ipv6 forward filter rule <1-999999>
connection-status nat [destination | source]
@@ -936,7 +970,7 @@ Rule-set overview
.. code-block:: none
- vyos@vyos:~$ show firewall
+ vyos@vyos:~$ show firewall
Rulesets Information
---------------------------------
@@ -999,7 +1033,7 @@ Rule-set overview
.. code-block:: none
- vyos@vyos:~$ show firewall summary
+ vyos@vyos:~$ show firewall summary
Ruleset Summary
IPv6 Ruleset:
@@ -1049,29 +1083,30 @@ Rule-set overview
.. opcmd:: show firewall ipv6 [forward | input | output] filter
-.. opcmd:: show firewall ipv4 name <name>
-
.. opcmd:: show firewall ipv6 ipv6-name <name>
This command will give an overview of a single rule-set.
.. code-block:: none
- vyos@vyos:~$ show firewall ipv4 input filter
+ vyos@vyos:~$ show firewall ipv6 input filter
Ruleset Information
---------------------------------
- IPv4 Firewall "input filter"
+ ipv6 Firewall "input filter"
Rule Action Protocol Packets Bytes Conditions
- ------- -------- ---------- --------- ------- -----------------------------------------
- 5 jump all 0 0 iifname "eth2" jump NAME_VyOS_MANAGEMENT
- default accept all
+ ------- -------- ---------- --------- ------- ------------------------------------------------------------------------------
+ 10 jump all 13 1456 iifname "eth1" jump NAME6_INP-ETH1
+ 20 accept ipv6-icmp 10 1112 meta l4proto ipv6-icmp iifname "eth0" prefix "[ipv6-INP-filter-20-A]" accept
+ default accept all 14 1584
+
+ vyos@vyos:~$
.. opcmd:: show firewall ipv6 [forward | input | output]
filter rule <1-999999>
-.. opcmd:: show firewall ipv4 name <name> rule <1-999999>
+.. opcmd:: show firewall ipv6 name <name> rule <1-999999>
.. opcmd:: show firewall ipv6 ipv6-name <name> rule <1-999999>
@@ -1084,7 +1119,7 @@ Rule-set overview
.. code-block:: none
- vyos@vyos:~$ show firewall group LAN
+ vyos@vyos:~$ show firewall group LAN
Firewall Groups
Name Type References Members
@@ -1119,45 +1154,38 @@ Example Partial Config
.. code-block:: none
- firewall {
- group {
- network-group BAD-NETWORKS {
- network 198.51.100.0/24
- network 203.0.113.0/24
- }
- network-group GOOD-NETWORKS {
- network 192.0.2.0/24
- }
- port-group BAD-PORTS {
- port 65535
- }
- }
- ipv4 {
- forward {
- filter {
- default-action accept
- rule 5 {
- action accept
- source {
- group {
- network-group GOOD-NETWORKS
+ firewall {
+ ipv6 {
+ input {
+ filter {
+ rule 10 {
+ action jump
+ inbound-interface {
+ name eth1
}
+ jump-target INP-ETH1
}
- }
- rule 10 {
- action drop
- description "Bad Networks"
- protocol all
- source {
- group {
- network-group BAD-NETWORKS
+ rule 20 {
+ action accept
+ inbound-interface {
+ name eth0
}
+ log
+ protocol ipv6-icmp
}
}
}
+ name INP-ETH1 {
+ default-action drop
+ enable-default-log
+ rule 10 {
+ action accept
+ protocol tcp_udp
+ }
+ }
}
}
- }
+
Update geoip database
=====================
diff --git a/docs/configuration/policy/route-map.rst b/docs/configuration/policy/route-map.rst
index 9fe1eef7..07cfcf02 100644
--- a/docs/configuration/policy/route-map.rst
+++ b/docs/configuration/policy/route-map.rst
@@ -318,10 +318,12 @@ Route Map
Set BGP local preference attribute.
.. cfgcmd:: set policy route-map <text> rule <1-65535> set metric
- <+/-metric|0-4294967295>
+ <+/-metric|0-4294967295|rtt|+rtt|-rtt>
- Set destination routing protocol metric. Add or subtract metric, or set
- metric value.
+ Set the route metric. When used with BGP, set the BGP attribute MED
+ to a specific value. Use ``+/-`` to add or subtract the specified value
+ to/from the existing/MED. Use ``rtt`` to set the MED to the round trip
+ time or ``+rtt/-rtt`` to add/subtract the round trip time to/from the MED.
.. cfgcmd:: set policy route-map <text> rule <1-65535> set metric-type
<type-1|type-2>
diff --git a/docs/configuration/protocols/bgp.rst b/docs/configuration/protocols/bgp.rst
index 737e98fa..8fc69111 100644
--- a/docs/configuration/protocols/bgp.rst
+++ b/docs/configuration/protocols/bgp.rst
@@ -952,7 +952,7 @@ Operational Mode Commands
Show
====
-.. opcmd:: show <ip|ipv6> bgp
+.. opcmd:: show bgp <ipv4|ipv6>
This command displays all entries in BGP routing table.
@@ -964,6 +964,7 @@ Show
i internal, r RIB-failure, S Stale, R Removed
Nexthop codes: @NNN nexthop's vrf id, < announce-nh-self
Origin codes: i - IGP, e - EGP, ? - incomplete
+ RPKI validation codes: V valid, I invalid, N Not found
Network Next Hop Metric LocPrf Weight Path
*> 198.51.100.0/24 10.0.34.4 0 0 65004 i
@@ -971,7 +972,7 @@ Show
Displayed 2 routes and 2 total paths
-.. opcmd:: show <ip|ipv6> bgp <address|prefix>
+.. opcmd:: show bgp <ipv4|ipv6> <address|prefix>
This command displays information about the particular entry in the BGP
routing table.
@@ -991,55 +992,55 @@ Show
This command displays routes with classless interdomain routing (CIDR).
-.. opcmd:: show <ip|ipv6> bgp community <value>
+.. opcmd:: show bgp <ipv4|ipv6> community <value>
This command displays routes that belong to specified BGP communities.
Valid value is a community number in the range from 1 to 4294967200,
or AA:NN (autonomous system-community number/2-byte number), no-export,
local-as, or no-advertise.
-.. opcmd:: show <ip|ipv6> bgp community-list <name>
+.. opcmd:: show bgp <ipv4|ipv6> community-list <name>
This command displays routes that are permitted by the BGP
community list.
-.. opcmd:: show ip bgp dampened-paths
+.. opcmd:: show bgp <ipv4|ipv6> dampening dampened-paths
This command displays BGP dampened routes.
-.. opcmd:: show ip bgp flap-statistics
+.. opcmd:: show bgp <ipv4|ipv6> dampening flap-statistics
This command displays information about flapping BGP routes.
-.. opcmd:: show ip bgp filter-list <name>
+.. opcmd:: show bgp <ipv4|ipv6> filter-list <name>
This command displays BGP routes allowed by the specified AS Path
access list.
-.. opcmd:: show <ip|ipv6> bgp neighbors <address> advertised-routes
+.. opcmd:: show bgp <ipv4|ipv6> neighbors <address> advertised-routes
This command displays BGP routes advertised to a neighbor.
-.. opcmd:: show <ip|ipv6> bgp neighbors <address> received-routes
+.. opcmd:: show bgp <ipv4|ipv6> neighbors <address> received-routes
This command displays BGP routes originating from the specified BGP
neighbor before inbound policy is applied. To use this command inbound
soft reconfiguration must be enabled.
-.. opcmd:: show <ip|ipv6> bgp neighbors <address> routes
+.. opcmd:: show bgp <ipv4|ipv6> neighbors <address> routes
This command displays BGP received-routes that are accepted after filtering.
-.. opcmd:: show <ip|ipv6> bgp neighbors <address> dampened-routes
+.. opcmd:: show bgp <ipv4|ipv6> neighbors <address> dampened-routes
This command displays dampened routes received from BGP neighbor.
-.. opcmd:: show <ip|ipv6> bgp regexp <text>
+.. opcmd:: show bgp <ipv4|ipv6> regexp <text>
This command displays information about BGP routes whose AS path
matches the specified regular expression.
-.. opcmd:: show <ip|ipv6> bgp summary
+.. opcmd:: show bgp <ipv4|ipv6> summary
This command displays the status of all BGP connections.
diff --git a/docs/configuration/protocols/isis.rst b/docs/configuration/protocols/isis.rst
index 18a7c166..1f779d0a 100644
--- a/docs/configuration/protocols/isis.rst
+++ b/docs/configuration/protocols/isis.rst
@@ -302,6 +302,34 @@ Timers
control the timing of the execution of SPF calculations in response
to IGP events. The process described in :rfc:`8405`.
+Loop Free Alternate (LFA)
+-------------------------
+
+.. cfgcmd:: set protocols isis fast-reroute lfa remote prefix-list <name>
+ <level-1|level-2>
+
+ This command enables IP fast re-routing that is part of :rfc:`5286`.
+ Specifically this is a prefix list which references a prefix in which
+ will select eligible PQ nodes for remote LFA backups.
+
+.. cfgcmd:: set protocols isis fast-reroute lfa local load-sharing disable
+ <level-1|level-2>
+
+ This command disables the load sharing across multiple LFA backups.
+
+.. cfgcmd:: set protocols isis fast-reroute lfa local tiebreaker
+ <downstream|lowest-backup-metric|node-protecting> index <number>
+ <level-1|level-2>
+
+ This command will configure a tie-breaker for multiple local LFA backups.
+ The lower index numbers will be processed first.
+
+.. cfgcmd:: set protocols isis fast-reroute lfa local priority-limit
+ <medium|high|critical> <level-1|level-2>
+
+ This command will limit LFA backup computation up to the specified
+ prefix priority.
+
********
Examples
diff --git a/docs/configuration/service/pppoe-server.rst b/docs/configuration/service/pppoe-server.rst
index 3a0adee7..a230d9fe 100644
--- a/docs/configuration/service/pppoe-server.rst
+++ b/docs/configuration/service/pppoe-server.rst
@@ -57,48 +57,35 @@ Client Address Pools
--------------------
To automatically assign the client an IP address as tunnel endpoint, a
-client IP pool is needed. The source can be either RADIUS or a local
-subnet or IP range definition.
-
-Once the local tunnel endpoint ``set service pppoe-server gateway-address
-'10.1.1.2'`` has been defined, the client IP pool can be either defined
-as a range or as subnet using CIDR notation. If the CIDR notation is
-used, multiple subnets can be setup which are used sequentially.
+client IP pool is needed. The source can be either RADIUS or a
+named pool. There is possibility to create multiple named pools.
+Each named pool can include only one address range. To use multiple
+address ranges configure ``next-pool`` option.
**Client IP address via IP range definition**
-.. cfgcmd:: set service pppoe-server client-ip-pool start <address>
-
- Use this command to define the first IP address of a pool of
- addresses to be given to PPPoE clients. It must be within a /24
- subnet.
-
-.. cfgcmd:: set service pppoe-server client-ip-pool stop <address>
-
- Use this command to define the last IP address of a pool of
- addresses to be given to PPPoE clients. It must be within a /24
- subnet.
-
-.. code-block:: none
+.. cfgcmd:: set service pppoe-server client-ip-pool <POOL-NAME> range <x.x.x.x-x.x.x.x | x.x.x.x/x>
- set service pppoe-server client-ip-pool start '10.1.1.100'
- set service pppoe-server client-ip-pool stop '10.1.1.111'
+ Use this command to define the IP address range to be given
+ to PPPoE clients. If notation ``x.x.x.x-x.x.x.x``,
+ it must be within a /24 subnet. If notation ``x.x.x.x/x`` is
+ used there is possibility to set host/netmask.
+.. cfgcmd:: set service pppoe-server client-ip-pool <POOL-NAME> next-pool <NEXT-POOL-NAME>
-**Client IP subnets via CIDR notation**
+ Use this command to define the next address pool name.
-.. cfgcmd:: set service pppoe-server client-ip-pool subnet <address>
+.. cfgcmd:: set service pppoe-server default-pool <POOL-NAME>
- Use this command for every pool of client IP addresses you want to
- define. The addresses of this pool will be given to PPPoE clients.
- You must use CIDR notation.
+ Use this command to define default address pool name.
.. code-block:: none
- set service pppoe-server client-ip-pool subnet '10.1.1.0/24'
- set service pppoe-server client-ip-pool subnet '10.1.2.0/23'
- set service pppoe-server client-ip-pool subnet '10.1.4.0/22'
+ set service pppoe-server client-ip-pool IP-POOL next-pool 'IP-POOL2'
+ set service pppoe-server client-ip-pool IP-POOL range '10.0.10.5/24'
+ set service pppoe-server client-ip-pool IP-POOL2 range '10.0.0.10-10.0.0.12'
+ set service pppoe-server default-pool 'IP-POOL'
**RADIUS based IP pools (Framed-IP-Address)**
@@ -213,8 +200,8 @@ For Local Users
set service pppoe-server authentication local-users username foo rate-limit download '20480'
set service pppoe-server authentication local-users username foo rate-limit upload '10240'
set service pppoe-server authentication mode 'local'
- set service pppoe-server client-ip-pool start '10.1.1.100'
- set service pppoe-server client-ip-pool stop '10.1.1.111'
+ set service pppoe-server client-ip-pool IP-POOL range '10.1.1.100/24'
+ set service pppoe-server default-pool 'IP-POOL'
set service pppoe-server name-server '10.100.100.1'
set service pppoe-server name-server '10.100.200.1'
set service pppoe-server interface 'eth1'
@@ -367,8 +354,8 @@ address from the pool 10.1.1.100-111, terminates at the local endpoint
set service pppoe-server access-concentrator 'ACN'
set service pppoe-server authentication local-users username foo password 'bar'
set service pppoe-server authentication mode 'local'
- set service pppoe-server client-ip-pool start '10.1.1.100'
- set service pppoe-server client-ip-pool stop '10.1.1.111'
+ set service pppoe-server client-ip-pool IP-POOL range '10.1.1.100-10.1.1.111'
+ set service pppoe-server default-pool 'IP-POOL'
set service pppoe-server interface eth1
set service pppoe-server gateway-address '10.1.1.2'
set service pppoe-server name-server '10.100.100.1'
@@ -385,8 +372,8 @@ The example below covers a dual-stack configuration via pppoe-server.
set service pppoe-server authentication local-users username test password 'test'
set service pppoe-server authentication mode 'local'
- set service pppoe-server client-ip-pool start '192.168.0.1'
- set service pppoe-server client-ip-pool stop '192.168.0.10'
+ set service pppoe-server client-ip-pool IP-POOL range '192.168.0.1/24'
+ set service pppoe-server default-pool 'IP-POOL'
set service pppoe-server client-ipv6-pool delegate '2001:db8:8003::/48' delegation-prefix '56'
set service pppoe-server client-ipv6-pool prefix '2001:db8:8002::/48' mask '64'
set service pppoe-server ppp-options ipv6 allow
diff --git a/docs/configuration/system/ipv6.rst b/docs/configuration/system/ipv6.rst
index 076efdae..c7308f9d 100644
--- a/docs/configuration/system/ipv6.rst
+++ b/docs/configuration/system/ipv6.rst
@@ -81,6 +81,7 @@ Show commands
static Show IPv6 static routes
summary Show IPv6 routes summary
table Show IP routes in policy table
+ tag Show only routes with tag
vrf Show IPv6 routes in VRF
@@ -112,33 +113,6 @@ Show commands
<Enter> Execute the current command
<text> Show specified IPv6 access-list
-.. opcmd:: show ipv6 bgp
-
- Use this command to show IPv6 Border Gateway Protocol information.
-
-
- In addition, you can specify many other parameters to get BGP
- information:
-
- .. code-block:: none
-
- vyos@vyos:~$ show ipv6 bgp
- Possible completions:
- <Enter> Execute the current command
- <X:X::X:X> Show BGP information for given address or prefix
- <X:X::X:X/M>
- community Show routes matching the communities
- community-list
- Show routes matching the community-list
- filter-list Show routes conforming to the filter-list
- large-community
- Show routes matching the large-community-list
- large-community-list
- neighbors Show detailed information on TCP and BGP neighbor connections
- prefix-list Show routes matching the prefix-list
- regexp Show routes matching the AS path regular expression
- route-map Show BGP routes matching the specified route map
- summary Show summary of BGP neighbor status
.. opcmd:: show ipv6 ospfv3
diff --git a/docs/configuration/vpn/l2tp.rst b/docs/configuration/vpn/l2tp.rst
index 26de47b3..4a7657e7 100644
--- a/docs/configuration/vpn/l2tp.rst
+++ b/docs/configuration/vpn/l2tp.rst
@@ -17,8 +17,8 @@ with native Windows and Mac VPN clients):
set vpn ipsec interface eth0
set vpn l2tp remote-access outside-address 192.0.2.2
- set vpn l2tp remote-access client-ip-pool start 192.168.255.2
- set vpn l2tp remote-access client-ip-pool stop 192.168.255.254
+ set vpn l2tp remote-access client-ip-pool L2TP-POOL range 192.168.255.2-192.168.255.254
+ set vpn l2tp remote-access default-pool 'L2TP-POOL'
set vpn l2tp remote-access ipsec-settings authentication mode pre-shared-secret
set vpn l2tp remote-access ipsec-settings authentication pre-shared-secret <secret>
set vpn l2tp remote-access authentication mode local
@@ -95,8 +95,8 @@ Below is an example to configure a LNS:
.. code-block:: none
set vpn l2tp remote-access outside-address 192.0.2.2
- set vpn l2tp remote-access client-ip-pool start 192.168.255.2
- set vpn l2tp remote-access client-ip-pool stop 192.168.255.254
+ set vpn l2tp remote-access client-ip-pool L2TP-POOL range 192.168.255.2-192.168.255.254
+ set vpn l2tp remote-access default-pool 'L2TP-POOL'
set vpn l2tp remote-access lns shared-secret 'secret'
set vpn l2tp remote-access ccp-disable
set vpn l2tp remote-access authentication mode local
@@ -122,8 +122,8 @@ The rate-limit is set in kbit/sec.
.. code-block:: none
set vpn l2tp remote-access outside-address 192.0.2.2
- set vpn l2tp remote-access client-ip-pool start 192.168.255.2
- set vpn l2tp remote-access client-ip-pool stop 192.168.255.254
+ set vpn l2tp remote-access client-ip-pool L2TP-POOL range 192.168.255.2-192.168.255.254
+ set vpn l2tp remote-access default-pool 'L2TP-POOL'
set vpn l2tp remote-access authentication mode local
set vpn l2tp remote-access authentication local-users username test password test
set vpn l2tp remote-access authentication local-users username test rate-limit download 20480
diff --git a/docs/configuration/vpn/pptp.rst b/docs/configuration/vpn/pptp.rst
index 12364acb..fe536eec 100644
--- a/docs/configuration/vpn/pptp.rst
+++ b/docs/configuration/vpn/pptp.rst
@@ -20,8 +20,8 @@ server example
set vpn pptp remote-access authentication local-users username test password 'test'
set vpn pptp remote-access authentication mode 'local'
- set vpn pptp remote-access client-ip-pool start '192.168.0.10'
- set vpn pptp remote-access client-ip-pool stop '192.168.0.15'
+ set vpn pptp remote-access client-ip-pool PPTP-POOL range 192.168.0.10-192.168.0.15
+ set vpn pptp remote-access default-pool 'PPTP-POOL'
set vpn pptp remote-access gateway-address '10.100.100.1'
set vpn pptp remote-access outside-address '10.1.1.120'
diff --git a/docs/configuration/vpn/sstp.rst b/docs/configuration/vpn/sstp.rst
index 9d098d46..d9bb4353 100644
--- a/docs/configuration/vpn/sstp.rst
+++ b/docs/configuration/vpn/sstp.rst
@@ -116,9 +116,20 @@ Configuration
Specifies the port `<port>` that the SSTP port will listen on (default 443).
-.. cfgcmd:: set vpn sstp client-ip-pool subnet <subnet>
+.. cfgcmd:: set vpn sstp client-ip-pool <POOL-NAME> range <x.x.x.x-x.x.x.x | x.x.x.x/x>
- Use `<subnet>` as the IP pool for all connecting clients.
+ Use this command to define the first IP address of a pool of
+ addresses to be given to SSTP clients. If notation ``x.x.x.x-x.x.x.x``,
+ it must be within a /24 subnet. If notation ``x.x.x.x/x`` is
+ used there is possibility to set host/netmask.
+
+.. cfgcmd:: set vpn sstp client-ip-pool <POOL-NAME> next-pool <NEXT-POOL-NAME>
+
+ Use this command to define the next address pool name.
+
+.. cfgcmd:: set vpn sstp default-pool <POOL-NAME>
+
+ Use this command to define default address pool name.
.. cfgcmd:: set vpn sstp client-ipv6-pool prefix <address> mask <number-of-bits>