Ipset
Zur Navigation springen
Zur Suche springen
IPSet mit iptables und nftables einsetzen
Ziel
IPSet ermöglicht das effiziente Verwalten vieler IP-Adressen für Firewall-Zwecke. Der Artikel zeigt, wie ipset mit iptables und nftables verwendet wird.
Voraussetzungen
Das Kernelmodul ip_set ist geladen (standardmäßig aktiv bei modernen Distributionen).
- modprobe ip_set
IPSet mit iptables verwenden
IPSet anlegen
- ipset create blacklist hash:ip timeout 3600
→ Erstellt eine IPSet-Liste namens blacklist, IPs verfallen nach 1 Stunde.
IP zur Liste hinzufügen
- ipset add blacklist 1.2.3.4
iptables-Regel setzen
- iptables -I INPUT -m set --match-set blacklist src -j DROP
→ Blockiert jede IP, die in der IPSet-Liste blacklist enthalten ist.
Aktuelle Liste anzeigen
- ipset list
- ipset list blacklist
IPSet mit nftables verwenden
IPSet-ähnliches Set anlegen
- nft add set inet filter blacklist { type ipv4_addr\; timeout 1h\; }
→ Erstellt ein Set namens blacklist im Table filter.
IP hinzufügen
- nft add element inet filter blacklist { 1.2.3.4 }
Regel erstellen
- nft add rule inet filter input ip saddr @blacklist drop
→ Dropt Pakete von IPs, die im Set blacklist enthalten sind.
Set anzeigen
- nft list set inet filter blacklist
Fazit
IPSet ist ein effizienter Weg, viele IP-Adressen dynamisch zu blockieren. Es lässt sich sowohl mit iptables als auch mit nftables einfach integrieren.