Исправляем ошибку nf_conntrack: table full, dropping packet

  • Автор:
  • Опубликовано:
  • Изменено:
  • Просмотры: 323
  • Комментарии: 0
  • Рейтинг: 100,00%
  • Голосов: 2

В случае большого количества сетевых соединений, в логах сервера, работающего под ОС Linux, может появляться следующая ошибка:

kernel: nf_conntrack: nf_conntrack: table full, dropping packet

Как видно из её текста, эта ошибка связана с тем, что переполнена таблица, в которой модуль nf_conntrack хранит всю информацию.

Для того, чтобы посмотреть текущее максимальное количество соединений, информацию о которых может хранить и обрабатывать модуль nf_conntrack, вводим следующую команду:

# sysctl -a | grep conntrack_max
net.netfilter.nf_conntrack_max = 65536
net.nf_conntrack_max = 65536

В нашем примере, видно, что максимальное количество соединений - 65536. Т.к. мы получаем ошибку, то увеличим число соединений в 4 раза, для этого воспользуемся следующей командой:

echo "net.netfilter.nf_conntrack_max = 262144" >> /etc/sysctl.conf

Т.е. мы добавляем в самый конец конфига /etc/sysctl.conf, строку net.netfilter.nf_conntrack_max = 262144
Далее, нам необходимо применить измененные настройки, для этого вводим следующую команду:

sysctl -p

И проверяем, что теперь количество одновременных соединений, которое может обслуживать модуль nf_conntrack, увеличилось в 4 раза:

# sysctl -a | grep conntrack_max
net.netfilter.nf_conntrack_max = 262144
net.nf_conntrack_max = 262144

Оценить статью

1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (2 оценок, среднее: 5,00 из 5)

Добавить комментарий

Ваш e-mail не будет опубликован.