Was ist iptables?

Bei iptables handelt es sich um ein Userspace-Programm, um so genannte “tables” – also Tabellen, welche im Linux-Kernel durch eine Firewall bereit gestellt werden – zu konfigurieren.
Dieses Programm wurde früher zusammen mit Netfilter entwickelt, so dass die beiden sich in den Anfängen sehr ähnelten. Iptables ist aus dem damaligen ipchains entstanden und wird seit Kernel 2.4 mitgeliefert.

iptables Linux

iptables Linux

Iptables enthalten Ketten und Regeln, also genau die gleiche Grundidee wie ipfwadm und ipchains. Bei diesen Regeln handelt sich sich um Listen, die angeben, was genau in einem bestimmten Paket überprüft werden soll und was nicht und was je nach Ergebnis dieses Tests mit dem Paket geschehen soll. Durch ipchains wurden Ketten mit implementiert, die mittlerweile zu Tabellen erweitert worden sind. Diese Tabellen haben verschiedenen Zuständigkeiten. Eine Tabelle ist zum Beispiel für Network Address Translation (NAT) zuständig.
Dabei ist NAT ein zusammengefasster Begriff für ein Verfahren, bei dem automatisch Adressinformationen in Datenpaketen durch andere ersetzt werden, um verschiedenen Netze miteinander zu verbinden. Ein typischer Einsatzort dafür sind zum Beispiel Router. Eine weitere Tabelle kümmert sich um die Filterung.

Dabei beschränkt sich iptables auf das altbewährte IPv4 Protokoll, welches 32 Bit-Adressen verwendet. Für das IPv6 Protokoll wird z.B. ip6tables verwendet. So gibt es für verschiedene Protokolle verschiedene “tables”. Details dazu gibt es beim lokalen Linux-Dienstleister.
Iptables muss immer als “root” ausgeführt werden, da es verschiedene Rechte und Privilegien benötigt, die es sonst nicht hat. Meistens ist iptables in den verschiedenen Linux-Systemen unter /usr/sbin/iptables zu finden.

Es gab drei Punkte, an denen die Pakete gefiltert wurden. Mittlerweile wurde das so geändert, dass jedes Paket nur noch an einer Stelle gefiltert wird.
Iptables unterscheidet sich in einem bedeutsamen Punkt von ipchains. Es bietet mehr Möglichkeiten, da es zum Beispiel den Zustand einer Verbindung überwachen kann und sogar Zugriff auf diese Verbindung und die Pakete hat (z.B.: Verbindung umleiten oder einzelne Daten manipulieren).

Dabei ist es wichtig, wo das Paket seinen Ursprung hat. Denn daraus folgt, in welcher Kette die Abarbeitung des Paketes beginnt. Dabei gibt es fünf vordefinierte Ketten. Diese vordefinierten Ketten haben eine Policy im Gegensetz zu benutzerdefinierten Ketten. Jedoch muss eine Tabelle nicht unbedingt jede von diesen fünf Ketten enthalten.

Schlagwörter: 
Share →

Hinterlasse eine Antwort

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind markiert *

*

Du kannst folgende HTML-Tags benutzen: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>