premierement, un ftp utilise 2 ports
1 pour les commandes envoyés (21)
et un port pour le transferts de données (20 en mode actif, random en passif)
en passive :
Le client initie sur le port 21 (ton firewall le laisse passer)
Le ftp répond "ok parfait, maintenant pour léchange de donnée, recontacte moi sur le port 2024). C'est à ce moment que ton firewall bloque pcq le port n'est pas ouvert, et change random à chaque fois ! C'est pourquoi le module de tracking que je te parlais permet de "tracker" les ports et de les ouvrir dynamiquement.
En actif :
Le client connecte sur 21
Le ftp dit "ok on utilise le port 20 pour parler". C'est toujours le même ! Donc si tu ouvres 20 et 21 en actif, tu es correct
Mais comme tu peux voir, c'est le FTP qui connect le client sur le port 20. Alors si le client est derrière un routeur, ça ne fonctionnera pas, à moins de rediriger le port 20 sur ta machine, ou être dans la DMZ.
Donc le best :
Ftp en passive avec tracking module dans le kernel
OU
Ftp en passive avec un range de ports "random" définis. Donc on peut dire au ftp d'utiliser des ports random seulement de 15000 à 15500 et après on ouvre tout ces ports dans le firewall (j'aime moins ça).
voilà !