Bonjour à tous,
J'ai déjà posté cette question sur HFR, mais j'imagine qu'on trouve plus d'experts GNU/Linux ici!
Voici donc mon problème:
Je cherche actuellement à configurer une machine de manière à recopier certains flux vers une autre machine à des fins d'analyse.
Pour cela j'utilise donc la fonctionnalité TEE de netfilter.
Je travaille sous Centos 7 (release 1511), la configuration du pare-feu passe par le biais de firewalld, il faut donc que j'utilise l'interface DIRECT afin de pouvoir définir les règles qui m'intéressent.
Je commence par un fichier assez simple:<direct>
<rule ipv="ipv4" table="mangle" chain="PREROUTING" priority="0">! -s IP_A_FILTRER -i eno1 -j TEE --gateway IP_ANALYSEUR</rule>
<rule ipv="ipv4" table="mangle" chain="POSTROUTING" priority="0">! -d IP_A_FILTRER -j TEE --gateway IP_ANALYSEUR</rule>
</direct>
Avec cette règle tout fonctionne bien.
J'envoie bien mes flux vers IP_ANALYSEUR sauf les flux concernant IP_A_FILTRER.
La ou cela se corse, c'est si je veux filtrer plusieurs adresses.
J'ai essayé deux méthodes:
- séparer les adresses par des virgules:
<rule ipv="ipv4" table="mangle" chain="PREROUTING" priority="0">! -s IP_A_FILTRER,IP_A_FILTRER_2 -i eno1 -j TEE --gateway IP_ANALYSEUR</rule>
- ajout de lignes de règles complètes:
<rule ipv="ipv4" table="mangle" chain="PREROUTING" priority="0">! -s IP_A_FILTRER -i eno1 -j TEE --gateway IP_ANALYSEUR</rule>
<rule ipv="ipv4" table="mangle" chain="PREROUTING" priority="0">! -s IP_A_FILTRER_2 -i eno1 -j TEE --gateway IP_ANALYSEUR</rule>
Dans le premier cas je ne reçois plus de flux du tout sur mon analyseur.
Dans le deuxième cas je reçois des flux sur mon analyseur, mais sans filtrage sur les IP "indésirables".
Je suis loin de maitriser ce pare-feu, avez vous une idée?
Merci par avance pour votre aide!
# ipset
Posté par Bernez . Évalué à 2.
Tu peux essayer d'utiliser IPSet.
[^] # Re: ipset
Posté par n.rigaud . Évalué à 1.
Merci, je vais regarder!
# Je n'ai pas d'idée de titre
Posté par Kerro . Évalué à 4.
Le premier cas devrait donner le même résultat que le second, car l'utilisation de plusieurs adresses pour « -s » résulte en la création d'une règle pour chaque.
Dans le second cas il te faut garder à l'esprit que tes 2 lignes sont évaluées. Donc une ip indésirable va forcer fonctionner avec une ligne et pas l'autre.
solution 1 : inverser la condition
.
solution 2 : créer une chaîne additionnelle, et y entrer selon une condition
.
note : je viens de voir que je n'ai pas repris ton exemple avec mangle et PREROUTING. Tu feras la traduction :-)
[^] # Re: Je n'ai pas d'idée de titre
Posté par n.rigaud . Évalué à 1.
Merci beaucoup pour tes exemples. Je comprends mieux la logique à employer.
J'essaye cela demain.
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.