Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

docs: fix to improve readability and correct typos. #1221

Merged
merged 4 commits into from
Jan 8, 2024
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
59 changes: 30 additions & 29 deletions docs/configuration/firewall/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -4,31 +4,32 @@
Firewall
########

With VyOS being based on top of Linux and its kernel, the Netfilter project
created the iptables and now the successor nftables for the Linux kernel to
work directly on the data flows. This now extends the concept of zone-based
security to allow for manipulating the data at multiple stages once accepted
by the network interface and the driver before being handed off to the
destination (e.g. a web server OR another device).
As VyOS is based on Linux it leverages its firewall. The Netfilter project
created iptables and its successor nftables for the Linux kernel to
work directly on packet data flows. This now extends the concept of
zone-based security to allow for manipulating the data at multiple stages once
accepted by the network interface and the driver before being handed off to
the destination (e.g., a web server OR another device).

A simplified traffic flow, based on Netfilter packet flow, is shown next, in
order to have a full view and understanding of how packets are processed, and
what possible paths can take.
A simplified traffic flow diagram, based on Netfilter packet flow, is shown
next, in order to have a full view and understanding of how packets are
processed, and what possible paths traffic can take.

.. figure:: /_static/images/firewall-gral-packet-flow.png

Main notes regarding this packet flow and terminology used in VyOS firewall:
The main points regarding this packet flow and terminology used in VyOS
firewall are covered below:

* **Bridge Port?**: choose appropiate path based on if interface were the
packet was received is part of a bridge, or not.
* **Bridge Port?**: choose appropriate path based on whether interface
where the packet was received is part of a bridge, or not.

If interface were the packet was received isn't part of a bridge, then packet
is processed at the **IP Layer**:
If the interface where the packet was received isn't part of a bridge, then
packetis processed at the **IP Layer**:

* **Prerouting**: several actions can be done in this stage, and currently
these actions are defined in different parts in vyos configuration. Order
these actions are defined in different parts in VyOS configuration. Order
is important, and all these actions are performed before any actions
define under ``firewall`` section. Relevant configuration that acts in
defined under ``firewall`` section. Relevant configuration that acts in
this stage are:

* **Conntrack Ignore**: rules defined under ``set system conntrack ignore
Expand All @@ -40,12 +41,12 @@ is processed at the **IP Layer**:
* **Destination NAT**: rules defined under ``set [nat | nat66]
destination...``.

* **Destination is the router?**: choose appropiate path based on
destination IP address. Transit forward continunes to **forward**,
* **Destination is the router?**: choose appropriate path based on
destination IP address. Transit forward continues to **forward**,
while traffic that destination IP address is configured on the router
continues to **input**.

* **Input**: stage where traffic destinated to the router itself can be
* **Input**: stage where traffic destined for the router itself can be
filtered and controlled. This is where all rules for securing the router
should take place. This includes ipv4 and ipv6 filtering rules, defined
in:
Expand All @@ -61,10 +62,10 @@ is processed at the **IP Layer**:

* ``set firewall ipv6 forward filter ...``.

* **Output**: stage where traffic that is originated by the router itself
can be filtered and controlled. Bare in mind that this traffic can be a
new connection originted by a internal process running on VyOS router,
such as NTP, or can be a response to traffic received externaly through
* **Output**: stage where traffic that originates from the router itself
can be filtered and controlled. Bear in mind that this traffic can be a
new connection originated by a internal process running on VyOS router,
such as NTP, or a response to traffic received externaly through
**inputt** (for example response to an ssh login attempt to the router).
This includes ipv4 and ipv6 filtering rules, defined in:

Expand All @@ -79,16 +80,16 @@ is processed at the **IP Layer**:
* **Source NAT**: rules defined under ``set [nat | nat66]
destination...``.

If interface were the packet was received is part of a bridge, then packet
is processed at the **Bridge Layer**, which contains a ver basic setup where
for bridge filtering:
If the interface where the packet was received is part of a bridge, then
packetis processed at the **Bridge Layer**, which contains a basic setup for
bridge filtering:

* **Forward (Bridge)**: stage where traffic that is trasspasing through the
* **Forward (Bridge)**: stage where traffic that is trespasing through the
bridge is filtered and controlled:

* ``set firewall bridge forward filter ...``.

Main structure VyOS firewall cli is shown next:
The main structure VyOS firewall cli is shown next:

.. code-block:: none

Expand Down Expand Up @@ -134,7 +135,7 @@ Main structure VyOS firewall cli is shown next:
- custom_zone_name
+ ...

Please, refer to appropiate section for more information about firewall
Please, refer to appropriate section for more information about firewall
configuration:

.. toctree::
Expand Down
Loading