Ich habe mich über die Semantik vonipset(8)
.
Ist es möglich, einer Reihe eine passende Regel hinzuzufügen iptables
und die Reihe dann zu bearbeiten, oder kann ich nur eine Reihe erstellen und diese gegen eine ältere Reihe austauschen, um sie dann auf eine iptables
Regel mit passendem Namen anzuwenden?Kann ich also ad hoc IP-Sets hinzufügen/entfernen oder ganze Sets austauschen, während die Sets aktiv verwendet werden?
Der Grund für meine Frage ist folgender: Angenommen, ich erstelle ein Set
ipset create PCs hash:ip
ipset add PCs 1.1.1.1
ipset add PCs 2.2.2.2
... und so weiter. Und eine Regel, die den Zugriff auf HTTP erlaubt:
iptables -A INPUT -p tcp --dport 80 -m set --set PCs src -j ACCEPT
Was passiert, wenn ich laufe:
ipset add PCs 3.3.3.3
gilt die iptables
Regelung nun auch ab sofort für IP 3.3.3.3?
Ich habe gesehen, dass es möglich ist, -j SET --add-set ...
IP-Sets ad hoc aus iptables
Regeln heraus zu manipulieren. Das lässt mich glauben, dass es funktionieren sollte, ein Set zu jedem beliebigen Zeitpunkt zu manipulieren.
ipset
Die Projektseite scheint jedoch darauf hinzudeuten, dass der Austausch eines neuen (angepassten) Sets gegen ein anderes die bessere Alternative ist. Sei es via ipset swap
oder via ipset restore -!
.
Kann jemand Licht ins Dunkel bringen?
Antwort1
Sie können Ihren bereits definierten Sets im Handumdrehen IPs hinzufügen und daraus entfernen. Das ist eine der Ideen hinter IPsets: Wenn das nicht möglich wäre, würde die gesamte set
Erweiterung iptables
nicht viel Sinn machen.
Das Hauptziel ipset
bestand darin, Ihnen die (auch dynamische) Definition von Übereinstimmungsklassen zu ermöglichen (z. B. um bösartige Hosts dynamisch auf die schwarze Liste zu setzen, ohne auf magische Weise für jeden einzelnen Host eine Regel hinzufügen zu müssen).
Auszug aus demipset Homepage
- Speichern Sie mehrere IP-Adressen oder Portnummern und gleichen Sie diese auf einen Schlag mit der Sammlung von iptables ab.
- Aktualisieren Sie iptables-Regeln dynamisch anhand von IP-Adressen oder Ports, ohne dass es zu Leistungseinbußen kommt.
- Drücken Sie komplexe IP-Adress- und Port-basierte Regelsätze mit einer einzigen iptables-Regel aus und profitieren Sie von der Geschwindigkeit von IP-Sets