In IPtables gibt es drei Arten von Tabellen:
. filter
. nat
. mangle
Diese \"tables\" haben den Zweck, die verschiedenen Arten der Paketbehandlung auf Module zu verteilen und nur die Module zu laden, die grade bzw. für die gestellte Anforderung benötigt werden.
Jeder dieser Tabellen erthält eigene Regeln.
filter
Die Standard-Tabelle ist filter, die immer dann verwendet wird, wenn keine andere Tabelle ausdrücklich angegeben wird, deswegen schauen wir sie uns auf der nächsten Seite genauer an.
Diese Tabelle besteht aus den Chains (Ketten): INPUT, FORWARD, OUTPUT.
Man kann aber noch (wie gesagt) benutzerdefinierte Chains hinzufügen.
nat
Die Tabelle nat dient der Network Adress Translation bzw. dem Port-Forwarding.
Sie besteht aus den chains: PREROUTING, OUTPUT und POSTROUTING.
Diese Chains werden für jedes erste Paket einer neuen Verbindung aufgerufen und führen Änderungen an den Port-Nummern oder an den IP-Nummern der Pakete durch.
mangle
In der Tabelle mangle können tiefer greifende Änderungen an den Paketen vorgenommen werden. Die Pakete können markiert werden oder eine TOS (Type of Service Bits) Manipulation kann vorgenommen werden.
Diese Tabelle besteht aus den Chains: PREROUTING und OUTPUT.
Diese Tabellen gibt es nur wenn Regeln in diesen Tabellen angelegt worden sind.
Das bedeutet, dass die Effizienz eines solchen Paketfilters eventl. sehr hoch sein kann.
Denn wenn man nur einfache Filterfunktionen nutzt, müssen die nicht vorhandenen Tabellen gar nicht erst geladen und durchlaufen werden. Das spart halt Zeit.
Ex muss aber sehr auf den Zusammenhang zwischen Tabellen und Ketten (tables/Chains) geachtet werden. Um darüber Überblick zu schaffen habe ich diesem Thema eine Seite gewidmet, später mehr dazu. |