comment désactiver le module du noyau nf_conntrack dans CentOS 5.3 sans recompiler le noyau


10

J'utilise CentOS 5.3 et je souhaite désactiver le module nf_conntrack pour améliorer les performances du réseau pour haproxy. J'utilise iptables avec quelques règles simples. Je n'ai pas vraiment besoin du suivi des connexions.

J'exécute sur des serveurs cloud Rackspace, donc je ne peux pas exécuter un noyau personnalisé. J'ai essayé d'exécuter modprobe, mais cela ne fonctionne pas.

[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)

Je veux continuer à exécuter iptables après avoir déchiré ceci, donc je ne peux pas tout à fait abandonner tous les filtres réseau. Quelqu'un a des pensées?

Réponses:


16
  1. supprimez toute référence au module d'état dans iptables. Donc, pas de règles comme

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

    le module d'état nécessite le module nf_conntrack (ip_conntrack)

  2. supprimez la ligne suivante (si elle existe) dans / etc / sysconfig / iptables-config

    IPTABLES_MODULES = "ip_conntrack_netbios_ns"

    Ce module nécessite ip_conntrack que nous essayons d'abandonner.

  3. rechargez iptables sans vos règles d'état.

    sudo iptables -F

    # ajoutez vos vraies règles

  4. déposez les modules. J'ai dû utiliser:

    sudo modprobe -r xt_NOTRACK nf_conntrack_netbios_ns nf_conntrack_ipv4 xt_state

    sudo modprobe -r nf_conntrack

  5. confirmez que vous n'avez pas de référence à / proc / net / nf_conntrack


1
ENORMES remerciements à Willy Tarreau, créateur de haproxy, pour son aide précieuse sur la liste de diffusion haproxy!
user22277

Quelqu'un sait-il comment inverser l'étape 4 si nécessaire?
UpTheCreek

Quand je fais "modprobe -rf xt_state" et "modprobe -rf nf_conntrack_ipv6" il dit "FATAL: le module xt_state est en cours d'utilisation." (Sur centos), que puis-je faire?
diyisme

Sur Ubuntu, je peux exécuter "iptables -F" et "modprobe -rf xt_state nf_conntrack_ipv4" sans aucune erreur.
diyisme

5
  • Qu'en est-il de l'ajout du module /etc/modprobe.d/blacklist.conf?

  • As-tu essayé:

    rmmod -f modulename
    

    Bien que:

           -f --force
              Cette option peut être extrêmement dangereuse: elle n'a d'effet que si
              CONFIG_MODULE_FORCE_UNLOAD a été défini lors de la compilation du noyau.
              Avec cette option, vous pouvez supprimer les modules qui sont utilisés,
              ou qui ne sont pas conçus pour être retirés ou qui ont été marqués comme
              dangereux (voir lsmod (8)).
    

4

Si vous exécutez Haproxy, vous avez besoin de deux types de règles dans iptables pour désactiver conntrack dans le port 80: celles pour les connexions des clients à votre équilibreur et d'autres de votre équilibreur aux backends.

Voici un exemple valable:

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

Quand je fais "modprobe -rf xt_state" et "modprobe -rf nf_conntrack_ipv6", il dit "FATAL: Module xt_state is in use." (On centos).

"modused" peut être utile, il peut diminuer le nombre d'utilisations de n'importe quel module: http://www2.informatik.uni-freiburg.de/~danlee/fun/modused/

La clé est: le service ip6tables s'arrête

et ajoutez nf_conntrack, xt_state, iptable_nat, nf_nat, nf_conntrack_ipv4, nf_conntrack_ipv6 dans /etc/modprobe.d/blacklist.conf

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.