Aumentare ip_conntrack_max in sicurezza?


9

Ho visto quanto segue nei miei registri ogni tanto:

kernel: ip_conntrack: tabella piena, pacchetto di rilascio.

Attualmente, ip_conntrack_max è impostato su 65536 (impostazione predefinita, RHEL5).

Tenendo presente l'utilizzo della memoria, quanto posso aumentare in modo sicuro questo valore? Ho 4 GB di ram su questa scatola. Una delle funzioni che questa macchina serve è come un server di contenuti statici, che probabilmente spiega il numero elevato di connessioni e significa anche che mi piacerebbe conservare la maggior quantità di memoria del sistema operativo utilizzata per la memorizzazione nella cache.

Inoltre, qual è la differenza tra i seguenti due? / proc / sys / net / ipv4 / netfilter / ip_conntrack_max / proc / sys / net / ipv4 / ip_conntrack_max

Quale dovrei modificare?

Grazie!

Risposte:


9

Innanzitutto, poniti una domanda: la tua configurazione richiede il monitoraggio della connessione? Se è solo un server e il firewall / NAT viene eseguito da qualche altra parte, probabilmente puoi disabilitare conntrack tutti insieme.

In secondo luogo, controlla se le tue voci conntrack hanno senso. A volte le tabelle conntrack sono piene di immondizia a causa di errori di configurazione della rete o del firewall. Di solito si tratta di voci per connessioni che non sono mai state stabilite completamente. Ciò può accadere, ad esempio, quando il server riceve pacchetti SYN di connessione in entrata, ma le risposte del server vengono sempre perse da qualche parte sulla rete.

Le uniche macchine con cui avevo un messaggio "ip_conntrack: table full" e che necessitavano di un aumento di ip_conntrack_max (invece di correggere la configurazione), dove i router eseguivano NAT per reti abbastanza grandi (migliaia di endpoint).

Se sai di aver bisogno di conntrack e deve essere davvero più grande di quello che è, aumenta il numero fino a quando non ricevi più messaggi "tabella piena". E guarda l'utilizzo della memoria.

Alcune statistiche sull'allocazione della memoria per gli oggetti conntrack sono disponibili nel file / proc / slabinfo.


6

Il percorso con "netfilter" è il vecchio modo di fare riferimento alla stessa impostazione. Puoi modificare entrambi i file.

# cat / proc / sys / net / ipv4 / ip_conntrack_max  
655360
# cat / proc / sys / net / ipv4 / netfilter / ip_conntrack_max
655360
# echo 655361> / proc / sys / net / ipv4 / ip_conntrack_max
# cat / proc / sys / net / ipv4 / netfilter / ip_conntrack_max
655.361

In Ubuntu 10.04 / 2.6.32-45-server, esiste solo ipv4 / netfilter / ip_conntrack_max
okwap

La tua risposta è diversa da antmeetspenguin.blogspot.tw/2011/01/…
okwap,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.