iptables - Die Firewall des Kernels 2.4
Aktionen bei erfolgreicher Maskierung:
| -j <ziel> | Bestimmt, was nach Erfüllung der vorher spezifizierten Regel passieren soll. Fehlt dieser Parameter, hat die zugrunde liegende Regel keine Auswirkung. | |
| ACCEPT | Paket annehmen. | |
| DROP | Paket vernichten, keine Benachrichtigung des Absenders. | |
| QUEUE | Einreihen des Pakets in eine Warteschlange für einen Benutzerprozeß. | |
| RETURN | diese Chain verlassen und beim Aufrufer fortsetzen bzw. die Policy der Chain ausführen. | |
| zusätzlich als Module realisiert (extra Hilfe mit -h): | ||
| LOG | Paketdaten in das System-Log eintragen, Regeln in dieser Chain normal fortsetzen. | |
| MARK | Das Paket mit einer optional anzugebenden Zahl markieren. Dies kann in nachfolgenden Regeln getestet werden. | |
| MASQUERADE | Dieses geroutete Paket bekommt als Absende-Adresse die IP-Nummer und einen beliebigen Port des ausgehenden Interfaces. Damit lassen sich bei Wählverbindungen mit nur einer IP-Adresse mehrere Rechner über einen Router an nur eine Wählverbindung koppeln. Beim Löschen des Interfaces mit der "Leih-IP Nummer" werden alle gemerkten Daten vergessen. | |
| REJECT | Ähnlich DROP wird das Paket abgewiesen, jedoch erhält der Absender eine Antwort auf das Paket. | |
| TCPMSS | Bietet spezielle Optionen, die Datenmenge je Paket zu beschränken. Leider fand ich keine vernünftige Doku dazu. | |
| TOS | Mit diesem Ziel läßt sich das 8-bit breite Type of Service Feld des IP-Headers setzen. | |
| MIRROR | Experimentelles Ziel, das Quelle und Ziel vertauscht. Damit scannt ein "Bösewicht" sich selbst. | |
| REDIRECT | Dieses Ziel sorgt dafür, daß das Paket an den lokale Rechner zugestellt wird. Hiermit lassen sich Pakete an "Phantasie-Ziele" abfangen und lokal behandeln. | |
| SNAT | Dieses Ziel ändert die Quell-IP Adresse (und evtl. den Port) eines Paketes. Alle nachfolgenden Pakete dieser Verbindung werden genauso geändert. Dieses Ziel erfüllt fast die gleiche Aufgabe wie MASQUERADE, doch sollte SNAT bei festen IP-Nummern verwendet werden. | |
| DNAT | Mit diesem Ziel wird die Ziel-IP Adresse eines Paketes und allen nachfolgenden Paketen dieser Verbindung geändert. | |
Welche Ziele sind wo erlaubt?
Das wohl Verwirrendste an iptables ist, sich aus jeder Menge Fließtext zusammenzureimen, welche "table" aus welchen "chains" besteht und welche "targets" nun gerade in welcher Kombination aus "table" und "chain" erlaubt bzw. möglich sind. Ich habe versucht, alle Kombinationen zu finden, die sinnvoll sind, bzw. im Fließtext der man-pages herauszulesen waren. Sollte diese Tabelle nicht ganz korrekt sein, bin ich dankbar für eine kurze Nachricht.
Die mit (*) gekennzeichneten "targets" sind jeweils die default-Option.
| filter | nat | mangle | |
| INPUT | ACCEPT (*) DROP QUEUE RETURN LOG REJECT MIRROR | - | - |
| PREROUTING | - | ACCEPT (*) MIRROR DNAT REDIRECT | ACCEPT (*) MARK TOS |
| FORWARD | ACCEPT (*) DROP QUEUE RETURN LOG REJECT MIRROR | - | - |
| POSTROUTING | - | ACCEPT (*) SNAT MASQUERADE | - |
| OUTPUT | ACCEPT (*) DROP QUEUE RETURN LOG REJECT | ACCEPT (*) DNAT REDIRECT | ACCEPT (*) MARK TOS |
Stateless Firewalling - Filterregeln
Diese Funktionen stellen das Grundgerüst eines Paketfilters dar. Fast alle Funktionen dieser Art gab es bei den Vorgängern bereits. Nur eben die Syntax ist ein bißchen anders als gewohnt.
Alle Stateless-Funktionen werden in der filter-Tabelle in den Chains INPUT, OUTPUT und FORWARD vorgenommen.
| INPUT | Hier stehen Regeln zum Schutz des lokalen Rechners |
| OUTPUT | evtl. fehlkonfigurierte Programme "taub" machen |
| FORWARD | zum Schutz von Rechnern, zu denen geroutet werden muß |
Aufrufkonventionen:

