¿Cómo puedo gestionar programáticamente las reglas de iptables sobre la marcha?

Necesito consultar las reglas existentes, así como poder agregar y eliminar reglas fácilmente. No he encontrado ninguna API para hacer esto. ¿Hay algo que me falta?

Lo más cercano que he llegado a una solución es usandoiptables-save | iptables-xml para consultar y llamar manualmente el comando iptables para agregar / eliminar reglas. Otra solución que he considerado es simplemente regenerar todo el conjunto de reglas de la base de datos de mi aplicación y vaciar toda la cadena, luego aplicarla de nuevo. Pero quiero evitar esto, ya que no quiero soltar ningún paquete, a menos que haya una manera de hacer esto atómicamente. Me pregunto si hay una mejor manera.

Una API en C sería genial; sin embargo, como estoy planeando convertir esto en un programa suid independiente, las bibliotecas que hacen esto en CUALQUIER idioma también están bien.

Respuestas a la pregunta(8)

Su respuesta a la pregunta