1. Einführung
Dokumentationen über
Firewall, Netfilter und
iptables
gibt es wie Sand am Meer. Jedoch hatte ich selbst Probleme die
'richtige' zu finden. Es gab immer wieder Verständnisprobleme und
auch Widersprüche. Daher habe ich mir die Arbeit gemacht die
Informationen über
iptables,
die ich per Google und in Newsgroups fand, in dieser Howto
niederzuschreiben.
Eigentlich müsste diese Howto
Netfilter-Howto
heissen. Da den meisten jedoch eher
iptables
ein Begriff ist, wählte ich diesen Namen.
iptables ist jedoch 'nur' ein
Programm zum Konfigurieren der
Netfilter.
Die
Netfilter (auch
Paketfilter genannt) sind seit
längerem ein fester Bestandteil von Linux. Das Programm
iptables wird seit der
Kernelversion 2.4 benutzt. Die Vorgänger waren
ipchains und
ipfadm.
In den folgenden Beispielen werde ich
nicht
die perfekte Firewall beschreiben. Ich versuche jedem Leser die
Benutzung von
iptables zu
erläutern. Es soll jeder später verstehen, wie man einen
Paketfilter setzt oder was mit
diesen
Ketten und
Regeln gemeint ist. Dabei gehe ich
davon aus, dass
iptables auf
einem
Linux-Gateway
eingesetzt wird. Es sollten auch Linux- und grundlegende
Netzwerk-Kenntnisse vorhanden sein. U.a. sollte man:
- wissen was IPs sind
- wie man einen Ping
versendet und was das ist
- Simple Scripte
erstellen können
- ggf. einen Kernel kompilieren
können
Es sollten wenn möglich zwei Rechner vorhanden sein, von denen
einer über zwei Netzwerkadapter (z.B.
LAN und
ISDN) verfügt. In meiner Howto
und den Beispielen gehe ich von folgendem Netzwerk aus:
Netzwerk:
Adresse: 192.168.0.0/24
Server/ Gateway:
OS: Linux, Kernel 2.6 (2.4 geht auch)
LAN-IP: 192.168.0.1
Internet-IP: 145.253.22.11
Client:
OS: egal
LAN-IP: 192.168.0.2
Gateway: 192.168.0.1
Anm.: die Konfiguration findet nur auf dem Gateway statt. Der Client dient nur
zum Testen der Einstellungen.
1.1 Ablehnungshinweise und Copyright
Dieses Dokument wurde von mir
geschrieben, weil ich selbst keine sinnvolle Step-by-Step-Dokumentation
über die Einstellungen finden konnte. Man ist selbst dafür
verantwortlich, was mit der
eigenen Hardware geschieht. Falls die Hardware in Rauch und Flammen
aufgeht (...nahezu unmöglich!) übernehme ich dafür keine
Verantwortung. DER AUTOR ÜBERNIMMT KEINE HAFTUNG FÜR
EVENTUELLE
FOLGESCHÄDEN AUFGRUND DER ANWENDUNG DER IN DIESEM DOKUMENT
BEREITGESTELLTEN INFORMATIONEN.
Falls Sie beabsichtigen, dieses
Dokument in eine Veröffentlichung aufzunehmen, nehmen Sie bitte
Kontakt zu mir auf. Ich werde dann mein Möglichstes tun, Ihnen die
aktuellsten Informationen zur Verfügung zu stellen. In der
Vergangenheit wurden längst überholte Versionen von
Linux-HOWTO-Dokumenten veröffentlicht, was den Entwicklern
ständigen Kummer bereitete, da sie mit Fragen gequält wurden,
die in den neueren Versionen bereits beantwortet waren.
Das Dokument darf gemäß der
GNU General Public
License verbreitet werden. Insbesondere bedeutet dieses,
daß der Text sowohl über elektronische wie auch
physikalische
Medien ohne die Zahlung von Lizenzgebühren verbreitet werden darf,
solange dieser Copyright Hinweis nicht entfernt wird. Eine kommerzielle
Verbreitung ist erlaubt und ausdrücklich erwünscht. Bei einer
Publikation in Papierform ist Dirk
Bender hierüber zu zu informieren.
1.2 Weitere Dokumentationen
Diese Howto ist kein Ersatz für
die Man-Pages. Sie soll nur als Erkärung dienen. Die
nächstbeste Informationsquelle sind die Dokumentationsdateien, die
mit Linux selbst ausgeliefert werden. Es gibt bereits einige davon und
die meisten können im Verzeichnis
/usr/doc und seinen
Unterverzeichnissen gefunden werden. Weiterhin sollte auch die
Manualpage (
man iptables)
benutzt werden. Auch auf meiner Homepage (
Linux Dokumentationen)
sind einige Dokumentationen über Linux, Netzwerk usw.
zusammgengestellt.
1.3 Linux Newsgruppen
Falls die oben genannten
Dokumentationen und diese HOWTO die Fragen nicht klären
können, dann kann man sich an die Linux-Newsgruppen wenden.
Natürlich sollte man es zuerst mit der Lektüre der Newsgruppe
versuchen, anstatt blindlings eine Frage zu schicken. Es ist
nämlich gut möglich, daß dieselbe Frage bereits
gestellt
wurde.
1.4 Neue Versionen dieses Dokuments
Neue Versionen dieses Dokuments erhält man auf meiner Homepage:
Linux
Dokumentationen