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.