Explications sur le protocole ! [FTP] - Windows & Software
Marsh Posté le 02-04-2003 à 18:58:23
Marsh Posté le 02-04-2003 à 19:22:50
Désolé ce n'est pas une réponse, puisque depuis plusieurs semaines j'essaye (en vain) de résoudre le même problème.
J'ai fait des expériences avec mon routeur et aussi il met à jour tout seul sa NAT dynamique pour une connection entrante!!!
Deux hypothèses:
-il est capable de reconnaître les connections FTP et d'adapter son comportement (peu probable et pas forcement très facile à mettre en oeuvre)
- est ce que la NAT dynamique travaille exclusivement en IP+PORT : En ce sens que si elle a une règle préexistence vers IP extérieure, elle accepte de forwarder des paquets venant de cette même IP mais d'un autres PORT???
Marsh Posté le 02-04-2003 à 19:42:26
lyynx a écrit : Désolé ce n'est pas une réponse, puisque depuis plusieurs semaines j'essaye (en vain) de résoudre le même problème. |
non je crois que t as pas saisi ce dont je parlais
moi je te parle du fait que du cote client ou il n y a aucun NAT de fais, ben il recois une connection data du server avec un source port completement inconnu du au fait qu'il a etait nate en sortant du serveur FTP
si il n'etait pas nate du cote du sevreur, on peut concevoir que le client recevant une connection source port 20 se dise ca c'est une connection data donc j accepte.
mais la le source port est totalement inconnu, c'est ca qui est etrange, parce ca marche qd meme, donc le client l accepte...
Marsh Posté le 02-04-2003 à 19:46:27
a je suis en train de pense a un truc
en fait peut etre que lorsque le client etablie sa connection commande (port 21), sachant qu'il va faire du mode actif dis par l'intermediaire de la connection commande au serveur FTP d'etablir sa connection data sur tel port du client
et a ce moment la peu importe le source port de la connection data partant du serveur
le client accepte comme connection data la requete arrivant a destination du port precise ulterieurement...
ca dois etre ca, parce que je vois pas d autre possibilite...
Marsh Posté le 02-04-2003 à 20:48:36
une piste pour que tu trouve la solution :
regarde les ports ouverts sur ton client derriere le nat
regarde les ports ouverts apres le nat
et regarde la commande PORT xxx,xxx,xxx,xxx,5,199 envoyer au ftp
tu vas remaquer qq ptit truc
Marsh Posté le 02-04-2003 à 18:05:53
bon alors, j'ai besoin d'une explication sur le protocole FTP
vais essayer de presenter le plus clairement possible la situation
soit un serveur FTP (n acceptant que le mode ACTIF) qui se trouve sur une machine dans un lan derriere une passerelle qui fait du NAT.
soit un client qui lui n'ai pas nater, il a donc une ip publique
il fais sa requete au serveur FTP:
ipclient: (1024:65535) --> ipserveur: 21
la quand la requete arrive sur la passerelle cote serveur, y a un port forwarding qui redirige le 21 sur le serveur FTP.
avec ca table de nat il est maintenant capable d assurer les echanges avec le client et faire en sorte que la reponse du serveur source port 21 ne soit pas nate et que sont port reste bien le 21...
ipserveur: 21 --> ipclient: (1024:65535)
maintenant c'est l ouverture du port DATA, le serveur emet une requete source port 20 a destination du client.
seulement au moment ou cette requete arrive sur la passerelle, il se trouve qu'elle est nate...
et le source port 20 devient un highport dans les environs de 65000...
mon probleme c'est que ca fonctionne tres bien, et je comprend pas comment c'est possible
pour resumer du cote du client:
il emet une requete sur le port 21, ensuite il recoit une requete avec comme port source un highport completement aleatoire et ca ne semble ne lui poser aucun probleme...
il sait qu il s agit de la connection data du serveur FTP ??!!
alors la faut qu'on m explique
petite precision, aucun module de suivi de connection style conntrack_FTP ou NAT_FTP n'est charge du cote du serveur comme celui du client...
merci d avance pour vos idees
Message édité par djtoz le 02-04-2003 à 18:06:22