Login
Immer anmelden
SSL Login

 
Newsletter
Werbung
Shopping
International Shopping
 
 


Yatego Shopping bei über 10000 Händlern und über
3 Mio. Artikel.


Linux

:

Linux-Bücher

Handy
Shop

  und Computer.

Viele Services

:

Apple iPad Reader,


Ratgeber,

 

Techniktops,

 

Yatego Clicks

  & über 3000

Gutscheine.

 
So, 4. November 2001, 00:00

iptables - Die Firewall des Kernels 2.4

Datei-Architektur von iptables:

Obwohl "iptables" scheinbar nur aus einer ausführbaren Datei besteht, sind dennoch zahlreiche kleine "Helferlein" in Form von Kernel-Modulen an seiner Arbeit beteiligt.

Die Verzeichnisse /lib/modules/2.4.?/kernel/net/ipv4/netfilter und /lib/modules/2.4.?/kernel/net/ipv6/netfilter/ geben einen kleinen Eindruck von den beteiligten Kernel-Modulen.

Die Module "ipchains" und "ipfwadm" sind Kompatibilitäts-Module, die gestatten, daß trotz Kernel 2.4 immer noch mit "ipchains" oder "ipfwadm" gearbeitet werden kann. Sollte "iptables" nicht funktionieren, wie z.B. bei SuSE 7.2, so liegt das meist daran, daß in einem Initialisierungs-Skript das Kernel-Modul "ipchains" geladen wurde.

root@kruemel:~ > <strong>iptables -L</strong>
/lib/modules/2.4.4-4GB/kernel/net/ipv4/netfilter/ip_tables.o:
init_module: Device or resource busy
Hint: insmod errors can be caused by incorrect module parameters,
including invalid IO or IRQ parameters
/lib/modules/2.4.4-4GB/kernel/net/ipv4/netfilter/ip_tables.o:
insmod ip_tables.o failed
/lib/modules/2.4.4-4GB/kernel/net/ipv4/netfilter/ip_tables.o:
insmod ip_tables failed
iptables v1.2.1a: can't initialize iptables table `filter':
iptables who? (do you need to insmod?)
Perhaps iptables or your kernel needs to be upgraded.
root@kruemel:~ > <strong>lsmod</strong>
<em>... einige Zeilen verschluckt</em>
pcmcia_core 43936 0 &#91;ds i82365&#93;
ipchains 33408 0 (unused)
usbcore 47120 1 &#91;hid usb-ohci&#93;
root@kruemel:~ > <strong>rmmod ipchains</strong>
root@kruemel:~ > <strong>iptables -L</strong>
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
root@kruemel:~ > <strong>warum nicht gleich so?</strong>
bash: warum: command not found
root@kruemel:~ >

Aufruf-Konventionen von iptables (Schnelleinstieg)

Grundsätzlich gilt:

  • Kommandos bestehen aus einem GROSS-Buchstaben, z.B. -L oder einer Lang-Form z.B. --list
  • Targets (d.h. Ziele oder Aktionen) bestehen aus einem Wort in GROSS, z.B. DROP
  • Chains bestehen aus einem Wort in GROSS, z.B. PREROUTING
  • Tabellen sind Worte in Kleinbuchstaben, z.B. filter
  • Optionen bestehen aus Kleinbuchstaben, z.B. -t oder --source-port

Liste der Kommandos (nur Kurzform)

!Ein vorangestelltes "!" bedeutet Negation, d.h. der nachfolgende Parameter darf nicht mit den Daten eines Paketes übereinstimmen. Ohne "!" wird stets auf Übereinstimmung getestet.
[...]Alle in eckigen Klammern stehenden Werte sind optional
<...>Das in spitzen Klammern stehende Wort steht stellvertretend für den stattdessen einzusetzenden Inhalt

 

-A <chain> <regel>Anfügen einer neuen Regel am Ende einer Chain/Tabelle
-D <chain> <regel>Löschen einer Regel aus einer Chain/Tabelle
-C <chain> <regel>Testen eines Paketes mit bestimmten Bedingungen auf eine Chain/Tabelle
-R <chain> <nr> <regel>Ersetzen einer Regel durch eine neue
-I <chain> <nr> <regel>Einfügen einer Regel in eine Tabelle/Chain
-L [<chain>]Auflisten aller Regeln einer Tabelle/Chain evtl. mit -Z
-F [<chain>]Alle Regeln einer Chain löschen
-Z [<chain>]Löschen der Zähler einer Chain
-N <chain>Neue benutzerdefinierte Chain anlegen
-X <chain>Benutzerdefinierte Chain löschen
-P <chain> <ziel>Standardverhalten einer Chain festlegen
-E <chain> <chain-neu>Umbenennen einer Chain

Generelle, begleitende Optionen

-t <tabelle>Auswahl einer Tabelle (filter, nat, mangle); "filter" ist die Standard-Tabelle, falls diese Option nicht gewählt wurde. Hierbei wird das diese Tabelle "managende" Modul [iptable_<tabelle>] geladen, sofern der Kernel mit automatischem Modul-Loading konfiguriert ist.
-vMehr ausgeben...
-nNumerische Ausgaben bei Auflistungen
-xExakte Zahlenangeben anstelle von Kilo, Mega, Giga...
-hHilfe-Meldungen und Optionen ausgeben (in Verbindung mit -m oder -j werden die mit dem jeweiligen Modul zur Verfügung stehenden zusätzlichen Optionen angezeigt).
-m <modul>Zusätzliche Optionen bereitstellen, die im angegebenen Modul verankert sind. Hierbei wird der Modulname ohne vorangestelltes "ipt_" und ohne Erweiterung angegeben (z.B. "mac" zum Laden des Moduls "ipt_mac.o"). Besonders hilfreich ist in diesem Zusammenhang die Hilfe-Funktion (-h), die in Verbindung mit einem Modul dessen Parameter und Optionen auflistet.

Auswahl von Paketen

-p [!] <protokoll>Spezifiziert ein zu testendes Protokoll (tcp, udp, icmp) bzw. einen numerischen Wert gemäß /etc/protocols.
-s [!] <adresse>[/<maske>]Angabe einer Quell-IP Adresse wahlweise mit Maske. Die Maske kann als Anzahl der gültigen Bits (0-32) oder als Subnetzmaske der Form 255.255.255.0 o.ä. angegeben werden.
-d [!] <adresse>[/<maske]Angabe der Ziel-IP Adresse. Syntax genau wie bei -s
-i [!] <interface>Spezifiziert die Schnittstelle, durch die das Paket gekommen ist. Endet der Name mit einem "+", so werden alle Schnittstellen, die mit dem vorangehenden Namen beginnen, getestet.
-o [!] <interface>Spezifiziert die Schnittstelle, durch die das Paket gehen wird. Endet der Name mit einem "+", so werden alle Schnittstellen, die mit dem vorangehenden Namen beginnen, getestet.
[!] -fFragmente von IP-Paketen treffen. Da es sich um Fragmente von IP-Paketen handelt, gibt es keine Möglichkeit, deren Quell- oder Ziel-IP oder -Port zu bestimmen. Deswegen greifen andere Bedingungen nicht.
Kommentare (Insgesamt: 0 || Kommentieren )
Pro-Linux
Newsletter
Neue Nachrichten