Site FTP

Bonjour,

Je ne suis pas spécialiste et j’aimerai bien avoir un peu d’aide.

je voudrais en savoir un peu plus sur le protocol FTP, je m’explique:
J’ai plusieurs “site” ftp hébergé derriere la meme adresse ip publique. Jusque la pas de soucie.
J’arrive a faire les redirections de ports sur les différents machine. Là, je commence à me poser une question simple:

Comment fonctionne le téléchargement et l’upload de fichier?
Combien de conncetion entrante et sortante a besoin 1 utilisateur?
J’ai remarqué de manière empirique qu’en plus du port 21, j’ai besoin d’au moins 5 ports pour lancer un téléchargement. Je ne l’explique pas, c’est pas clair du tout.
Combien de port ai-je besoin pour lancer 10 téléchargements en parallele pour 1 utilisateur?
Quel est le rapport entre Nbr de port / débit => pour 1 téléchargement.

j’ai besoin de comprendre pour définir exactement ce dont j’ai besoin pour le port range de pure-ftpd et pour les translations d’adresses de mon routeur.

J’espere être assé clair.

vandman

Si, il y a déjà souci car la seule façon de faire est d’utiliser des ports différents pour chaque serveur, et notamment différents de 21, et ça, FTP n’aime pas. Plus exactement ce sont les pare-feu à état et routeurs NAT qui n’aiment pas, car ils ne gèrent correctement le protocole FTP que si on utilise le port standard 21. Et je ne parle pas des pare-feu qui bloquent carrément les ports non standard.

Le client établit une connexion “de commande” sur le port 21 (par défaut) du serveur. Il envoie des commandes et le serveur lui répond par cette connexion. Quand il faut lister un répertoire, envoyer ou recevoir un fichier, il y a deux modes possibles, actif et passif. C’est le client qui choisit en fonction de ce que le serveur supporte.

En mode passif, le serveur envoie au client l’adresse et le port où le client doit se connecter pour établir une connexion de données. En mode actif, c’est le client qui envoie au serveur l’adresse et le port où le serveur doit se connecter pour établir une connexion de données ; traditionnellement, le serveur établit la connexion à partir de son port source 20 mais ce n’est pas très important.

Les pare-feu et NAT qui gèrent automatiquement le FTP lisent le contenu de la connexion de commande sur le port 21 et connaissent les caractéristiques de la future connexion de données, ce qui leur permet de l’autoriser, rediriger et modifier à la volée l’adresse transmise par la connexion de commande lorsque celle-ci est derrière un routeur NAT.

Quand le pare-feu ou le routeur NAT ne gère pas le FTP ou que la connexion de commande utilise un port autre que 21, alors les connexions de données sont vues comme des connexions indépendantes de la connexion de commande FTP. Pire, dans le cas du NAT l’adresse transmise par la connexion de commande n’est pas modifiée, et la machine qui la reçoit essaie de se connecter à cette adresses injoignable (puisque masquée derrière un NAT).

Autant dire que le mode actif est à oublier dans cette situation si tu ne maîtrise pas la configuration du côté du client.

Ça dépend de son client FTP, s’il se comporte comme un gorer ou est économe en connexion. Au minimum, deux : une connexion de commande qui dure tout le temps de la session, et une connexion de données à la fois pour chaque opération de listage, envoi ou réception.

Au minimum, 1 port par téléchargement en plus du port de la connexion de commande. Mais il vaut mieux prévoir un peu large, car un ports ne redevient pas forcément disponible immédiatement quand la connexion associée est terminée.

Aucun. Un téléchargement = un port.
Attention aux “accélérateurs de téléchargement” : il font plusieurs téléchargements en parallèle pour récupérer chacun un morceau du fichier.

Bon courage, car il ne suffira pas de définir des plages de ports. Il faudra aussi définir l’adresse passive publique sur chaque serveur qui n’a pas le port 21.

Merci,
En fait, je savais plus ou moins tout ce que tu as écrit. J’ai juste eu une bonne piqure de rappel.

j’ai eu un petit stress en utilisant Filizila et en ne voyant pas de download démarrer.
J’ai confondu nombre de port ouvert sur le routeur et téléchargement visible dans filezilla (ligne verte de chargement).
Sujet, Clos et merci encore pour ta réponse.

Cordialement,
Vandman