Назад | Перейти на главную страницу

Ограничение исходящих соединений по портам для контроля использования nf_conntrack

Я хотел бы сделать свою систему более устойчивой к определенным сбоям. Когда в системе происходит сбой быстрых исходящих 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.