Мне нужно запросить существующие правила, а также легко добавлять и удалять правила. Я не нашел API для этого. Есть что-то, что мне не хватает?Как я могу программно управлять правилами iptables на лету?
Ближайший я пришел к решению с помощью iptables-save | iptables-xml
для запроса и вручную вызова команды iptables для добавления/удаления правил. Другое решение, которое я рассмотрел, - это просто регенерировать весь набор правил из базы данных моего приложения и очистить всю цепочку, а затем снова применить его. Но я хочу избежать этого, так как я не хочу отказываться от каких-либо пакетов - если не существует способа атомизировать это. Мне интересно, есть ли лучший способ.
API в C будет отличным; однако, поскольку я планирую построить это в автономной suid-программе, библиотеки, которые делают это на ЛЮБОЙ язык, тоже прекрасны.
По-видимому, можно перейти от XML к iptables-restore 'xsltproc iptables.xslt my-iptables.xml | Iptables-restore'. См. Справочную страницу 'iptables-xml'. – CMCDragonkai