Wie kann ich iptables-Regeln im laufenden Betrieb programmgesteuert verwalten?
Ich muss vorhandene Regeln abfragen und Regeln einfach hinzufügen und löschen können. Ich habe keine APIs dafür gefunden. Fehlt mir etwas?
Das, was ich einer Lösung am nächsten gebracht habe, ist die Verwendungiptables-save | iptables-xml
zum Abfragen und manuellen Aufrufen des Befehls iptables selbst zum Hinzufügen / Löschen von Regeln. Eine andere von mir in Betracht gezogene Lösung besteht darin, einfach den gesamten Regelsatz aus der Datenbank meiner Anwendung neu zu generieren, die gesamte Kette zu leeren und ihn dann erneut anzuwenden. Aber ich möchte dies vermeiden, da ich keine Pakete verwerfen möchte - es sei denn, es gibt eine Möglichkeit, dies atomar zu tun. Ich frage mich, ob es einen besseren Weg gibt.
Eine API in C wäre toll; Da ich dies jedoch in ein eigenständiges suid-Programm einbauen möchte, sind Bibliotheken, die dies in JEDER Sprache tun, ebenfalls in Ordnung.