GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Linux-Firewall-Tutorial:IPTables-Tabellen, -Ketten, -Regelgrundlagen

Die iptables-Firewall wird verwendet, um Paketfilterung und NAT-Regeln zu verwalten. IPTables wird mit allen Linux-Distributionen geliefert. Wenn Sie wissen, wie Sie iptables einrichten und konfigurieren, können Sie Ihre Linux-Firewall effektiv verwalten.

Das iptables-Tool wird verwendet, um die Linux-Firewall-Regeln zu verwalten. Auf den ersten Blick mögen iptables komplex (oder sogar verwirrend) aussehen. Aber sobald Sie die Grundlagen verstanden haben, wie iptables funktioniert und wie es strukturiert ist, wird das Lesen und Schreiben von iptables-Firewall-Regeln einfach sein.

Dieser Artikel ist Teil einer fortlaufenden iptables-Tutorial-Serie. Dies ist der erste Artikel in dieser Serie.

Dieser Artikel erklärt, wie iptables strukturiert ist, und erläutert die Grundlagen von iptables-Tabellen, -Ketten und -Regeln.

Auf einer höheren Ebene kann iptables mehrere Tabellen enthalten. Tabellen können mehrere Ketten enthalten. Ketten können integriert oder benutzerdefiniert sein. Ketten können mehrere Regeln enthalten. Für die Pakete werden Regeln definiert.

Die Struktur ist also:iptables -> Tabellen -> Ketten -> Regeln. Dies wird im folgenden Diagramm definiert.


Abb. :IPTables-Tabelle, -Kette und -Regelstruktur

Um es noch einmal zu wiederholen:Tabellen sind ein Bündel von Ketten und Ketten sind ein Bündel von Firewall-Regeln.

Ich. IPTABLES-TABELLEN und -KETTEN

IPTables hat die folgenden 4 eingebauten Tabellen.

1. Filtertabelle

Filter ist Standardtabelle für iptables. Wenn Sie also keine eigene Tabelle definieren, verwenden Sie die Filtertabelle. Die Filtertabelle von Iptables hat die folgenden eingebauten Ketten.

  • INPUT-Kette – Eingehend an der Firewall. Für Pakete, die zum lokalen Server kommen.
  • OUTPUT-Kette – Ausgehend von der Firewall. Für lokal generierte Pakete, die den lokalen Server verlassen.
  • FORWARD-Kette – Paket für eine andere Netzwerkkarte auf dem lokalen Server. Für Pakete, die über den lokalen Server geleitet werden.

2. NAT-Tabelle

Die NAT-Tabelle von Iptable hat die folgenden eingebauten Ketten.

  • PREROUTING-Kette – Ändert Pakete vor dem Routing. d.h. die Paketübersetzung erfolgt unmittelbar nachdem das Paket im System ankommt (und vor dem Routing). Dies hilft, die Ziel-IP-Adresse der Pakete in etwas zu übersetzen, das mit dem Routing auf dem lokalen Server übereinstimmt. Dies wird für DNAT (Destination NAT) verwendet.
  • POSTROUTING-Kette – Ändert Pakete nach dem Routing. d.h. die Paketübersetzung findet statt, wenn die Pakete das System verlassen. Dies hilft, die Quell-IP-Adresse der Pakete in etwas zu übersetzen, das möglicherweise mit dem Routing auf dem Zielserver übereinstimmt. Dies wird für SNAT (Quell-NAT) verwendet.
  • OUTPUT-Kette – NAT für lokal generierte Pakete auf der Firewall.

3. Mangeltisch

Die Mangle-Tabelle von Iptables ist für spezialisierte Paketänderungen vorgesehen. Dies ändert QOS-Bits im TCP-Header. Die Mangle-Tabelle hat die folgenden eingebauten Ketten.

  • PREROUTING-Kette
  • OUTPUT-Kette
  • FORWARD-Kette
  • INPUT-Kette
  • POSTROUTING-Kette

4. Rohtabelle

Die Raw-Tabelle von Iptable ist für Konfigurationsausnahmen vorgesehen. Rohtabelle hat die folgenden eingebauten Ketten.

  • PREROUTING-Kette
  • OUTPUT-Kette

Das folgende Diagramm zeigt die drei wichtigen Tabellen in iptables.

Abb. :Integrierte IPTables-Tabellen

II. IPTABLES-REGELN

Im Folgenden sind die wichtigsten Punkte für die iptables-Regeln aufgeführt.

  • Regeln enthalten ein Kriterium und ein Ziel.
  • Wenn die Kriterien erfüllt sind, geht es nach den im Ziel angegebenen Regeln (oder) führt die im Ziel genannten speziellen Werte aus.
  • Wenn die Kriterien nicht erfüllt sind, geht es weiter zur nächsten Regel.

Zielwerte

Im Folgenden sind die möglichen Sonderwerte aufgeführt, die Sie im Ziel angeben können.

  • AKZEPTIEREN – Die Firewall akzeptiert das Paket.
  • DROP – Firewall verwirft das Paket.
  • QUEUE – Die Firewall leitet das Paket an den Userspace weiter.
  • RETURN – Die Firewall stoppt die Ausführung des nächsten Satzes von Regeln in der aktuellen Kette für dieses Paket. Die Kontrolle wird an die aufrufende Kette zurückgegeben.

Wenn Sie iptables –list (or) service iptables status ausführen, sehen Sie alle verfügbaren Firewall-Regeln auf Ihrem System. Das folgende iptable-Beispiel zeigt, dass auf diesem System keine Firewall-Regeln definiert sind. Wie Sie sehen, zeigt es die Standard-Eingabetabelle mit der Standard-Eingabekette, Weiterleitungskette und Ausgabekette an.

# iptables -t filter --list
Chain INPUT (policy ACCEPT)
target     prot opt source               destination         

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination         

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination

Gehen Sie wie folgt vor, um die Mangle-Tabelle anzuzeigen.

# iptables -t mangle --list

Gehen Sie wie folgt vor, um die nat-Tabelle anzuzeigen.

# iptables -t nat --list

Gehen Sie wie folgt vor, um die Rohtabelle anzuzeigen.

# iptables -t raw --list

Hinweis:Wenn Sie die Option -t nicht angeben, wird die Standardfiltertabelle angezeigt. Die beiden folgenden Befehle sind also gleich.

# iptables -t filter --list
(or)
# iptables --list

Das folgende iptable-Beispiel zeigt, dass einige Regeln in der Eingabe-, Weiterleitungs- und Ausgabekette der Filtertabelle definiert sind.

# iptables --list
Chain INPUT (policy ACCEPT)
num  target     prot opt source               destination
1    RH-Firewall-1-INPUT  all  --  0.0.0.0/0            0.0.0.0/0

Chain FORWARD (policy ACCEPT)
num  target     prot opt source               destination
1    RH-Firewall-1-INPUT  all  --  0.0.0.0/0            0.0.0.0/0

Chain OUTPUT (policy ACCEPT)
num  target     prot opt source               destination

Chain RH-Firewall-1-INPUT (2 references)
num  target     prot opt source               destination
1    ACCEPT     all  --  0.0.0.0/0            0.0.0.0/0
2    ACCEPT     icmp --  0.0.0.0/0            0.0.0.0/0           icmp type 255
3    ACCEPT     esp  --  0.0.0.0/0            0.0.0.0/0
4    ACCEPT     ah   --  0.0.0.0/0            0.0.0.0/0
5    ACCEPT     udp  --  0.0.0.0/0            224.0.0.251         udp dpt:5353
6    ACCEPT     udp  --  0.0.0.0/0            0.0.0.0/0           udp dpt:631
7    ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0           tcp dpt:631
8    ACCEPT     all  --  0.0.0.0/0            0.0.0.0/0           state RELATED,ESTABLISHED
9    ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0           state NEW tcp dpt:22
10   REJECT     all  --  0.0.0.0/0            0.0.0.0/0           reject-with icmp-host-prohibited

Die Regeln in der Ausgabe des Befehls iptables –list enthalten die folgenden Felder:

  • num – Regelnummer innerhalb der jeweiligen Kette
  • target – Spezielle Zielvariable, die wir oben besprochen haben
  • prot – Protokolle. tcp, udp, icmp usw.,
  • opt – Spezielle Optionen für diese spezielle Regel.
  • source – Quell-IP-Adresse des Pakets
  • destination – Ziel-IP-Adresse für das Paket

Linux
  1. So blockieren Sie lokale gefälschte Adressen mit der Linux-Firewall

  2. So machen Sie iptables-Firewall-Regeln unter Debian/Ubuntu persistent

  3. Linux IPTables:So fügen Sie Firewall-Regeln hinzu (Beispiel:SSH zulassen)

  4. IPTables Flush:Alle Regeln auf RedHat und CentOS Linux löschen/entfernen

  5. 25 am häufigsten verwendete Beispiele für Linux-IPTables-Regeln

So konfigurieren Sie die iptables-Firewall unter Linux

50 nützliche und einfache IPtables-Regeln für Linux-Administratoren

Iptables-Tutorial für Anfänger – Schlüsselkonzepte

So sichern Sie eine Linux-Firewall mit IPTables-Regeln

Top 5 der besten Linux-Firewalls

So richten Sie eine Firewall auf Ihrem Linux-Server ein