Mit den Befehlen zum Anhängen (-A) oder Löschen (-D) einer Regel
stehen die grundlegenden Kommandos zur Verfügung. Weitere
Befehle zum Einfügen (-I) und zum Ersetzen (-R) sind einfache
Erweiterungen, die das Leben manchmal erleichtern und die
dennoch kaum gebraucht werden.
Jede Regel definiert eine Menge von Bedingungen, die ein
eintreffendes Paket erfüllen muss, und ein Ziel (target),
welches das weitere Schicksal des Paketes bestimmt.
Zum Beispiel:
Es sollen alle ICMP-Pakete (z.B. von ping generiert)
verworfen werden, die vom lokalen Rechner 127.0.0.1
stammen:
Bedingungen: Protokoll ICMP und Quelladresse 127.0.0.1
Ziel: ist Verwerfen (DROP).
Ping sendet einen echo request (ICMP Typ 8) und
alle kooperierenden Hosts antworten darauf
verbindlich mit einem echo reply (ICMP Typ 0).
ohne Filter
root@linux #
ping -c 1 127.0.0.1
PING 127.0.0.1 (127.0.0.1): 56 data bytes 64 bytes from 127.0.0.1: icmp_seq=0 ttl=64 time=0.2 ms
--- 127.0.0.1 ping statistics --- 1 packets transmitted, 1 packets received, 0% packet loss round-trip min/avg/max = 0.2/0.2/0.2 ms
|
Jetzt wird die INPUT-Kette um eine Regel erweitert (-A), so dass
Pakete, die von 127.0.0.1 (-s 127.0.0.1) kommen und das
Protokoll ICMP (-p icmp) verwenden, zu verwerfen
sind (-j DROP):
root@linux #
iptables -A INPUT -s 127.0.0.1 -p icmp -j DROP
|
Test
root@linux #
ping -c 1 127.0.0.1
PING 127.0.0.1 (127.0.0.1): 56 data bytes
--- 127.0.0.1 ping statistics --- 1 packets transmitted, 0 packets received, 100% packet loss
|
Die Regel scheint zu funktionieren. Doch wie löscht man nun
diese Regel wieder? Wenn die Position der Regel in der Kette
bekannt ist (in diesem Fall gibt es nur die eine
Regel, deshalb Position 1), kann man diese Position
als Parameter verwenden:
root@linux #
iptables -D INPUT 1
|
Sollte die Position jedoch nicht bekannt sein, so muss man die
Regel nochmals vollständig angeben, also genau wie beim Anhängen
der Regel, nur das anstelle des Befehls -A
der Befehl -D steht:
root@linux #
iptables -D INPUT -s 127.0.0.1 -p icmp -j DROP
|
Wenn die Regel mehrfach in Regelkette aufgenommen wurde, so wird
nur die erste gelöscht. Man sollte also IMMER nach dem Entfernen
nochmals alles kontrollieren! (In diesem Falle also mit ping)
|