我需要一种强大/可靠/优雅的方式来处理任何错误情况,同时重新加载防火墙规则,一些背景:
- 我们的服务器正在使用白名单机制,这意味着如果某个服务器需要与许多不同的目的地通信,则应该有大量的规则。
- 我们有另一个工具来生成防火墙规则文件,该文件将提供给 iptables/ipfilter,文件格式错误的可能性非常小。
- 由于防火墙规则数量可能非常大,iptables/ipfilter 可能由于我们一些旧硬件的资源限制而无法加载防火墙规则文件,例如,在某些情况下内存可能不够,同时重新加载超过 20k 条规则共。
所以我的问题是:
是否有任何现有工具可用于在实际加载防火墙规则之前检查它们的语法?
是否有任何方法可以使重新加载过程原子化,例如,它要么成功地重新加载新规则,要么只保留以前的健康规则集?
在给定当前运行环境和规则集的情况下,如何确保重新加载一定会成功?或者是否有任何工具可以让我估计重新加载可能会成功/失败?
任何建议都热烈欢迎。提前致谢。