Detaillierte Erläuterung der Wissenspunkte zu Linux Netfilter/Iptables

Detaillierte Erläuterung der Wissenspunkte zu Linux Netfilter/Iptables

Netzfilter

Netfilter ist ein Paketverarbeitungsmodul im Linux-Kernel, das NAT-Funktionen zur Paketfilterung, Weiterleitung und Adressübersetzung bereitstellen kann. Iptables ist ein Tool, mit dem Paketverarbeitungsregeln in Netfilter hinzugefügt, geändert und gelöscht werden können.

Netfilter ist eine Mauer zwischen der Netzwerkkarte und dem Kernel-Protokollstapel und eine kostenlose Software-Firewall.

Es gibt drei Hauptkonzepte in Netfilter: Regeln, Tabellen und Ketten mit zunehmenden Ebenen.

  • Eine Regel ist eine Beschreibung, wie eine bestimmte Nachricht verarbeitet werden soll, einschließlich übereinstimmender Felder und Aktionen.
  • Eine Kette ist eine Sammlung von Regeln.
  • Eine Tabelle ist eine Sammlung von Regeln mit gleicher Funktion in einer Kette.

Regel

Kette

Die Kette kann als mehrere Prüfpunkte zwischen der Netzwerkkarte und dem Kernelprotokollstapel betrachtet werden. Für Nachrichten unterschiedlicher Art werden sie von den Prüfpunkten verarbeitet, die nicht passiert werden können, d. h. sie entsprechen der nicht erreichbaren Kette.

  • Von der Netzwerkkarte an den Kernel-Protokollstapel gesendete Nachricht: PREROUTING -> INPUT
  • Nachrichten von der Netzwerkkarte, die nicht an den Kernel-Protokollstapel gesendet werden können: PREROUTING -> FORWARD -> POSTROUTING
  • Vom Kernel-Protokollstapel an die Netzwerkkarte gesendete Nachrichten: OUTPUT -> POSTROUTING

Oberfläche

Zur einfacheren Verwaltung werden Regeln mit derselben Funktion in einer Kette in einer Tabelle organisiert. iptables hat vier Tabellen für uns definiert.

Die Prioritätsreihenfolge der Tabellen (von hoch nach niedrig): raw -> mangle -> nat -> filter

Tabellenkettenbeziehung

Eine Kette kann mehrere Tische haben, aber nicht notwendigerweise alle Tische.

Datenpakete werden kettenbasiert verarbeitet, in der Praxis werden jedoch Tabellen als Operationseinträge verwendet, um Regeln zu definieren.

iptables

Einführung in iptables

Die Paketfilterfunktion von Linux, nämlich die Linux-Firewall, besteht aus zwei Komponenten: Netfilter und iptables.

Die Netfilter-Komponente, auch als Kernel Space bezeichnet, ist ein Teil des Kernels, der aus Paketfiltertabellen besteht, die die vom Kernel verwendeten Regelsätze zur Steuerung der Paketfilterverarbeitung enthalten.

Die iptables-Komponente ist ein Tool, auch Userspace genannt, das das Einfügen, Ändern und Entfernen von Regeln aus Paketfiltertabellen erleichtert.

Iptables-Grundlagen

Wir wissen, dass iptables nach Regeln arbeitet. Regeln sind eigentlich Bedingungen, die von Netzwerkadministratoren vordefiniert werden. Regeln werden im Allgemeinen wie folgt definiert: „Wenn der Paketheader solche Bedingungen erfüllt, verarbeite das Paket auf diese Weise.“ Die Regeln werden in der Paketfiltertabelle im Kernelspeicher gespeichert. Diese Regeln geben die Quelladresse, die Zieladresse, das Transportprotokoll (z. B. TCP, UDP, ICMP) und den Diensttyp (z. B. HTTP, FTP und SMTP) an. Wenn Datenpakete den Regeln entsprechen, verarbeitet iptables sie entsprechend den durch die Regeln definierten Methoden, wie etwa Akzeptieren, Ablehnen und Verwerfen. Die Hauptaufgabe bei der Konfiguration einer Firewall besteht darin, diese Regeln hinzuzufügen, zu ändern und zu löschen.

Wenn der Client auf den Webdienst des Servers zugreift, sendet der Client eine Nachricht an die Netzwerkkarte, und der TCP/IP-Protokollstapel ist Teil des Kernels. Daher werden die Informationen des Clients über das TCP-Protokoll des Kernels im Benutzerbereich an den Webdienst übertragen. Zu diesem Zeitpunkt ist das Zielziel der Clientnachricht der vom Webdienst überwachte Socket (IP: Port). Wenn der Webdienst auf die Anforderung des Clients antworten muss, ist das Zielziel der vom Webdienst gesendeten Antwortnachricht der Client. Zu diesem Zeitpunkt werden die vom Webdienst überwachte IP und der Port zum Ursprung. Wir haben gesagt, dass Netfilter die eigentliche Firewall ist. Es ist Teil des Kernels. Wenn wir also möchten, dass die Firewall den Zweck der „Brandverhütung“ erreicht, müssen wir im Kernel Ebenen einrichten. Alle eingehenden und ausgehenden Nachrichten müssen diese Ebenen durchlaufen. Nach der Überprüfung können nur diejenigen freigegeben werden, die die Freigabebedingungen erfüllen, und diejenigen, die die Sperrbedingungen erfüllen, müssen gesperrt werden. Infolgedessen erscheinen Eingabe- und Ausgabeebenen, und diese Ebenen werden in iptables nicht als „Ebenen“, sondern als „Ketten“ bezeichnet.

Dies ist das Ende dieses Artikels mit einer detaillierten Erklärung der Wissenspunkte zu Linux Netfilter/Iptables. Weitere verwandte Inhalte zu Linux - Netfilter/Iptables finden Sie in den vorherigen Artikeln von 123WORDPRESS.COM oder in den folgenden verwandten Artikeln. Ich hoffe, dass jeder 123WORDPRESS.COM in Zukunft unterstützen wird!

<<:  So verwenden Sie die Vue-Timeline-Komponente

>>:  Detaillierte Analyse von MySQL-Deadlock-Problemen

Artikel empfehlen

So installieren Sie PostgreSQL11 auf CentOS7

Installieren Sie PostgreSQL 11 auf CentOS 7 Postg...

Ausführliche Erklärung des Sperrmechanismus in MySQL InnoDB

Vorne geschrieben Eine Datenbank ist im Wesentlic...

So zeigen Sie das MySQL-Binlog (Binärprotokoll) an

Wenn Sie beispielsweise eine neue Tabelle erstell...

So ändern Sie MySQL, um Remoteverbindungen zuzulassen

In Bezug auf die MySQL-Remoteverbindung stoßen wi...

Konfigurieren Sie die Java-Entwicklungsumgebung in Ubuntu 20.04 LTS

Laden Sie das Java Development Kit jdk herunter D...

CentOS 7.x Docker verwendet die Overlay2-Speichermethode

Bearbeiten Sie /etc/docker/daemon.json und fügen ...

Der Unterschied zwischen this.$router und this.$route in Vue und der push()-Methode

Im offiziellen Dokument heißt es: Durch Einfügen ...

Implementierungsideen für die Synchronisierung von Docker-Registry-Images

Einleitung Bisher wurden unsere Docker-Images in ...

Detaillierte Erklärung der Destrukturierungszuweisung in JavaScript

Inhaltsverzeichnis Konzept Array-Destrukturierung...

Eine kurze Diskussion über den JavaScript-Bereich

Inhaltsverzeichnis 1. Geltungsbereich 1. Globaler...