logo
 Accueil  Articles  Cours  Guides  Formation  Téléchargement  Source
  Références : Netfilter Home 
 
Contactmail
 Carnet de bord
 Notice légale
Linux 2.4 Packet Filtering HOWTO: Comment les Paquets Traversent les Filtres Page suivante Page précédente Table des matières

6. Comment les Paquets Traversent les Filtres

Le noyeau contient à la base trois listes de règles dans la table `filter'; ces listes sont appelées chaines de firewall ou juste chaines. Les trois chaines sont appelées INPUT, OUTPUT et FORWARD.

C'est vraiment différent de comment les noyeaux 2.0 et 2.2 fonctionnaient!

Pour les fans de l'art ASCII, les chaines sont arrangées comme suit:

                          _____
Entrée                   /     \         Sortie
       -->[Décision]--->|FORWARD|------->
          [de routage]   \_____/        ^
               |                        |
               v                      ____
              ___                    /    \
             /   \                  |OUTPUT|
            |INPUT|                  \____/
             \___/                      ^
               |                        |
                ---->Processus local ----


Les trois cercles représentent les trois chaines mentionnées ci-dessus. Quand un paquet arrives au cercle dans le diagramme, cette chaine est examinée pour decider du sort du paquet. Si la chaine dit de DROP le paquet il est tué ici, mais si la chaine dit ACCEPT le paquet, il continue sa traversée du diagramme.

Une chaine est un checklist de règles. Chaque règle dit `si l'en-tète du paquet est comme ca, voila quoi faire avec le paquet'. Si la règle ne convient pas au paquet, alors la règle suivante est examinée. Finallement si il ne reste plus de chaines à examiner, le noyau regarde la règle par défaut de la chaine pour décider quoi faire. Dans un système conscienscieux de la sécurité, cette règle par défaut dit de DROPer le paquet.

  1. Quand un paquet arrives (on va dire par la carte Ethernet) le noyau regarde en premier la destination de ce paquet : c'est appelé le `routage'.
  2. Si c'est destiné à cette machine, le paquet passe vers le bas dans le diagramme, vers la chaine INPUT. Si il la passe, les processus qui attendent le paquet le recevront.
  3. Autrement, si le noyau n'a pas le forwarding autorisé, ou qu'il ne sait pas comment forwarder le paquet, le paquet est tué. Si le forwarding est autorisé, et que le paquet est destiné à une autre interface réseau (si tu en as une autre), le paquet va directement à la chaine FORWARD dans le diagramme. Si il est ACCEPTé, il sera envoyé.
  4. Finallement, un programme qui tourne sur la machine peut envoyer des paquets. Ces paquets passeront par la chaine OUTPUT immédiatement : si elle dit ACCEPT, alors le paquet continue vers l'interface à laquelle il est destiné.



Page suivante Page précédente Table des matières
Dernière modification le : 9 May 2002 13:53
php logo    debian logo