come disabilitare il modulo kernel nf_conntrack in CentOS 5.3 senza ricompilare il kernel


10

Sto usando CentOS 5.3 e voglio disabilitare il modulo nf_conntrack per migliorare le prestazioni della rete per haproxy. Sto eseguendo iptables con alcune semplici regole. Non ho davvero bisogno del tracciamento della connessione.

Sono in esecuzione su server cloud Rackspace, quindi non posso eseguire un kernel personalizzato. Ho provato a eseguire modprobe, ma non funziona.

[mmarano@w1 w1]$ sudo modprobe -n -r nf_conntrack
FATAL: Module nf_conntrack is in use.

[mmarano@w1 w1]$ uname -a
Linux w1.somewhere.com 2.6.24-23-xen #1 SMP Mon Jan 26 03:09:12 UTC 2009 x86_64 x86_64 x86_64 GNU/Linux
[mmarano@w1 w1]$ cat /etc/redhat-release 
CentOS release 5.3 (Final)

Voglio continuare a eseguire iptables dopo averlo estratto, quindi non posso abbandonare del tutto tutti i netfilter. Qualcuno ha qualche pensiero?

Risposte:


16
  1. rimuovere qualsiasi riferimento al modulo di stato in iptables. Quindi, nessuna regola piace

    -A INPUT -m state --state RELATED, STTABLISHED -j ACCEPT

    il modulo di stato richiede il modulo nf_conntrack (ip_conntrack)

  2. rimuovi la seguente riga (se esiste) in / etc / sysconfig / iptables-config

    IPTABLES_MODULES = "ip_conntrack_netbios_ns"

    Quel modulo richiede ip_conntrack che stiamo cercando di abbandonare.

  3. ricaricare iptables senza le regole dello stato.

    sudo iptables -F

    # aggiungi le tue regole reali

  4. rilasciare i moduli. Ho dovuto usare:

    sudo modprobe -r xt_NOTRACK nf_conntrack_netbios_ns nf_conntrack_ipv4 xt_state

    sudo modprobe -r nf_conntrack

  5. conferma di non avere un riferimento a / proc / net / nf_conntrack


1
ENORME grazie a Willy Tarreau, creatore di haproxy, per il fantastico aiuto sulla mailing list di haproxy!
user22277,

Qualcuno sa come invertire il passaggio 4 se necessario?
UpTheCreek,

Quando faccio "modprobe -rf xt_state" e "modprobe -rf nf_conntrack_ipv6" si dice "FATAL: il modulo xt_state è in uso." (Su centos), cosa posso fare?
Diyismo,

Su Ubuntu, posso eseguire "iptables -F" e "modprobe -rf xt_state nf_conntrack_ipv4" senza errori.
Diyismo,

5
  • Che ne dici di aggiungere il modulo a /etc/modprobe.d/blacklist.conf?

  • Hai provato:

    rmmod -f modulename
    

    Sebbene:

           -f --force
              Questa opzione può essere estremamente pericolosa: a meno che non abbia alcun effetto
              CONFIG_MODULE_FORCE_UNLOAD è stato impostato al momento della compilazione del kernel.
              Con questa opzione, puoi rimuovere i moduli che vengono utilizzati,
              o che non sono progettati per essere rimossi o che sono stati contrassegnati come
              non sicuro (vedi lsmod (8)).
    

4

Se stai eseguendo Haproxy, hai bisogno di due tipi di regole in iptables per disabilitare conntrack nella porta 80: una per le connessioni dai client al tuo bilanciatore e altre dal tuo bilanciatore ai back-end.

Ecco un esempio valido:

iptables -t raw -I PREROUTING -p tcp --dport 80 -j NOTRACK
iptables -t raw -I PREROUTING -p tcp  --sport 80 -j NOTRACK
iptables -t raw -I OUTPUT -p tcp --dport 80 -j NOTRACK
iptables -t raw -I OUTPUT -p tcp --sport 80 -j NOTRACK

0

Quando faccio "modprobe -rf xt_state" e "modprobe -rf nf_conntrack_ipv6", dice "FATAL: il modulo xt_state è in uso." (Su centos).

"modused" può essere utile, può ridurre il conteggio di utilizzo di qualsiasi modulo: http://www2.informatik.uni-freiburg.de/~danlee/fun/modused/

La chiave è: il servizio ip6tables si ferma

e aggiungi nf_conntrack, xt_state, iptable_nat, nf_nat, nf_conntrack_ipv4, nf_conntrack_ipv6 in /etc/modprobe.d/blacklist.conf

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.