Detaillierte Beschreibung der Verwendung der erweiterten Konfiguration von Firewalld unter Linux

Detaillierte Beschreibung der Verwendung der erweiterten Konfiguration von Firewalld unter Linux

IP-Masquerading und Port-Weiterleitung

Firewalld unterstützt zwei Arten der Netzwerkadressübersetzung

IP-Adressmaskierung

  • Es kann realisiert werden, dass mehrere Adressen im LAN eine einzige öffentliche Netzwerkadresse für den Zugriff auf das Internet gemeinsam nutzen.
  • IP-Adress-Spoofing unterstützt nur IPv4, nicht IPv6
  • Standardmäßig ist die Adressmaskierung in der externen Zone aktiviert.

Portweiterleitung (Forward-Port)

  • Wird auch als Zieladressübersetzung oder Portmapping bezeichnet.
  • Mit der Portweiterleitung wird der Datenverkehr von einer angegebenen IP-Adresse und einem angegebenen Port an einen anderen Port auf demselben Computer oder an einen Port auf einem anderen Computer weitergeleitet.

Adressmaskierungskonfiguration

Fügen Sie eine Funktion zum Maskieren von Adressen für bestimmte Bereiche hinzu

Firewall-cmd [--permanent] [--zone= Zone] --add-masquerade [--timeout Sekunden]
 //--timeout=Sekunden: Lösche diese Funktion automatisch nach einer gewissen Zeit

Adressmaskierung für einen bestimmten Bereich entfernen

Firewall-Befehl [--permanent] [--zone=Zone] --remove-masquerade

Überprüfen Sie, ob die Adressmaskierungsfunktion im angegebenen Bereich aktiviert ist

Firewall-Befehl [--permanent] [--zone=Zone] --query-masquerade

Portweiterleitungskonfiguration

Konfiguration der Portweiterleitung auflisten

Firewall-Befehl [--permanent] [--zone=Zone] --list-forward-ports

Hinzufügen von Portweiterleitungsregeln

Firewall-Befehl [--permanent] [--zone=Zone] --add-forward-port=Port=Port-ID[-Portid]:Proto=Protokoll[:Toport-Port-ID[-Portid]][:Toaddr-Adresse[/Maske]][--Timeout=Sekunden]

Löschen einer Portweiterleitungsregel

Firewall-cmd [--permanent] [--zone=Zone] --remove-forward-port=Port=Port-ID[-Portid]:Proto=Protokoll[:toport=Port-ID[-Portid]][:toaddr=Adresse[/Maske]]

Portweiterleitungsregeln abfragen

Firewall-cmd [--permanent] [--zone=Zone] --query-forward-port-port-portid[-portid]:proto=Protokoll[:toport-portid[-portid]][:toaddr=Adresse[/Maske]]

Direkte Firewalld-Regeln

Direkte Schnittstelle

  • Ermöglicht Administratoren das manuelle Schreiben von iptables-, ip6tables- und ebtables-Regeln, die in die von Firewalld verwalteten Bereiche eingefügt werden sollen
  • Dies wird durch die Option --direct im Befehl firewall-cmd erreicht.
  • Neben der expliziten Einfügungsmethode werden direkte Regeln zuerst abgeglichen

Benutzerdefinierte Regelketten

Firewalld erstellt automatisch benutzerdefinierte Regelketten für Zonen, in denen Regeln konfiguriert sind

  • IN-Bereichsname deny: speichert die Deny-Anweisung, die Vorrang vor der Regel „IN-Bereichsname_allow“ hat.
  • IN-Bereichsname allow: speichert die Allow-Anweisung

Erlauben Sie eingehenden Datenverkehr zum TCP/9000-Port

irewall-cmd --direct --add-rule ipv4 filter IN work_allow 0 -p tcp --dport 9000 j AKZEPTIEREN
  • IN work_allow: Regelkette passend zum Arbeitsbereich
  • 0: stellt die Regel mit der höchsten Priorität dar und steht am Anfang der Regel
  • Sie können die Option --permanent hinzufügen, um eine permanente Konfiguration anzugeben

Alle direkten Regeln abfragen

Firewall-Befehl --direct --get-all-rules
IPv4-Filter IN_work_allow 0 -p tcp --dport 9000 -j ACCEPT

Sie können die Option --permanent hinzufügen, um die permanente Konfiguration anzuzeigen

Rich-Language-Regeln von Firewalld

Reichhaltige Sprache

Ausdrucksstarke Konfigurationssprache, kein Verständnis der iptables-Syntax erforderlich

Wird verwendet, um grundlegende Zulassungs-/Ablehnungsregeln auszudrücken, Protokollierung (für Syslog und Auditd), Portweiterleitung, Maskierung und Ratenbegrenzung zu konfigurieren.

Regel [Familie="<Regelfamilie>"]
 [ Quelladresse="<Adresse>" [invertieren "Wahr"] ]
 [ Zieladresse="<Adresse>" [invert="True"] ]
 [ <element> ]
 [ log [prefix="<Präfixtext>"] [level="<Protokollebene>"] [limit value="Rate/Dauer"] ]
 [ Prüfung ]
 [ akzeptierenl ablehnenl löschen ]

Grundlegendes zu Rich Language Rules-Befehlen

Allgemeine Optionen für Firewall-CMD zum Verarbeiten von Rich Language-Regeln

Optionen veranschaulichen
-add-rich-rule='REGEL' Fügt dem angegebenen Bereich eine Regel hinzu. Wenn kein Bereich angegeben ist, wird der Standardbereich verwendet.
--remove-rich-rule='REGEL' Löscht die Regel aus dem angegebenen Bereich. Wenn kein Bereich angegeben ist, wird der Standardbereich verwendet.
--query-rich-rule='REGEL' Abfrage, ob die REGEL zur angegebenen Zone hinzugefügt wurde. Wenn keine Zone angegeben ist, wird die Standardzone verwendet. <br/>Wenn die Regel existiert, gibt sie 0 zurück, andernfalls 1
--list-rich-rules Gibt alle Rich Rules für die angegebene Region aus. Wenn keine Region angegeben ist, wird die Standardregion verwendet.

Konfigurierter Rich Language-Regelanzeigemodus

Firewall-Befehl --list-all
Firewall-Befehl --list-all-zones
--list-rich-rules

Reichhaltige Sprachregeln, konkrete Grammatik

Quelle, Ziel, Element, Dienst, Port, Protokoll, ICMP-Block, Maskerade, Forward-Port, Protokoll, Audit, Akzeptieren, Ablehnen, Löschen

Den gesamten Datenverkehr von 192.168.8.101 verweigern

Firewall-cmd --permanent --zone=work --add-rich-rule='Regelfamilie=IPv4-Quelladresse=192.168.8.101/32 ablehnen'

Wenn die Adressoption mit Quelle oder Ziel verwendet wird, muss family= ipv4 | ipv6 verwendet werden.

Akzeptieren Sie TCP-Verkehr von 192.168.1.0/24 Subnetz-Ports 8000-9000

Firewall-cmd --permanent --one=work --add-rich-rule='Regelfamilie=IPv4 Quelladresse=192.168.1.0/24 Port Port=8000-9000 Protokoll=TCP akzeptieren'

Alle ICMP-Pakete verwerfen

Firewall-Befehl --permanent --add-rich-rule='Regelprotokollwert=ICMP-Drop'

Akzeptieren Sie HTTP-Verkehr von 192.168.8.1 und zeichnen Sie das Protokoll auf

Firewall-cmd –add-rich-rule='Regelfamilie=IPv4 Quelladresse=192.168.8.1/32 Dienstname=„http“ Protokollebene=Hinweispräfix= „NEU HTTP“ Grenzwert „3/s“ akzeptieren‘

Greifen Sie auf http unter 192.168.8.1 zu und beobachten Sie /var/log/messages

16. April 17:09:55 Serverkernel: NEUES HTTP IN=ens33 OUT=
MAC=00:0c:29:69:01:c4:00:50:56:c0:00:08:08:00 SRC=192.168.8.1 DST=192.168.8.131
LEN=52 TOS=0xOO PREC=0x00 TTL =64 ID=20582 DF PROTO=TCP SPT=65289 DPT=80
FENSTER=8192 RES=0x00 SYN URGP=0
16. April 17:09:55 Serverkernel: NEUES HTTP IN=ens33 OUT=
MAC=00:0c:29:69:01:c4:00:50:56:c0:00:08:08:00 SRC=192.168.8.1 DST=192.168.8.131
LEN=52 TOS=0x0O PREC=0x0O TTL =64 ID=20590 DF PROTO=TCP SPT=65291 DPT=80
FENSTER=8192 RES=0x00 SYN URGP=0
16. April 17:09:55 Serverkernel: NEUES HTTP IN=ens33 OUT=
MAC=00:0c:29:69:01:c4:00:50:56:c0:00:08:08:00 SRC=192.168.8.1 DST=192.168.8.131
LEN=52 TOS=0x0O PREC=0x0O TTL =64 ID=20602 DF PROTO=TCP SPT=65292 DPT=80
FENSTER=8192 RES=0x00 SYN URGP=0

Das Obige ist der vollständige Inhalt dieses Artikels. Ich hoffe, er wird für jedermanns Studium hilfreich sein. Ich hoffe auch, dass jeder 123WORDPRESS.COM unterstützen wird.

Das könnte Sie auch interessieren:
  • Verwenden Sie die Tools iptables und firewalld, um Verbindungsregeln für die Linux-Firewall zu verwalten
  • Konfigurationsprozess der Dual-Netzwerkkarte Firewalld unter Linux (empfohlen)

<<:  Detaillierte Erklärung zur Verwendung des CMD-Befehls zum Bedienen einer MySql-Datenbank

>>:  Implementierung der React-Sternebewertungskomponente

Artikel empfehlen

So verwenden Sie Watch-Listener in Vue2 und Vue3

watch : auf Datenänderungen achten (Änderungserei...

In JavaScript integrierter Zeit- und Datumsformatierungsbeispielcode

1. Grundkenntnisse (Methoden von Datumsobjekten) ...

js, um einen einfachen Akkordeoneffekt zu erzielen

In diesem Artikel wird der spezifische Code von j...

CentOS7 verwendet yum zur Installation von MySQL 8.0.12

In diesem Artikel werden die detaillierten Schrit...

Vue verwendet WebSocket, um die Chat-Funktion zu simulieren

Der Effekt zeigt, dass sich zwei Browser gegensei...

dh Filtersammlung

Der IE hat uns in der frühen Entwicklungsphase Ko...

Installationsschritte der Ubuntu 20.04-Doppelpinyin-Eingabemethode

1. Chinesische Eingabemethode einrichten 2. Stell...

MySQL-Einschränkungstypen und Beispiele

Zwang Einschränkungen gewährleisten Datenintegrit...

Detailliertes Beispiel für MySQL-Joint-Tabellen-Update-Daten

1.MySQL UPDATE JOIN-Syntax In MySQL können Sie di...

So stellen Sie DoNetCore mit Nginx in der Alibaba Cloud bereit

Grundlegende Umgebungskonfiguration Bitte kaufen ...

Nginx-Stream-Konfigurationsproxy (Nginx TCP/UDP-Lastausgleich)

Auftakt Wir alle wissen, dass nginx ein hervorrag...