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

Материал из megapuper
Перейти к: навигация, поиск
 
(не показаны 2 промежуточные версии этого же участника)
Строка 7: Строка 7:
  
  
Чтобы таких ужасов не происходило, необходимо увеличивать размер таблицы - в соответствии с проходящим через интерфейс трафиком:
+
Чтобы таких ужасов не происходило, необходимо увеличить размер таблицы - в соответствии с проходящим через интерфейс трафиком:
 
  # echo "net.netfilter.nf_conntrack_max = 1310720" >> /etc/sysctl.conf
 
  # echo "net.netfilter.nf_conntrack_max = 1310720" >> /etc/sysctl.conf
 +
И применяем настройки
 +
# sysctl -p
  
  
Строка 17: Строка 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

Текущая версия на 01:08, 5 мая 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