Les tables Netfilter

Les tables Netfilter

Figure 2.1. Les tables Netfilter

Il y a trois tables prédéfinies : FILTER, NAT et MANGLE. Chaque table contient des chaînes prédéfinies. Un administrateur peut modifier les chaînes prédéfinies, et créer ou détruire des chaînes personnelles dans n'importe quelle table. Au départ, toutes les chaînes sont vides et ont une politique par défaut (accepter ou rejetter le paquet).

La table Filter

Cette table est responsable du filtage (bloquer ou permettre à un paquet de continuer). Chaque paquet passe à travers cette table, et traverse une et une seule des chaînes prédéfinies suivantes :

  • Chaîne INPUT : Tous les paquets destinés à cet ordinateur passent dans cette chaîne.

  • Chaîne OUTPUT : Tous les paquets créés par cet ordinateur passent dans cette chaîne.

  • Chaîne FORWARD : Tous les paquets traversant cet ordinateur passent dans cette chaîne.

Nous nous intéresserons plus particulièrement à cette table dans la suite de cette documentation.

La table NAT

Cette table est responsable de la traduction d'adresses (modification des addresses et/ou des ports des paquets). Le premier paquet de chaque connexion passe à travers cette table : le verdict de ce passage va déterminer comment tous les paquets de la connexion vont être transformés. Cette table contient les chaînes prédéfinies suivantes :

  • Chaîne PREROUTING : Permet la traduction d'adresses de destination uniquement pour les paquets entrant dans l'ordinateur. Le nom de la chaîne vient du fait que les paquets passent cette chaîne avant de passer dans les tables de routage.

  • Chaîne POSTROUTING : Permet la traduction d'adresses source uniquement pour les paquets sortant de l'ordinateur. Le nom de la chaîne vient du fait que les paquets passent cette chaîne après voir passé les tables de routage.

  • Chaîne OUTPUT : Permet la traduction d'adresses de destination uniquement pour les paquets créés par l'ordinateur.

La table Mangle

Cette table est responsable de la transformation des options des paquets, comme la qualité de service. Chaque paquet passe à travers cette table. Comme cette table est prévue pour des options avancées, elle contient toutes les chaînes prédéfinies :

  • Chaîne PREROUTING : Tous les paquets entrant sur l'ordinateur passent dans cette chaîne avant d'avoir passé le routage.

  • Chaîne INPUT : Tous les paquets destinés à l'ordinateur passent dans cette chaîne.

  • Chaîne OUTPUT : Tous les paquets créés par l'ordinateur passent dans cette chaîne.

  • Chaîne FORWARD : Tous les paquets traversant l'ordinateur passent dans cette chaîne.

  • Chaîne POSTROUTING : Tous les paquets quittant l'ordinateur passent dans cette chaîne après avoir passé le routage.