Jak mogę programowo zarządzać regułami iptables w locie?

Muszę zapytać o istniejące reguły, a także o możliwość łatwego dodawania i usuwania reguł. Nie znalazłem żadnych API, aby to zrobić. Czy jest coś, czego brakuje?

Najbliższe rozwiązanie, z którym przyszedłem, to użycieiptables-save | iptables-xml do odpytywania i ręcznego wywoływania samej komendy iptables, aby dodać / usunąć reguły. Inne rozwiązanie, które rozważałem, to po prostu odtworzenie całego zestawu reguł z bazy danych mojej aplikacji i spłukanie całego łańcucha, a następnie ponowne zastosowanie. Ale chcę tego uniknąć, ponieważ nie chcę upuszczać żadnych pakietów - chyba że istnieje sposób na atomowe wykonanie tego. Zastanawiam się, czy jest lepszy sposób.

API w C byłoby świetne; jednak, ponieważ planuję zbudować to w samodzielnym programie suid, biblioteki, które to robią w DOWOLNYM języku, też są w porządku.

questionAnswers(8)

yourAnswerToTheQuestion