par tomtom » 29 Oct 2003 16:56
Bon, je sens qu'il y a encore entre ouvrir, transferer, forwarder etc, une confusion qui n'a pas lieu d'être...
<BR>
<BR>IPCop est un firewall...
<BR>C'est à dire que qudn un paquet arrive sur une de ses interfaces réseuax, et en fonction de certains paramètres, il va decider ce qu'il peut faire de ce paquet.
<BR>IPcop utilise netfilter comme firewall. Netfilter est architectué autour de 3 tables :
<BR>Une qui sert à autoriser ou non le spaquets à passer (filter)
<BR>Une qui sert à modifier les addreses au sein des paquets (nat)
<BR>Une qui sert à "bricoler" certains paramètres des paquets au passage (mangle).
<BR>
<BR>Que se passet-il quand un paquet se presente sur une interface ? Prenons par exemple l'interface RED.
<BR>Un paquet arrive sur le port 9000 pour vnc.
<BR>
<BR>-> en premier, dans la table NAT, une serie de règles dites de "prerouting" vont faire les modifications d'adresses en fonction du protocole, des addresses, du port etc
<BR>-> une fois ceci effectué, on a une decision de routage. En fonction des paramètres qui sont dans le paquet (apres modif par le nat !), on decide si ce paquet est destiné à l'ordinateur lui-même ou à un autre.
<BR>
<BR>-->1-destiné à lui même. -> il test soumis au filtrage, dans la chaine input². S'il est accepté il est transmis au demon qui ecoute... sinon, il est dropé...
<BR>
<BR>-->2 destiné à une autre machine -> il est soumis au filtrage, dans la chaine output. S'il est accepté, il passe à la chiinae de POSTROUTING de la table NAT. Sinon, il est dropé...
<BR>
<BR>-> dans le postrouting, on peut encore modifier des addresses.....
<BR>
<BR>
<BR>
<BR>
<BR>Partant d'une configuration de base, que se passe-t-il ?
<BR>
<BR>-> si on ajoute une regle avec ce port dans acces aux services externes, cela va ajouter des règles dans la table INPUT (et seulement celle-ci !), ce qui fait qu'un paquet arrivant sur ce port pourra etre transmis à un demon ecoutant sur IPCop lui-même. On utilise ceci par exemple pour autoriser l'acces en ssh !
<BR>
<BR>-> si on ajoute un transfert de port, il y a 2 actions derrière :
<BR> 1- une règle dans le prerouting qui dit que les paquets arrivant sur le port 9000 doivent etre modifiés pour que l'addresse destination devienne celle du serveur vnc en question
<BR>2- une règle est ajoutée dans la chaine forward qui autorise les paquets à destination du port 9000 à être transmis à une autre machine (ou juste à la machine en question...)
<BR>
<BR>
<BR>Oubliez tout ce que vous saviez sur ipchains (anciennes versions d'ipcop), il n'est pas necessaire du tout d'"ouvrir" les ports de la machine locale pour faire du transfert !
<BR>Et arretez d'utiliser à tort et à travers le terme "ouvrir" un port qui ne veut rien dire du tout.
<BR>
<BR>
<BR>
<BR>
<BR>t.
One hundred thousand lemmings can't be wrong...