我需要查询现有规则,以及能够轻松添加和删除规则.我没有找到任何API来做这件事.有什么东西我不见了吗?
我最接近解决方案的是使用iptables-save | iptables-xml查询和手动调用iptables命令本身来添加/删除规则.我考虑的另一个解决方案是简单地从我的应用程序数据库中重新生成整个规则集并刷新整个链,然后再次应用它.但我想避免这种情况,因为我不想丢弃任何数据包 - 除非有一种方法可以原子地执行此操作.我想知道是否有更好的方法.
C中的API会很棒; 但是,因为我打算将它构建成一个独立的suid程序,所以用任何语言执行此操作的库也可以.