Ошибка: net_ratelimit: N callbacks suppressed

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

Где N - это произвольное число. По своей сути - это не ошибка, а механизм ОС Linux, позволяющий избежать DoS атак на систему. Суть его заключается в том, что он ограничивает число сообщений, связанных с работой сети, которые логируются ядром системы (и модулями) за определенный промежуток времени. Пример вывода лога:

[2594907.552623] net_ratelimit: 27902 callbacks suppressed
[2594907.552625] nf_conntrack: nf_conntrack: table full, dropping packet
[2594907.553493] nf_conntrack: nf_conntrack: table full, dropping packet
[2594907.553519] nf_conntrack: nf_conntrack: table full, dropping packet
[2594907.553585] nf_conntrack: nf_conntrack: table full, dropping packet
[2594907.553612] nf_conntrack: nf_conntrack: table full, dropping packet
[2594907.553857] nf_conntrack: nf_conntrack: table full, dropping packet
[2594907.554024] nf_conntrack: nf_conntrack: table full, dropping packet
[2594907.554099] nf_conntrack: nf_conntrack: table full, dropping packet
[2594907.554202] nf_conntrack: nf_conntrack: table full, dropping packet
[2594907.554584] nf_conntrack: nf_conntrack: table full, dropping packet
[2594912.556914] net_ratelimit: 17954 callbacks suppressed
[2594912.556916] nf_conntrack: nf_conntrack: table full, dropping packet
[2594912.557770] nf_conntrack: nf_conntrack: table full, dropping packet
[2594912.558396] nf_conntrack: nf_conntrack: table full, dropping packet
[2594912.558973] nf_conntrack: nf_conntrack: table full, dropping packet
[2594912.559897] nf_conntrack: nf_conntrack: table full, dropping packet
[2594912.560300] nf_conntrack: nf_conntrack: table full, dropping packet
[2594912.560316] nf_conntrack: nf_conntrack: table full, dropping packet
[2594912.560645] nf_conntrack: nf_conntrack: table full, dropping packet
[2594912.560778] nf_conntrack: nf_conntrack: table full, dropping packet
[2594912.561251] nf_conntrack: nf_conntrack: table full, dropping packet

Посмотреть текущие настройки системы можно следующими командами:

# cat /proc/sys/net/core/message_cost
5
# cat /proc/sys/net/core/message_burst
10

Как видно из настроек выше, система позволит записать в лог не более 10 строк за период в 5 секунд. В случае превышения, выведет ошибку net_ratelimit: N callbacks suppressed, т.е. файл message_cost содержит временной интервал в секундах, а файл message_burst - максимальное число сообщений, которые могут быть записаны в лог за этот интервал.

Чтобы отключить эту защиту, достаточно поменять интервал на 0. Для этого, воспользуемся следующей командой:

# sysctl -w net.core.message_cost=0

Это временное изменение, которое будет действовать до перезагрузки.
Чтобы оно действовало и после перезагрузки, необходимо проделать следующее:

echo "net.core.message_cost = 0" >> /etc/sysctl.conf
sysctl -p

Первой командой мы дописываем в конец файла /etc/sysctl.conf интересующее нас значение параметра net.core.message_cost = 0, а второй применяем новые настройки.

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

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

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

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