Я хотел бы сделать свою систему более устойчивой к определенным сбоям. Когда в системе происходит сбой быстрых исходящих TCP-соединений, nf_conntrack
стол заполняется TIME_WAIT
записи. Это приводит к сбою других операций в системе, поскольку больше нет nf_conntrack
записи доступны.
Я знаю, что можно изменить некоторые параметры, такие как tcp_tw_reuse
, & tcp_fin_timeout
, но я не хочу вносить там кардинальные изменения (на основании предупреждений как это)
То, что я надеялся сделать до любых таких изменений, описанных выше, и изменений приложений, - это укрепить мою систему против полного истощения nf_conntrack
записи, ограничивая исходящие соединения каждой подсистемой (используя номера портов, IP-адреса и т. д.). Я думал, что смогу добавить следующие правила:
-A OUTPUT -p tcp --syn --dport 9702 -m connlimit --connlimit-above 3 -j REJECT --reject-with tcp-reset
Но это, похоже, влияет только на активные соединения (что понятно, поскольку они фактически исчезли). Есть ли способ ограничить исходящее соединение для каждого порта / приложения таким образом, чтобы это потребовало TIME_WAIT
розетки на счет?
Спасибо
Если вам на самом деле не нужно отслеживание соединений NetFilter, я предлагаю вам либо полностью отключить nf_conntrack (выгрузив его), либо добавить правило NOTRACK в начало набора правил iptables.