nftables 可以实际处理的规则数量上限

nftables 可以实际处理的规则数量上限

我正在设计一个大型 SaaS VPN 服务,并计划使用 nftables。

它可以处理的规则数量是否有实际限制?

规则将从数据库中编译。将有数千个节点,它们之间有任意规则连接。每个节点都可以选择与任意其他节点共享任意端口。例如,节点 A 可以访问节点 B 上的 RDP。Nftables 将控制安全性。

该过程在原型中运行良好。我对它的效果非常满意。我只关心可扩展性。我可以选择扩大或缩小。但是否会在某个时刻变得非常低效呢?可能会在什么时候发生?它能毫不费力地处理 10,000 条规则吗?还是会陷入困境?

目前在 Ubuntu 20.04 上使用 nftables v0.9.3 (Topsy),内核为 5.11.10,Wireguard 1.0.20200513

我还意识到答案取决于资源和负载。我现在只关心配置架构。资源可以随时添加。

有这方面的最佳实践吗?

答案1

无论如何,我都不是专家,因为我们的服务器上只有不到一百条规则,但像您所说的那样,有数万条规则的设置听起来像是灾难或奇怪的性能问题的根源。您的硬件上的 nftables 完全有可能能够应对这么多规则,但如果我是您,我会重新考虑一切以使一切更易于管理。也许使用轻量级虚拟化,例如 docker 或类似的东西。

我无法找到您的问题的可靠答案,但例如,Red Hat 仅使用 1000 条规则就发现性能受到相当大的影响:

红帽建议使用可以帮助管理像您这样的极端情况的集合。

相关内容