我想让我的系统对某些故障更有弹性。 当系统使快速出站TCP连接失败时, nf_conntrack表将填充TIME_WAIT条目。 这会导致系统上的其他操作失败,因为不再有可用的nf_conntrack条目。
我知道可以修改某些参数,例如tcp_tw_reuse ,& tcp_fin_timeout ,但是不愿意在那里做出大的改变(基于这样的警告)
我之前希望做的任何改变和应用程序的变化,是通过限制每个susbsystem的传出连接(通过使用端口号,ip地址等)来防止nf_conntrack条目完全耗尽。 我想我可以添加如下规则:
-A OUTPUT -p tcp --syn --dport 9702 -m connlimit --connlimit-above 3 -j REJECT --reject-with tcp-reset
但是,这似乎只影响主动联系(这是可以理解的,因为这些联系已经消失了)。 有没有一种方法可以限制每个端口/应用程序的传出连接,以便将TIME_WAIT套接字考虑在内?
谢谢
如果你实际上不需要NetFilter连接跟踪,我build议你要么完全禁用nf_conntrack(通过卸载它),要么将NOTRACK规则添加到iptables规则集的顶部。