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

Ausführliche Erklärung zu MySQL vom Einstieg bis zum Aufgeben - Installation

Was Sie lernen werden 1. Softwareinstallation und...

CSS-Ansichtsfenstereinheiten für schnelles Layout

CSS-Viewport-Einheiten gibt es schon seit einigen...

Zusammenfassung der XHTML-Tags auf Blockebene

* Adresse - Adresse * Blockzitat - Blockzitat * Mi...

Detaillierte Analyse jeder Phase der HTTP-Anforderungsverarbeitung von Nginx

Beim Schreiben des HTTP-Moduls von nginx müssen d...

Native JS-Implementierung des Ladefortschrittsbalkens

Dieser Artikel zeigt einen Spezialeffekt für dyna...

Beispiel für eine einfache Operation einer MySQL-Abfrageanweisung

Dieser Artikel veranschaulicht anhand von Beispie...

So löschen Sie Dateinamen oder Verzeichnisse mit Sonderzeichen in Linux

Löschen einer Datei anhand ihrer Inode-Nummer Ver...

Mysql 5.6.37 Winx64-Installation Dual-Version MySQL-Hinweise

Wenn MySQL Version 5.0 bereits auf dem Computer v...

Implementierung einer Login-Seite basierend auf layui

In diesem Artikelbeispiel wird der spezifische Co...