O que "net_ratelimit: 44 retornos de chamada suprimidos" significa em um linux?

19

Estou tentando ajustar o desempenho do Snort em um roteador baseado no Debian. Eu estava vendo coisas como:

snort packet recv contents failure: No buffer space available

Então, eu levantei os buffers para 8M e, quando isso não funcionou, tentei 16M, de acordo com o guia de ajuste em http://fasterdata.es.net/fasterdata/host-tuning/linux/ :

#!/bin/sh -e
#
# rc.local
#
# This script is executed at the end of each multiuser runlevel.
# Make sure that the script will "exit 0" on success or any other
# value on error.
#
# In order to enable or disable this script just change the execution
# bits.
#
# By default this script does nothing.
# Increase TCP Buffers to 16 MB
sysctl -w net.core.rmem_default='16777216'
sysctl -w net.core.wmem_default='16777216'
sysctl -w net.core.rmem_max='16777216'
sysctl -w net.core.wmem_max='16777216'
sysctl -w net.ipv4.tcp_wmem='1048576 4194304 16777216'
sysctl -w net.ipv4.tcp_rmem='1048576 4194304 16777216'
sysctl -w net.core.netdev_max_backlog='30000'
exit 0

Agora não vejo a entrada de log "no buffer space", mas tenho uma nova:

net_ratelimit: 44 callbacks suppressed

As únicas outras mensagens do mesmo período são esses marcianos, talvez seja isso que está sendo suprimido?

Jun  4 07:09:36 ilium ntpd_intres[3575]: host name not found: 0.us.pool.ntp.org
Jun  4 14:17:36 ilium kernel: [25743.259951] net_ratelimit: 44 callbacks suppressed
Jun  4 14:17:36 ilium kernel: [25743.259955] martian source 216.59.11.21 from 127.0.0.1, on dev eth0
Jun  4 14:17:36 ilium kernel: [25743.259956] ll header: 00:30:48:7c:f8:10:00:24:c4:49:8d:00:08:00
Jun  4 14:17:58 ilium kernel: [25765.055449] martian source 216.59.11.21 from 127.0.0.1, on dev eth0
Jun  4 14:17:58 ilium kernel: [25765.055451] ll header: 00:30:48:7c:f8:10:00:24:c4:49:8d:00:08:00
Jun  4 14:18:43 ilium kernel: [25809.998978] martian source 216.59.11.21 from 127.0.0.1, on dev eth0
Jun  4 14:18:43 ilium kernel: [25809.998980] ll header: 00:30:48:7c:f8:10:00:24:c4:49:8d:00:08:00
Jun  4 14:24:11 ilium kernel: [26138.700143] martian source 216.59.11.71 from 127.0.0.1, on dev eth0
Jun  4 14:24:11 ilium kernel: [26138.700145] ll header: 00:30:48:7c:f8:10:00:24:c4:49:8d:00:08:00
Jun  4 14:28:42 ilium kernel: [26409.130701] martian source 216.59.11.71 from 127.0.0.1, on dev eth0
Jun  4 14:28:42 ilium kernel: [26409.130703] ll header: 00:30:48:7c:f8:10:00:24:c4:49:8d:00:08:00
Antonius Bloch
fonte

Respostas:

20

' net_ratelimit()' é usado para limitar as mensagens syslog do kernel.
Essa mensagem "retornos de chamada suprimidos" implica que suprimiu uma grande quantidade de 44 mensagens de syslog.
Esta é uma tentativa de evitar o carregamento do caminho de log do syslog.

Aqui está a referência de origem, se você estiver interessado,
Referência Cruzada do Kernel do FreeBSD / Linux; sys / net / core / utils.c ,
Ele chama sys / lib / ratelimit.c -___ratelimit()

Você pode querer investigar sua " fonte marciana ",
mas se você ignorá-la, acho que o limite de rato manipulará os logs
(geralmente é uma boa idéia corrigir fontes de logs desconhecidas).

No seu caso, parece que seus pacotes marcianos são,

Um pacote de entrada ou saída cujo endereço de origem ou destino está no intervalo 127.0.0.0/8, reservado para loopback no host.

nik
fonte
11
isso também é uma boa leitura: zszsit.blogspot.com.br/2012/10/… uma boa solução de problemas de__ratelimit: # callbacks supressed
Marcel