Ошибка 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 хранит всю информацию.
Чтобы таких ужасов не происходило, необходимо увеличивать размер таблицы - в соответствии с проходящим через интерфейс трафиком:
# echo "net.netfilter.nf_conntrack_max = 1310720" >> /etc/sysctl.conf
И применяем настройки
# sysctl -p
Посмотреть текущее значение можно вот так:
# sysctl net.netfilter.nf_conntrack_max
Посмотреть, насколько уже заполнена таблица отслеживания соединений, можно вот так:
# sysctl net.netfilter.nf_conntrack_count
Пропорционально должная быть увеличена и хэш-таблица, в которой хранятся списки conntrack-записей
# echo 163840 > /sys/module/nf_conntrack/parameters/hashsize
Правило простое: hashsize = nf_conntrack_max / 8