Apa arti “net_ratelimit: 44 callbacks ditekan” di linux?

19

Saya mencoba untuk menyetel kinerja Snort pada router berbasis Debian. Saya melihat hal-hal seperti:

snort packet recv contents failure: No buffer space available

Jadi saya menaikkan buffer ke 8M dan ketika itu tidak berhasil saya mencoba 16M, sesuai panduan tuning di 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

Sekarang saya tidak melihat entri log "tanpa ruang penyangga", tapi saya punya yang baru:

net_ratelimit: 44 callbacks suppressed

Satu-satunya pesan lain dari kerangka waktu yang sama adalah orang-orang Mars ini, mungkin itu yang sedang ditekan?

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
sumber

Jawaban:

20

' net_ratelimit()' digunakan untuk membatasi pesan syslog dari kernel.
Pesan "callbacks ditekan" ini menyiratkannya menekan sebagian besar pesan syslog.
Ini adalah upaya untuk menghindari memuat jalur logging syslog Anda.

Berikut ini adalah referensi sumber jika Anda tertarik,
FreeBSD / Linux Kernel Cross Reference; sys / net / core / utils.c ,
Ini panggilan sys / lib / ratelimit.c -___ratelimit()

Anda mungkin ingin menyelidiki " sumber Mars " Anda,
tetapi jika Anda abaikan, saya kira, ratelimit akan menangani log
(biasanya merupakan ide yang baik untuk memperbaiki sumber log yang tidak dikenal).

Dalam kasus Anda, sepertinya Paket Mars Anda adalah,

Paket yang masuk atau keluar yang sumber atau alamat tujuannya berada dalam kisaran 127.0.0.0/8, yang dicadangkan untuk loopback di dalam host.

nik
sumber
1
ini bacaan yang bagus juga: zszsit.blogspot.com.br/2012/10/ ... pemecahan masalah yang bagus dari__ratelimit: # callbacks supressed
Marcel