Переполнение nf_conntrack в Linux

Сеть работала "хорошо", но в один чудесный день, повысилась латентность и стали пропадать пинги…хотя с виду "все норм", ядра "свободны", канал не "перегружен" и т д

выполняем комманду

dmesg

и видим что постоянно появляются сообщения вида:

[  777.464654] nf_conntrack: table full, dropping packet.
[  777.464693] nf_conntrack: table full, dropping packet.
[  777.464938] nf_conntrack: table full, dropping packet.
[  777.465008] nf_conntrack: table full, dropping packet.
[  777.465595] nf_conntrack: table full, dropping packet.
[  777.465681] nf_conntrack: table full, dropping packet.
[  777.465704] nf_conntrack: table full, dropping packet.
[  777.465779] nf_conntrack: table full, dropping packet.

Это означает что у нас переполнилась таблица conntrack.

Начнем "лечение" в конец файла

/etc/sysctl.conf

добавляем

Значение переменной может меняться, подбирать индивидуально.
net.ipv4.netfilter.ip_conntrack_max=9548576
net.netfilter.nf_conntrack_max=9548576

далее выполняем

sysctl -p

контролируем через

dmesg

на предмет новых сообщений.

  • billing/howto/nf_conntrack_table_full_dropping_packet.txt
  • Последние изменения: 5 лет назад
  • — Алексей Ларюшкин