Good to Know Database

iptables: Filtern von IPv4-Adressen


Wenn Sie den Zugriff auf einen Linux-Server einem einzelnen Client oder einem ganzen IPv4-Adressraum verbieten wollen, hilft Ihnen das Netfilter-Administrationsprogramm iptables weiter. Mit Hilfe des folgenden Befehls können Sie eine neue Regel zur INPUT-Chain der Linux-Firewall hinzufügen, welche alle eingehenden Pakete von der IPv4-Adresse 192.168.10.10 ohne Rückmeldung an den Absender verwirft.

[root@centos5 ~]# iptables -I INPUT -s 192.168.10.10 -j DROP

Da die Firewall-Regeln von oben nach unten ausgewertet werden, könnte bereits von einer vorhergehenden Regel der Zugriff erlaubt worden sein. Aus diesem Grund wir die neue Regel mit der Option -I am Anfang der INPUT-Chain eingefügt. Sollten Sie weitere Regeln zur INPUT-Chain hinzufügen, beachten Sie bitte unbedingt die Reihenfolge der einzelnen Regeln.

Mit der Option -L listet iptables die Regeln der angegebenen Chain auf.

[root@centos5 ~]# iptables -L INPUT
Chain INPUT (policy ACCEPT)
target     prot opt source               destination
DROP       all  --  192.168.10.10        anywhere
RH-Firewall-1-INPUT  all  --  anywhere             anywhere

Die erstellte Firewall-Regel können Sie durch den folgenden Befehl wieder löschen.

[root@centos5 ~]# iptables -D INPUT -s 192.168.10.10 -j DROP

Bisher wurde nur eine einzelne IPv4-Adresse gefiltert, der nachfolgende Befehl sorgt dafür, dass das gesamte IPv4-Segment 192.168.10.0/24 (192.168.10.0 bis 192.168.10.255) ausgesperrt wird.

[root@centos5 ~]# iptables -I INPUT -s 192.168.10.0/24 -j DROP
[root@centos5 ~]# iptables -L INPUT
Chain INPUT (policy ACCEPT)
target     prot opt source               destination
DROP       all  --  192.168.10.0/24      anywhere
RH-Firewall-1-INPUT  all  --  anywhere             anywhere

Gelöscht wird diese Regel wieder mit der Option -D.

[root@centos5 ~]# iptables -D INPUT -s 192.168.10.0/24 -j DROP

Den Zugriff für einen festgelegten IPv4-Bereich (hier 192.168.10.10 bis 192.168.10.20) können Sie mit der folgenden Firewall-Regel verbieten.

[root@centos5 ~]# iptables -I INPUT -m iprange --src-range 192.168.10.10-192.168.10.20 -j DROP
[root@centos5 ~]# iptables -L INPUT
Chain INPUT (policy ACCEPT)
target     prot opt source               destination
DROP       all  --  anywhere             anywhere            source IP range 192.168.10.10-192.168.10.20
RH-Firewall-1-INPUT  all  --  anywhere             anywhere

Zum Löschen der Regel ersetzen Sie die Option -I wieder durch -D.

[root@centos5 ~]# iptables -D INPUT -m iprange --src-range 192.168.10.10-192.168.10.20 -j DROP

Das letzte Beispiel hat alle Clients mit den IPv4-Adressen von 192.168.10.10 bis 192.168.10.20 ausgesperrt. Der folgende Befehl verbietet jedem Client, welcher nicht eine IPv4-Adresse zwischen 192.168.10.10 und 192.168.10.20 besitzt, den Zugriff auf das Linux-System. Diese Invertierung der Bedingung erreichen Sie durch das Ausrufezeichen, welches Sie auch bei den anderen Regeln verwenden können.

[root@centos5 ~]# iptables -I INPUT -m iprange ! --src-range 192.168.10.10-192.168.10.20 -j DROP
hoho
[root@centos5 ~]# iptables -L INPUT
Chain INPUT (policy ACCEPT)
target     prot opt source               destination
DROP       all  --  anywhere             anywhere            source IP range ! 192.168.10.10-192.168.10.20
RH-Firewall-1-INPUT  all  --  anywhere             anywhere

Das Löschen der Firewall-Regel erfolgt wie bereits mehrmals gezeigt mit der Option -D.

[root@centos5 ~]# iptables -D INPUT -m iprange ! --src-range 192.168.10.10-192.168.10.20 -j DROP
hoho

Weiterführende Tutorials

iptables: IPv4-Firewall-Regeln dauerhaft speichern


Dieser Eintrag wurde am 03.08.2009 erstellt und zuletzt am 24.01.2016 bearbeitet.

Direkter Link zu dieser Seite: http://www.gtkdb.de/index_7_716.html

[ Zur Startseite ]   [ Zur Kategorie ]


Valid XHTML 1.0 Transitional Valid CSS Valid Atom 1.0

© 2004-2018 by Georg Kainzbauer