Ошибка nf conntrack: table full, dropping packet — различия между версиями

Материал из megapuper
Перейти к: навигация, поиск
Строка 11: Строка 11:
 
И применяем настройки
 
И применяем настройки
 
  # sysctl -p
 
  # sysctl -p
 +
  
 
Посмотреть текущее значение можно вот так:
 
Посмотреть текущее значение можно вот так:
Строка 18: Строка 19:
 
Посмотреть, насколько уже заполнена таблица отслеживания соединений, можно вот так:
 
Посмотреть, насколько уже заполнена таблица отслеживания соединений, можно вот так:
 
  # sysctl net.netfilter.nf_conntrack_count
 
  # sysctl net.netfilter.nf_conntrack_count
 +
 +
 +
Пропорционально должная быть увеличена и хэш-таблица, в которой хранятся списки conntrack-записей
 +
# echo 163840 > /sys/module/nf_conntrack/parameters/hashsize
 +
 +
Правило простое: hashsize = nf_conntrack_max / 8

Версия 11:24, 4 мая 2021

Описание ошибки "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