负载均衡服务器是否需要 conntrack?

负载均衡服务器是否需要 conntrack?

我有 3 个专用服务器作为负载均衡器。然后有指向此专用服务器的 IP 地址公共标志。突然,这 3 个 LB 服务器中的一个nf_conntrack: table full, dropping packet

我的专用服务器规格是 32 核;256 GB。我阅读了一些 nf_conntrack,最后我计划将 conntrack_max 增加到大约 400 万。但我需要你们这些在服务器性能方面有经验和专家的更多建议。

什么时候需要 conntrack?同时,这是具有私有 IP 的专用服务器,而不是 NAT 网关。我应该删除 conntrack 吗?

答案1

Linux网络过滤器有多种用途,状态防火墙、NAT 和通用数据包处理。状态防火墙可能存在于非路由器的现成配置中,但也可能是其他东西。

由于主机级防火墙很有用,而且很难完全删除 conntrack,因此请适当调整其大小以免达到此限制。

估计 2 分钟内的总流量数。记录应用程序连接,使用conntrack 工具或数据包捕获。乘以某个安全比率即可得到所需的数量级。400 万是一个很高的数字,但也是合理的。每个都会消耗几百字节的内存,但对于几百 GB 的盒子来说,1 或 2 GB 并不是什么大问题。

除了删除net.netfilter.nf_conntrack_max中的新值外/etc/sysctl.d/,还要调整 nf_conntrack hashsize。大致为 conntrack max / 4,四舍五入为 2 的幂。

有关旧内核的详细信息,请参阅RHEL KB 8721 ip_conntrack 或 nf_conntrack:表已满,丢弃数据包

相关内容