Connexions non tracées et la table raw

UNTRACKED est un terme plutôt spécial quand il est employé dans le traçage de connexion avec Linux. De façon simple, il est utilisé pour sélectionner les paquets qui ont été marqués dans la table raw pour ne pas être tracés.

La table raw a été créée spécialement pour cette raison. Dans cette table vous placez une marque NOTRACK sur les paquets que vous ne voulez pas tracer dans Netfilter.

Important

Notez que je parle de paquets, pas de connexion, car la marque est placée actuellement pour chaque paquet entrant.

Comme nous l'avons déjà indiqué, conntrack et la machine d'état sont plutôt gourmands en ressources. Pour cette raison, ce peut être une bonne idée de parfois désactiver le traçage de connexion et la machine d'état.

Un exemple, vous avez un routeur supportant beaucoup de trafic et vous voulez tracer les flux entrants et sortants, mais pas le trafic routé. Vous pouvez alors placer la marque NOTRACK sur tous les paquets non destinés au pare-feu lui-même en ACCEPTant tous les paquets à destination de votre hôte dans la table raw, et ensuite placer NOTRACK pour tout le trafic restant. Ce qui vous permet d'avoir une vérification complète du trafic entrant pour le routeur lui-même, mais en même temps sauvegarder de la ressource machine en ne traçant pas la totalité du trafic.

Un autre exemple, NOTRACK peut être utilisé lorsque vous avez un serveur web générant beaucoup de trafic et que vous désirez le tracer complètement, mais vous ne voulez pas perdre de la puissance processeur. Vous pouvez alors placer une règle qui désactive le traçage sur le port 80 sur toutes les adresses IP locales, ou celles actuellement utilisées pour le trafic web. Vous pouvez ensuite sans problème tracer tous les autres services, sauf pour le trafic web.

Il existe cependant certains problèmes avec NOTRACK que vous devez prendre en considération. Si une connexion complète est placée avec NOTRACK, vous ne pourrez pas tracer chaque connexion particulière, conntrack et nat ne fonctionnent pas pour les connexions non tracées, ni avec les erreurs relatives à ICMP. En d'autres termes, vous devrez les ouvrir manuellement. Quand il s'agit de protocoles complexes comme FTP et SCTP, ce peut être assez difficile à gérer.