Ipset

Aus Xinux Wiki
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.