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

В данной статье речь пойдет об ошибке «nf_conntrack: table full, dropping packet», которая может появляться в логах сервера, работающего на ОС Linux и том, как эту ошибку исправить.

Описание

В случае большого количества сетевых соединений, в логах сервера, работающего под ОС 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

Комментарии

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

Ваш адрес email не будет опубликован. Обязательные поля помечены *