summaryrefslogtreecommitdiff
path: root/docs/quick-start.rst
diff options
context:
space:
mode:
authorRobert Göhler <github@ghlr.de>2023-09-11 20:37:43 +0200
committerGitHub <noreply@github.com>2023-09-11 20:37:43 +0200
commit0a2c9463b97cbdb32696b3322b5cc218fa29f0b6 (patch)
tree0e3b839b68068ad0eb0c34afb0173039c9caf601 /docs/quick-start.rst
parentf2ec0738cc36d8185136b4d4ee7a7c818cbd99d3 (diff)
parent24d9c9b9d08dedd46e6a7f39b8587656ee6a112c (diff)
downloadvyos-documentation-0a2c9463b97cbdb32696b3322b5cc218fa29f0b6.tar.gz
vyos-documentation-0a2c9463b97cbdb32696b3322b5cc218fa29f0b6.zip
Merge pull request #1076 from nicolas-fort/Firewall_new_cli_update
Firewall refactor: add visible note in firewall docs:
Diffstat (limited to 'docs/quick-start.rst')
-rw-r--r--docs/quick-start.rst68
1 files changed, 39 insertions, 29 deletions
diff --git a/docs/quick-start.rst b/docs/quick-start.rst
index 19be7b66..a6055576 100644
--- a/docs/quick-start.rst
+++ b/docs/quick-start.rst
@@ -122,6 +122,15 @@ network via IP masquerade.
Firewall
########
+.. note:: Starting from VyOS 1.4-rolling-202308040557, a new firewall
+ structure can be found on all vyos instalations. Documentation for most
+ of the new firewall CLI can be found in the `firewall
+ <https://docs.vyos.io/en/latest/configuration/firewall/general.html>`_
+ chapter. The legacy firewall is still available for versions before
+ 1.4-rolling-202308040557 and can be found in the :ref:`firewall-legacy`
+ chapter. The examples in this section use the new firewall configuration
+ commands.
+
Add a set of firewall policies for our outside/WAN interface.
This configuration creates a proper stateful firewall that blocks all traffic
@@ -129,19 +138,25 @@ which was not initiated from the internal/LAN side first.
.. code-block:: none
- set firewall name OUTSIDE-IN default-action 'drop'
- set firewall name OUTSIDE-IN rule 10 action 'accept'
- set firewall name OUTSIDE-IN rule 10 state established 'enable'
- set firewall name OUTSIDE-IN rule 10 state related 'enable'
-
- set firewall name OUTSIDE-LOCAL default-action 'drop'
- set firewall name OUTSIDE-LOCAL rule 10 action 'accept'
- set firewall name OUTSIDE-LOCAL rule 10 state established 'enable'
- set firewall name OUTSIDE-LOCAL rule 10 state related 'enable'
- set firewall name OUTSIDE-LOCAL rule 20 action 'accept'
- set firewall name OUTSIDE-LOCAL rule 20 icmp type-name 'echo-request'
- set firewall name OUTSIDE-LOCAL rule 20 protocol 'icmp'
- set firewall name OUTSIDE-LOCAL rule 20 state new 'enable'
+ set firewall ipv4 forward filter default-action 'drop'
+ set firewall ipv4 forward filter rule 10 action 'accept'
+ set firewall ipv4 forward filter rule 10 state established 'enable'
+ set firewall ipv4 forward filter rule 10 state related 'enable'
+ set firewall ipv4 forward filter rule 20 action 'drop'
+ set firewall ipv4 forward filter rule 20 state invalid 'enable'
+ set firewall ipv4 forward filter rule 30 inbound-interface interface-name 'eth1'
+ set firewall ipv4 forward filter rule 30 action 'accept'
+
+ set firewall ipv4 input filter default-action drop
+ set firewall ipv4 input filter rule 10 action 'accept'
+ set firewall ipv4 input filter rule 10 state established 'enable'
+ set firewall ipv4 input filter rule 10 state related 'enable'
+ set firewall ipv4 input filter rule 20 action 'drop'
+ set firewall ipv4 input filter rule 20 state invalid 'enable'
+ set firewall ipv4 input filter rule 30 action 'accept'
+ set firewall ipv4 input filter rule 30 icmp type-name 'echo-request'
+ set firewall ipv4 input filter rule 30 protocol 'icmp'
+ set firewall ipv4 input filter rule 30 state new 'enable'
If you wanted to enable SSH access to your firewall from the outside/WAN
interface, you could create some additional rules to allow that kind of
@@ -152,24 +167,19 @@ blocks brute-forcing attempts:
.. code-block:: none
- set firewall name OUTSIDE-LOCAL rule 30 action 'drop'
- set firewall name OUTSIDE-LOCAL rule 30 destination port '22'
- set firewall name OUTSIDE-LOCAL rule 30 protocol 'tcp'
- set firewall name OUTSIDE-LOCAL rule 30 recent count '4'
- set firewall name OUTSIDE-LOCAL rule 30 recent time 'minute'
- set firewall name OUTSIDE-LOCAL rule 30 state new 'enable'
-
- set firewall name OUTSIDE-LOCAL rule 31 action 'accept'
- set firewall name OUTSIDE-LOCAL rule 31 destination port '22'
- set firewall name OUTSIDE-LOCAL rule 31 protocol 'tcp'
- set firewall name OUTSIDE-LOCAL rule 31 state new 'enable'
+ set firewall ipv4 input filter rule 40 action 'drop'
+ set firewall ipv4 input filter rule 40 inbound-interface interface-name 'eth0'
+ set firewall ipv4 input filter rule 40 destination port '22'
+ set firewall ipv4 input filter rule 40 protocol 'tcp'
+ set firewall ipv4 input filter rule 40 recent count '4'
+ set firewall ipv4 input filter rule 40 recent time 'minute'
+ set firewall ipv4 input filter rule 40 state new 'enable'
-Apply the firewall policies:
-
-.. code-block:: none
+ set firewall ipv4 input filter rule 41 action 'accept'
+ set firewall ipv4 input filter rule 41 destination port '22'
+ set firewall ipv4 input filter rule 41 protocol 'tcp'
+ set firewall ipv4 input filter rule 41 state new 'enable'
- set firewall interface eth0 in name 'OUTSIDE-IN'
- set firewall interface eth0 local name 'OUTSIDE-LOCAL'
Commit changes, save the configuration, and exit configuration mode: