par tomtom » 22 Août 2003 00:55
t'expliquer tout netfilter ce soir dans un post est au dessus de mes forces...
<BR>
<BR>En Gros, la seule commande utilisée pour acceder aux tables de règles est iptables.
<BR>
<BR>Il existe 3 tables :
<BR>
<BR>filter
<BR>nat
<BR>mangle
<BR>
<BR>
<BR>filter sert pour le filtrage
<BR>nat pour la translation d'adresses
<BR>mangle pour manipuler les paquets au passage
<BR>
<BR>dans chaque table, il y a des chaines definies.
<BR>dans filter :
<BR>- INPUT
<BR>- OUTPUT
<BR>- FORWARD
<BR>
<BR>dans nat :
<BR>- PREROUTING
<BR>- POSTROUTING
<BR>- OUTPUT
<BR>
<BR>dans mangle :
<BR>- PREROUTING
<BR>- OUTPUT
<BR>
<BR>On peut eventuellement definir des tables utilisateurs (c'est le cas de la CUSTOM dont tu parles par exemple).
<BR>
<BR>Chaque chaine est une suite de règles.
<BR>Une règle, ca comprend
<BR>-des "patterns" (des trucs qui doivent etre verifies pour que la règle soit appliqué, l'equivalent des "if" dont tu parles...
<BR>-une cible à appliquer en cas de verification des patterns
<BR>-eventuellement des options à appliquer avec les cible (en particulier pour les logs...)
<BR>Les cibles courantes sont : DROP, ACCEPT, DNAT, SNAT, MASQUERADE, LOG
<BR>
<BR>Le truc c'est que l'on n'ecrit pas les règles directement, on utilise une commande magique :
<BR>iptables.
<BR>On l'utilise comme ça :
<BR>
<BR>iptables -t table -[A|I|D] chaine {suites de patterns} -j [ACCEPT|DROP|DNAT...]
<BR>
<BR>par exemple la chaine que je t'ai donnée :
<BR>
<BR>iptables -A INPUT -p udp -s 192.168.1.1 --dport 1440 -j DROP
<BR>
<BR>(j'ai oublié de specifier que la table par defaut est filter, donc dans ma règle c'est cette table là qui est utilisée).
<BR>-A (append=ajouter à la fin d'une chaine, I=insert pour la mettre au debut, on peut eventuellement specifier des numeros)
<BR>INPUT : j'ajoute à la table INPUT qui est celle utilisée pour les paquet arrivant par une interface et destinés uniquement à la machine qui fait firewall
<BR>-p udp : -p permet de specifier un protocole à verifier. Icic j'ai mis udp car tous les paquets que tu as montrés sont sur ce protocole
<BR>-s 192.168.1.1 : -s permet de specifier une adresse source de paquet. Ici, donc, l'adresse du modem
<BR>--dport : specifie le port source : 1440
<BR>-j DROP : explicite !
<BR>
<BR>En clair cette regle, ajoutée en tete de chaine input, va jeter tous les paquets qui correspondent aux paramètres cités.
<BR>Le truc c'est que IPCop par defaut envoie tout en LOG, et qu'il bloque les paqutes destinés au broadcast. DOnc tes paquets sont loggés...
<BR>
<BR>Voila, il y a pas mal de finesses, mais avec un peu d'habitude cela est assez aisé.
<BR>
<BR>Pour une bien plus complète et pédagogique presentation de iptables, voir <!-- BBCode u2 Start --><A HREF="http://christian.caleca.free.fr/netfilter" TARGET="_blank">ici</A><!-- BBCode u2 End -->
<BR>
<BR>
<BR>Thomas
One hundred thousand lemmings can't be wrong...