From 7c87034d5e17bc83d8bf0198fc7eea9052fa0fab Mon Sep 17 00:00:00 2001 From: Joachim Wiberg Date: Sat, 23 Aug 2025 07:46:23 +0200 Subject: [PATCH] doc: add firewall documentation Signed-off-by: Joachim Wiberg --- .github/workflows/docs.yml | 1 + doc/extra.css | 14 ++ doc/firewall.md | 460 +++++++++++++++++++++++++++++++++++++ doc/img/firewall.svg | 1 + doc/img/fw-concept.svg | 4 + doc/img/fw-default.png | Bin 0 -> 42170 bytes doc/img/fw-logs.png | Bin 0 -> 50566 bytes doc/img/fw-matrix.png | Bin 0 -> 76966 bytes doc/img/fw-netfilter.svg | 4 + doc/img/fw-zones.svg | 4 + mkdocs.yml | 28 ++- 11 files changed, 515 insertions(+), 1 deletion(-) create mode 100644 doc/firewall.md create mode 100644 doc/img/firewall.svg create mode 100644 doc/img/fw-concept.svg create mode 100644 doc/img/fw-default.png create mode 100644 doc/img/fw-logs.png create mode 100644 doc/img/fw-matrix.png create mode 100644 doc/img/fw-netfilter.svg create mode 100644 doc/img/fw-zones.svg diff --git a/.github/workflows/docs.yml b/.github/workflows/docs.yml index 4dc02b32..0fec0f84 100644 --- a/.github/workflows/docs.yml +++ b/.github/workflows/docs.yml @@ -41,6 +41,7 @@ jobs: pipx inject mkdocs mkdocs-callouts pipx inject mkdocs mike pipx inject mkdocs mkdocs-to-pdf + pipx inject mkdocs mkdocs-glightbox # Workaround, if pipx inject fails to install symlink ln -s "$(pipx environment -V PIPX_LOCAL_VENVS)/mkdocs/bin/mike" \ "$(pipx environment -V PIPX_BIN_DIR)/mike" || true diff --git a/doc/extra.css b/doc/extra.css index 60336ca8..ac6f593d 100644 --- a/doc/extra.css +++ b/doc/extra.css @@ -3,6 +3,10 @@ line-height: 2.6rem; } +.md-typeset code { + font-size: .75em; +} + [data-md-color-primary="orange"] { --md-primary-fg-color: #ff7f2a; --md-primary-bg-color: #5c5f5c; @@ -10,3 +14,13 @@ [data-md-color-primary="black"] { --md-primary-bg-color: #5c5f5c; } + +/* Center Markdown Tables (requires md_in_html extension) */ +.center-table { + text-align: center; +} + +.md-typeset .center-table :is(td,th):not([align]) { + /* Reset alignment for table cells */ + text-align: initial; +} diff --git a/doc/firewall.md b/doc/firewall.md new file mode 100644 index 00000000..7c6ba5c9 --- /dev/null +++ b/doc/firewall.md @@ -0,0 +1,460 @@ +![Firewall](img/firewall.svg){ align=left width="60" } + +# Firewall Documentation + +## Introduction + +A zone-based firewall aims to *simplify network security*. Instead of complex +per-interface rules, you work with **zones** and **policies**. Briefly, ^^zones +define a level of trust^^ for all interfaces or networks assigned to it, and +^^policies regulate the traffic flow^^ between zones. + +![Zone based concept](img/fw-concept.svg){ width=600 } +/// figure-caption +Zones group interfaces, policies control traffic flows. +/// + +Three distinct traffic flows exist: traffic destined for the host itself, +traffic between interfaces within the same zone (intra-zone), and traffic +between different zones (inter-zones). + +--- + +The zone approach is not just more intuitive and maintainable, it allows you +to think more in terms of trust relationships: + +- "internal networks can access the Internet" +- "Internet cannot access my internal network, except this port forward" + +When you add new interfaces to existing zones, they automatically inherit the +established security policies. The amount of actual rules *that matter to +you* is kept to a minimum. + +> [!TIP] Impatient and ready to get going? +> [Fast forward to the Examples: End Device, Home/Office Router, Enterprise Gateway](#examples) + +## Visual Overview + +Use the **zone matrix** to quickly audit your firewall configuration and +identify potential security gaps. It provides an overview and shows the +relationship between zones and the policies that connect them. Each cell in +the matrix represents a potential traffic flow, with rows indicating the +ingress zone and columns the egress zone. + +![Firewall Matrix](img/fw-matrix.png) +/// figure-caption +Example output from show firewall command. +/// + +The matrix uses visual indicators to show the status of each zone and policy: + +**✓ Green checkmark** — traffic is explicitly allowed by policy +**✗ Red cross** — traffic is blocked (default behavior) +**⚠ Yellow warning** — watch out! Some traffic allowed, such as port forwarding rules + +This visualization helps you quickly understand your firewall's behavior and +identify any unintended gaps or overly permissive rules in your configuration. + +> [!TIP] Use the ++question++ key in the CLI +> This admin-exec (top-level) CLI command has sub-commands that you can use to +> drill down on the operational data. Tap the ++question++ key once to see an +> overview after show firewall, or just use the classic UNIX ++tab++ key to +> complete everything until you've found your command. + +## Zones + +Zones are logical groupings of network interfaces or IP networks that share +the same trust level. Each zone has a *default action* that determines what +happens to traffic destined for the host itself (INPUT chain). A LAN zone may +have this set to *accept*, while a DMZ zone may be set to *reject* by default +and only allow a subset of available *services* (e.g., DHCP, DNS, SSH) that +devices in the DMZ can use to reach the host. + +> [!IMPORTANT] +> Interfaces and networks are mutually exclusive in zones — attempting to +> configure both will result in a validation error. When setting up +> [*port forwarding*](#port-forwarding) from one zone to another, the +> destination network must be declared in a zone. + +### Default Zone + +You must specify a default zone. This serves as a safety net: any interface +not explicitly assigned to a zone automatically belongs to the default zone, +ensuring network interfaces remain protected by the firewall. This automatic +assignment is particularly useful when configuring new interfaces (e.g., +VLANs, bridges, or hotplugged devices). + +Choose your default zone carefully — it should be the most restrictive zone +appropriate for unmanaged interfaces. For routers, this is typically the +`wan` zone, but you can of course also set up a dedicated `block` zone. In the +CLI, when first enabling the firewall, a `public` zone is created. See more +about this in the [example below](#end-device-protection). + +> [!IMPORTANT] Remember IP forwarding on interfaces! +> Firewall policies only control whether traffic is allowed on input, to be +> forwarded, or blocked (default). For the actual routing between interfaces +> to work, you must also enable [IP forwarding](networking.md#ipv4-forwarding) +> on the relevant interfaces. + +### Intra-Zone Traffic + +Traffic between different interfaces, or networks, in the same zone is not +forwarded by default. In most cases, if devices on separate interfaces need +to communicate, they should be in different zones with a policy between them. +Alternatively, if you want true LAN-like behavior, [bridge the interfaces][1] +at layer-2 instead of routing between them at layer-3. + +*Intra-zone* forwarding — routing traffic within a single zone — is rarely +needed. But if you do require it, create a policy where both ingress and +egress are set to the same zone, e.g., `lan` → `lan`. + +### Port Forwarding + +Port forwarding, also known as destination NAT (DNAT), redirects inbound +traffic to another address and/or port. This allows external access to +internal services. See [Enterprise Gateway](#enterprise-gateway) for an +example. + +Each zone can have port forwarding rules that apply to traffic arriving at +that zone's interfaces or matching its networks. The forwarded traffic must +then be allowed by appropriate policies to reach the destination zone. + +The *Zone Matrix* shows a ⚠ conditional warning flag, coloring the cell +yellow, when exceptions like port forwarding are active. + +## Policies + +In short, policy rules control traffic **between** zones. By default all +inter-zone (and intra-zone) traffic is rejected. Meaning you must explicitly +allow the traffic flows you intend. + +![Zone based firewall](img/fw-zones.svg){ width=600 } +/// figure-caption +Example of common traffic flows (policies) between zones. +/// + +IP masquerading (SNAT) is a policy setting that applies to traffic egressing +a target zone. (Essential for Internet access from private networks.) + +A policy, like zones, have a default action. If it is *not* set to `accept` +you must specify which services on the host any zone interface and network are +allowed access to. + +> [!NOTE] +> Policy rules apply in-order, the first matching rule with action `drop` will +> terminate the traffic flow. Use action `continue` to allow processing to go +> to the next rule, until the last (implicit) default-drop rule at the end. +> +> The CLI currently does not support reordering rules. As a workaround, save +> your `running-config` to `startup-config`, then exit to the shell and edit +> the file with `edit /cfg/startup-config.cfg`. + +See the [examples below](#enterprise-gateway) for how to set up a policy. The +built-in help system can also be useful: +
admin@example:/config/firewall/policy/lan-to-dmz/> help masquerade
+NAME
+        masquerade 
+DESCRIPTION + Enable masquerading (SNAT) for traffic matching this policy.
+ Matching traffic will have their source IP address changed on egress, + using the IP address of the interface the traffic egresses.";
+admin@example:/config/firewall/policy/lan-to-dmz/> +
+ +### Symbolic Names + +The symbolic names `HOST` and `ANY` are available for use in both `ingress` +and `egress` zones. In fact, the CLI uses inference when first enabling the +firewall to inject a default policy to allow automatic IPv6 address +assignment. + +- `HOST` → `ANY`: Control device to any outbound connection (default: allowed) +- `ANY` → `HOST`: Control what can reach device services (uncommon, usually per-zone) +- Zone → `HOST`: Allow specific zone to access device services + +### Custom Filters + +For more advanced firewall scenarios *custom filters* can be used. Currently +only various ICMP type traffic control is supported. Enough to support the +built-in `allow-host-ipv6` policy and allow certain ICMP types on input or +forward. + +You can inspect this built-in (locked) policy from admin-exec level with the +command: show firewall policy allow-host-ipv6. + +### Default Behavior + +ICMP messages (particularly `echo-request` and `echo-reply`) can be used to +reveal network information for malicious purposes. Therefore, the firewall +blocks ICMP requests by default. This applies unless the zone's default +action is `accept`. + +To enable `echo-request` (IPv4) for any interface, or per zone when action is +set to drop or reject, set up a dedicated policy with `ingress ANY` and `egress +HOST` that use a custom filter to accept that ICMP type. Make this policy the +first rule in your list of policies, and remember to use `continue` for +non-matching traffic. + +Another built-in behavior is automatically allowing "established,related" +return traffic flows. This uses connection tracking - the firewall remembers +outbound connections you initiate and automatically allows the corresponding +inbound response traffic. This means you only need to configure rules for +new connections; the firewall handles return traffic automatically without +additional rules. + +## Services + +Several pre-defined services exist, that cover most use-cases, but you can +also define custom services for applications not covered by the built-in ones. + +The firewall includes over 100 pre-defined services, such as: + +- **`ssh`** — Secure Shell (port 22/tcp) +- **`http`** — Web traffic (port 80/tcp) +- **`https`** — Secure web traffic (port 443/tcp) +- **`dns`** — Domain Name System (port 53/tcp and 53/udp) +- **`dhcp`** — DHCP server (port 67/udp) +- **`dhcpv6-client`** — DHCPv6 client traffic +- **`netconf`** — Network Configuration Protocol (port 830/tcp) +- **`restconf`** — REST-based Network Configuration Protocol (port 443/tcp) + +> [!TIP] Use the ++question++ key in the CLI +> See the YANG model for the full list, or tap the ++question++ key +> when setting up an allowed host service in a zone `set service` + +## Examples + +### End Device Protection + +This is the default firewall setup, useful for end devices on untrusted +networks. It provides maximum protection while allowing essential +connectivity. +
admin@example:/> configure
+admin@example:/config/> edit firewall
+admin@example:/config/firewall/> show
+default public;
+zone public {
+  action reject;
+  description "Public, unknown network. Only SSH and DHCPv6 client allowed.";
+  service dhcpv6-client;
+  service ssh;
+}
+admin@example:/config/firewall/> leave
+
+ +The `reject` action differs from `drop` in that it responds to ICMP messages, +although maybe not how you may think. Pinging the device we may[^1] see this: +
+$ ping 192.168.122.161
+From 192.168.122.161 icmp_seq=1 Packet filtered
+
+ +If we run `tcpdump` it shows us why: +
+$ tcpdump -lni eth0
+20:10:40.245707 IP 192.168.122.1 > 192.168.122.161: ICMP echo request, id 56838, seq 1, length 64
+20:10:40.245961 IP 192.168.122.161 > 192.168.122.1: ICMP host 192.168.122.161 unreachable - admin prohibited filter, length 92
+
+ +The key here is that, yes the device responds, but not with `ICMP reply` but +`ICMP unreachable`, and a little helpful message. + +The default zone is `public`, so all interfaces that are not explicitly +assigned to another zone will be operationally placed in this zone as a +safeguard. Inspect this from admin-exec context with show firewall, as can +be seen in the below screenshot, the only interface `e1` has been assigned +automatically to the public zone. This information is also saved to the +system log. + +![Initial firewall setup with default zone](img/fw-default.png) +/// figure-caption +Zone matrix and firewall overview from show firewall. +/// + +> [!IMPORTANT] +> These defaults are *inferred* for interactive CLI users. Enabling the +> firewall using NETCONF/RESTCONF will not yield the same results. + +[^1]: The output from ping clients differ A LOT. Some do not consider ICMP + unreachable to be a proper response and it will appear as if the device is + not responding at all. Use `tcpdump` or `wireshark` to get to the bottom + of network mysteries. + +### Home/Office Router + +For typical routers that need to protect internal devices while providing +internet access. The LAN zone trusts internal devices, while the WAN zone +blocks external threats. +
admin@example:/> configure
+admin@example:/config/> edit firewall
+admin@example:/config/firewall/> set default wan
+admin@example:/config/firewall/> edit zone lan
+admin@example:/config/firewall/zone/lan/> set description "Internal LAN network - trusted"
+admin@example:/config/firewall/zone/lan/> set action accept
+admin@example:/config/firewall/zone/lan/> set interface eth1
+admin@example:/config/firewall/zone/lan/> set service ssh
+admin@example:/config/firewall/zone/lan/> set service dhcp
+admin@example:/config/firewall/zone/lan/> set service dns
+admin@example:/config/firewall/zone/lan/> end
+admin@example:/config/firewall/> edit zone wan
+admin@example:/config/firewall/zone/wan/> set description "External WAN interface - untrusted"
+admin@example:/config/firewall/zone/wan/> set action drop
+admin@example:/config/firewall/zone/wan/> set interface eth0
+admin@example:/config/firewall/zone/wan/> end
+admin@example:/config/firewall/> edit policy loc-to-wan
+admin@example:/config/firewall/policy/loc-to-wan/> set description "Allow LAN traffic to WAN with SNAT"
+admin@example:/config/firewall/policy/loc-to-wan/> set ingress lan
+admin@example:/config/firewall/policy/loc-to-wan/> set egress wan
+admin@example:/config/firewall/policy/loc-to-wan/> set action accept
+admin@example:/config/firewall/policy/loc-to-wan/> set masquerade
+admin@example:/config/firewall/policy/loc-to-wan/> leave
+
+ +### Enterprise Gateway + +For businesses that need to host public services while protecting internal +resources. We can build upon the Home/Office Router example above and add +a DMZ zone with additional policies for controlled access. +
admin@example:/> configure
+admin@example:/config/> edit firewall zone dmz
+admin@example:/config/firewall/zone/dmz/> set description "Semi-trusted public services"
+admin@example:/config/firewall/zone/dmz/> set action drop
+admin@example:/config/firewall/zone/dmz/> set interface eth1
+admin@example:/config/firewall/zone/dmz/> set service ssh
+admin@example:/config/firewall/zone/dmz/> end
+admin@example:/config/firewall/> edit policy loc-to-wan
+admin@example:/config/firewall/policy/loc-to-wan/> set description "Allow local networks (LAN+DMZ) to WAN with SNAT"
+admin@example:/config/firewall/policy/loc-to-wan/> set ingress dmz
+admin@example:/config/firewall/policy/loc-to-wan/> set egress wan
+admin@example:/config/firewall/policy/loc-to-wan/> set action accept
+admin@example:/config/firewall/policy/loc-to-wan/> set masquerade
+admin@example:/config/firewall/policy/loc-to-wan/> end
+admin@example:/config/firewall/> edit policy lan-to-dmz
+admin@example:/config/firewall/policy/lan-to-dmz/> set description "Allow LAN to manage DMZ services"
+admin@example:/config/firewall/policy/lan-to-dmz/> set ingress lan
+admin@example:/config/firewall/policy/lan-to-dmz/> set egress dmz
+admin@example:/config/firewall/policy/lan-to-dmz/> set action accept
+admin@example:/config/firewall/policy/lan-to-dmz/> end
+admin@example:/config/firewall/> edit zone wan port-forward 8080 tcp
+admin@example:/config/firewall/zone/wan/port-forward/8080/tcp/> set to addr 192.168.2.10
+admin@example:/config/firewall/zone/wan/port-forward/8080/tcp/> set to port 80
+admin@example:/config/firewall/zone/wan/port-forward/8080/tcp/> leave
+
+ +This adds a DMZ zone for public services, updates the internet access policy +to include DMZ traffic, allows LAN management of DMZ services, and forwards +external web traffic to the DMZ server. + +## Logging and Monitoring + +Different log levels are available to monitor and debug firewall behavior. +Configure logging using the CLI: +
+admin@example:/> configure
+admin@example:/config/> edit firewall
+admin@example:/config/firewall/> set logging all
+admin@example:/config/firewall/> leave
+
+ +Firewall logs help you understand traffic patterns and security events. The +CLI admin-exec command show firewall shows the last 10 log messages in the +overview: + +![Firewall logs](img/fw-logs.png){width=100%} +/// figure-caption +Summary of recent logs at the end of show firewall. +/// + +Use the command show log firewall.log to display the full logfile +(remember, the syslog daemon rotates and zips too big log files). You can +also use the follow firewall.log command to continuously monitor +firewall log messages. + +## Netfilter Integration + +The Infix firewall operates through Linux netfilter hooks. Understanding how +the *zones* and *policy* concepts map to these hooks will hopefully help you +understand the firewall's behavior and ease troubleshooting. + +### Packet Flow + +![Netfilter hooks](img/fw-netfilter.svg){width=750} +/// figure-caption +Linux netfilter hooks in layer-3 traffic flow. +/// + +| **Netfilter Hook** | **Function** | **Description** | +|--------------------|--------------|--------------------------------------------------------------------------| +| `prerouting` | ZONE | Classification of incoming traffic, match interfaces/networks with zones | +| `prerouting` | ZONE | Port forwarding (DNAT) from zone configuration | +| `input` | ZONE | Host input filtering (`services`) | +| `input` | ZONE | Default action for non-matching services (`action`) | +| `forward` | POLICY | Allow traffic between zones (inter-zone rules) | +| `postrouting` | POLICY | Masquerade (SNAT) when traffic egresses a zone | + +#### PREROUTING Hook + +- **Zone Classification**: Traffic is tagged based on ingress interface or + source network +- **Port Forwarding**: DNAT from zone configuration occurs before routing decisions +- **Connection Tracking**: Early state establishment for stateful filtering + +#### INPUT Hook + +- **ANY-to-HOST Policies**: Enforces policy rules for traffic destined to the + host itself +- **Zone Services**: Allows configured services (SSH, HTTP, etc.) based on + zone trust level +- **Zone Action**: Applies a default action (accept/reject/drop) for + unmatched traffic + +#### FORWARD Hook + +- **Policy Enforcement**: Primary location for inter-zone traffic filtering +- **Custom Filters**: ICMP and other protocol-specific rules within policies +- **Service Matching**: Allows or denies services based on policy configuration + +#### POSTROUTING Hook + +- **Masquerading**: Source NAT for outbound traffic when policies enable masquerading + + +## Emergency Lockdown + +For security emergencies (active breaches, suspicious activity), the firewall +supports an immediate lockdown mode that blocks ALL traffic. + +> [!DANGER] +> This will immediately terminate all network connections, including SSH. +> Physical console access is required to restore normal operation. It is +> also possible to restore normal operation by power-cycling the device. + +To activate emergency lockdown: + +```json +~$ curl -kX POST -u admin:admin -H "Content-Type: application/yang-data+json" \ + -d '{"infix-firewall:input": {"operation": "now"}}' \ + https://example.local/restconf/operations/infix-firewall:firewall/lockdown-mode +``` + +To cancel lockdown mode (requires console access): + +```json +~$ curl -kX POST -u admin:admin -H "Content-Type: application/yang-data+json" \ + -d '{"infix-firewall:input": {"operation": "cancel"}}' \ + https://example.local/restconf/operations/infix-firewall:firewall/lockdown-mode +``` + +You can check the current lockdown state: + +```json +~$ curl -kX GET -u admin:admin -H 'Accept: application/yang-data+json' \ + https://example.local/restconf/data/infix-firewall:firewall/lockdown +{ + "infix-firewall:firewall": { + "lockdown": false + } +} +``` + +[1]: networking.md#bridging diff --git a/doc/img/firewall.svg b/doc/img/firewall.svg new file mode 100644 index 00000000..bad820f1 --- /dev/null +++ b/doc/img/firewall.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/doc/img/fw-concept.svg b/doc/img/fw-concept.svg new file mode 100644 index 00000000..a598788f --- /dev/null +++ b/doc/img/fw-concept.svg @@ -0,0 +1,4 @@ + + + +
zone UNTRUSTED
zone TRUSTED
Internet
eth0
eth1
policy OUTBOUND
ZBF
\ No newline at end of file diff --git a/doc/img/fw-default.png b/doc/img/fw-default.png new file mode 100644 index 0000000000000000000000000000000000000000..b0d8a8f46e1b64404f8c74aae7195dac76a034fe GIT binary patch literal 42170 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%0Dw09F{Me%%Whz-`6m7D%KoM?Hrz`*FS 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 IBn&_N7r3?$Z~y=R literal 0 HcmV?d00001 diff --git a/doc/img/fw-logs.png b/doc/img/fw-logs.png new file mode 100644 index 0000000000000000000000000000000000000000..34e5f44711729dd474171c7f3cc43647ad7ceb4d GIT binary patch literal 50566 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

4bH{tAkQ9e(pn~2NsTn-p* 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�Zw; z9JAmtNd41RWKZ_!w}9z!9UjSs83Ijt(TPmA29CJWs>9dz9EV_mwmQVi^jn;6Kd^keRiPwe%QPL$G!|8@`a#$bDg~M;~ zLclbb5Y6wt?h)fkHC(hJ>G!6;6DdyxGaw-^*DpH?=~ z3NZ0>(l!!b{oA0t0=bjvxiCupS*-#9ytq-2me5+A60k+j%4RIoN{b>5Cq0))c*mPq z`R0N`Jy6b2H!emJf4wvAeHGsMRmy#=t2VLKzs<)E|D2Ccthy_;y|`U5w5aUX8LiOu zgijzLoLsOLG#l=y_wZ8=lkl^@sm4lyYOTrHhI;b1;b8Y^QDe;9@B!cD< zKTN$PXO9|lN^!@oTs|We@LyqVC4ZFwpj@J;_jVxa$G^kiZ|P=pZ1X4cU{Y4I*p!rJ zfp2e-Qc)ae@WY?BdV&R^4Pd{EudO&f3?(Y92d6!;&_GLcaKYXfO$oK zEB&Qu{U`WF+8QN8AAXHB$YB6p04Wfma*|9=HL&SpcXv==E}9xGK>rht~6TNLs0y8q5|>dx{+|5;R!$2C0H)bRe6D4q|9T~MKp zaQP&>qsu`n>2Cx#X7hDNk6re+YVj1ThYRKn;K~f{;^2d#;Z?-dJZB2}3tj2o=0`_g zGIBG9vyo;=)a=j>{yV;bF_rx=MwdFWAxlB@4s6`xiwCHU(@|UBta~ufmItD^%rdZ< zF#C}m(0H-ha6$m`)8=niK`lvw%#8<|BGz-ieNxKI8QaQDw4E3QCPEO|MHCm`%rLan zCw@&XX7E))cJoLU148Bv{SEO01_K-f6Qc1HGaR6s0VNO@ONLg%&f79=xUuDtu=BQ>zM`%yuRr9gng>qo@~;InvH{QXi-lI361mlW0iH!oa5nbxFkI2(Gc0kAIx MnRn8)lE%UR4NAD4KmY&$ literal 0 HcmV?d00001 diff --git a/doc/img/fw-matrix.png b/doc/img/fw-matrix.png new file mode 100644 index 0000000000000000000000000000000000000000..6ea2a4cadbe81b504e936451f1868103aed9851e GIT binary patch literal 76966 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Ã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

  • 4@mNPiij32gF)CJf6j95Zs1^YN=R@cXt) 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 R?f?i&Q%&!FxyrM!e*mnPZR`L5 literal 0 HcmV?d00001 diff --git a/doc/img/fw-netfilter.svg b/doc/img/fw-netfilter.svg new file mode 100644 index 00000000..593ba0e6 --- /dev/null +++ b/doc/img/fw-netfilter.svg @@ -0,0 +1,4 @@ + + + +
    prerouting
    postrouting
    forward
    routing
    input
    output
    Host process
    ingress
    egress
    Bridge layer
    ARP layer
    Application layer
    IP layer
    \ No newline at end of file diff --git a/doc/img/fw-zones.svg b/doc/img/fw-zones.svg new file mode 100644 index 00000000..3175cc15 --- /dev/null +++ b/doc/img/fw-zones.svg @@ -0,0 +1,4 @@ + + + +
    zone DMZ
    zone WAN
    zone LAN
    ZBFInternet
    eth0
    eth1
    policy loc-to-wan
    eth2
    policy lan-to-dmz
    policy fwd-to-dmz
    \ No newline at end of file diff --git a/mkdocs.yml b/mkdocs.yml index b4dfa86c..5d768c0c 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -23,12 +23,13 @@ nav: - Keybindings: cli/keybindings.md - Network Calculator: cli/netcalc.md - Network Monitoring: cli/tcpdump.md - - Quickstart Guide: cli/quick.md + - Quickstart Guide: cli/quick.md - Text Editor: cli/text-editor.md - Upgrading: cli/upgrade.md - Docker Containers: container.md - Networking: - Network Configuration: networking.md + - Firewall Configuration: firewall.md - Quality of Service: qos.md - RMON Counters: eth-counters.md - Tunneling (L2/L3): tunnels.md @@ -98,10 +99,18 @@ theme: icon: material/weather-sunny name: Switch to light mode +# https://squidfunk.github.io/mkdocs-material/reference/formatting/ markdown_extensions: - admonition - attr_list - footnotes + - md_in_html + - pymdownx.blocks.caption + - pymdownx.critic + - pymdownx.caret + - pymdownx.keys + - pymdownx.mark + - pymdownx.tilde - pymdownx.details - pymdownx.superfences - pymdownx.highlight: @@ -118,6 +127,23 @@ plugins: - search - callouts - mike + - glightbox: + touchNavigation: true + loop: false + effect: zoom + slide_effect: slide + width: 100% + height: auto + zoomable: true + draggable: true + skip_classes: + - custom-skip-class-name + auto_themed: true + auto_caption: false + caption_position: bottom + background: black + shadow: false + manual: false - to-pdf: cover: true enabled_if_env: PDF_EXPORT