Dov'è il posto giusto per impostare net.netfilter.nf_conntrack_buckets?


12

Attualmente sto cercando di impostare net.netfilter.nf_conntrack_buckets all'avvio. Inizialmente supponevo che ciò potesse essere fatto tramite sysctl.conf, ma net.netfilter.nf_conntrack_buckets (e altre configurazioni net.netfilter) non erano affatto applicati. L'aggiunta di sysctl -p a rc.local ha consentito l'applicazione di tutte le configurazioni net.netfilter ad eccezione di net.netfilter.nf_conntrack_buckets. Noterò anche che il tentativo di impostare questo dal terminale usando sysctl -w porta a "errore: autorizzazione negata sulla chiave" net.netfilter.nf_conntrack_buckets ""

# This should be applied at boot
net.netfilter.nf_conntrack_max=1966080
net.netfilter.nf_conntrack_buckets=245760

Dov'è il posto giusto per farlo?

Risposte:


11

Penso che il parametro sysctl sia solo per la visualizzazione. Ti consigliamo di utilizzare l' /sys/module/nf_conntrack/parameters/hashsizeinterfaccia per le modifiche di runtime e l' hashsizeopzione del modulo per impostarla durante il caricamento iniziale del modulo.

Vorresti inserire una voce in un /etc/modprobe.d/file simile a questa:

options nf_conntrack hashsize=XXXXX


Ho notato che se si imposta l'hashsize tramite / sys / module / nf_conntrack / parametri / hashsize net.netfilter.nf_conntrack_buckets sysctl non viene aggiornato, mentre se lo si fa tramite modprobe e quindi si riavvia, viene modificato. Ciò significa che la modifica del valore tramite il primo metodo non applica completamente il nuovo valore?
andresp,

5

A seguito della risposta di Andrew B:

Per qualche ragione, la documentazione di RHEL raccomanda invece di inserire uno script di shell eseguibile con un nome come nf_conntrack_hashsize.modulesestensione /etc/sysconfig/modules. Non ho idea del perché. Il contenuto sarebbe simile a:

#!/bin/sh
exec /sbin/modprobe nf_conntrack hashsize=262144

Sembra che questo sia necessario se si desidera caricare moduli aggiuntivi che altrimenti non sarebbero stati caricati. [quote] Puoi specificare moduli aggiuntivi da caricare creando un nuovo <nome_file> .modules [/ quote]
hbogert

1

Devi inserire un file chiamato, ad esempio, localhost nella directory /etc/modprobe.d/.

All'interno di questo file, aggiungi queste righe (il valore è un esempio):

options nf_conntrack hashsize=333333

E ora, la soluzione più rapida è un riavvio, l'altra opzione è provare a ricaricare il modulo del kernel nf_conntrack, che è un po 'difficile perché è collegato con altri moduli in esecuzione.

Verifica il risultato con:

cat /sys/module/nf_conntrack/parameters/hashsize
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.