我需要查询现有的规则,并能够轻松地添加和删除规则。我没有发现任何用于做这个的API。有什么东西是我遗漏的吗?
我最接近的解决方案是使用
iptables-save | iptables-xml
进行查询,并手动调用iptables命令本身来添加/删除规则。我考虑的另一个解决方案是简单地从我的应用程序的数据库中重新生成整个规则集,并刷新整个链,然后再次应用它。但我想避免这样做,因为我不想丢掉任何数据包--除非有一种方法可以原子化地做到这一点。我想知道是否有一个更好的方法。
如果能有一个C语言的API就更好了;但是,由于我打算把它建成一个独立的suid程序,用任何语言做这个的库也可以。