[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: ftp : xxbox et suivi de connexion



On Mon, Jun 18, 2007 at 11:33:49PM +0200, Pascal Hambourg wrote:
> Salut,
> 
> Franck Joncourt a écrit :
> >- Un serveur vsftp en mode passif est présent sur mon serveur
> >- Une livebox qui forward les ports passifs ainsi que le port 21 vers mon
> >  serveur.
> [...]
> >Le module de suivi de connexion ftp est bien chargé et précise le port 21
> >comme port pour le control channel.
> >
> >Les résultats obtenus :
> >- Un fonctionnement normal sur mon réseau en adaptant l'option de vsftpd
> >  pasv_address pour mon reseau local. Le suivi de connexion fonctionne,
> >  la connexion sur le data channel est bien reconnue comme étant dans
> >  l'état RELATED et non NEW.
> 
> Quand tu écris "en adaptant l'option pasv_address", je suppose que tu 
> lui affectes l'adresse privée du serveur, et que ça marcherait aussi 
> bien sans cette option puisque par défaut le serveur transmet sa propre 
> adresse ?

Oui c'est ça, sauf que je ne savais pas quelle adresse il mettait dans
la réponse à une requête pasv si je ne définissais pas celle-ci
explicitement.

> 
> >- Depuis l'extérieur, en adaptant l'option pasv_address pour Internet,
> > les connexions sur le control channel se font normalement, mais la
> > première connexion sur le data channel qui devrait être considérée
> > comme RELATED, est reconnue comme NEW
> 
> Dans ce cas je suppose que l'option pasv_address est réglée pour 
> transmettre l'adresse publique de la Livebox. 

Toujours bon :p!

> un paquet de demande 
> d'établissement d'une connexion de données en mode passif arrive à la 
> Livebox, subit la redirection de port de la Livebox et arrive au serveur 
> avec comme adresse de destination l'adresse privée du serveur. Mon avis 
> est que le suivi de connexion du serveur attend comme adresse de 
> destination l'adresse publique, qu'il a vue dans la réponse à la 
> commande PASV, et ne reconnaît pas le paquet avec l'adresse privée comme 
> lié à la connexion FTP.

Maintenenant que tu me le dis, celà me paraît logique. Mais je n'y avais
pas pensé.

> Une solution simple consisterait à autoriser l'état NEW en entrée pour 
> les ports passifs. Mais je pense que tu le savais déjà.

Oui, mais cela me déplait un peu.

> Accessoirement, tu as vérifié que la Livebox ne fait pas toute seule la 
> translation de l'adresse en mode passif, comme je suppose qu'elle le 
> fait en mode actif ?
> 

Qu'entends tu par translation de l'adresse en mode passif ?
Je considère le fait que la livebox change l'adresse publique contenue
dans l'en-tête des trames ip par l'adresse de mon serveur en local,
comme de la translation d'adresse. C'est ce qui est fait, quand un
client tente de se connecter sur mon serveur FTP en utilisant mon
adresse publique. C'est la façon dont je vois les choses.

Donc d'après ce que je comprends, deux cas se présentent (dans tous les
cas le dialogue sur le control channel se passe bien)

 1/ cas 1: la réponse du serveur FTP, au client extérieur, à la commande
 PASV contient l'adresse local, et le port de connexion sur lequel le
 serveur est à l'écoute. La xxbox se charge de modifier les en-tête
 des trames ip pour la prise en compte de l'adresse publique. Le client
 tente de se connecter alors sur le data channel mais échoue à cause de
 l'ip destination qui est l'ip local du serveur. La solution serait que
 la xxbox modifie l'ip présente dans la réponse à la commande PASV (ip
 locale du serveur) par l'ip publique.
 => Il n'y a aucune chance que ce soit possible. Dans ce cas, le suivi
 de connexion aurais fonctionné.

 2/ cas 2 : celui que je rencontre et que tu as expliqué ci-dessus.
 Le suivi de connexion ne fonctionne pas.

Au final, il n'y a pas d'issue hormis d'autoriser les connexions de
types NEW sur les ports passifs du serveur.
Si, il y a bien une autre solution qui est toute a fait envisageable,
remplacer cette livebox par un modem ; cela fait longtemps que je me dis
cela, mais elle me nargue toujours depuis le temps :p!

-- 
Franck Joncourt
http://www.debian.org - http://smhteam.info/wiki/
GPG server : pgpkeys.mit.edu
Fingerprint : C10E D1D0 EF70 0A2A CACF 9A3C C490 534E 75C0 89FE

Attachment: signature.asc
Description: Digital signature


Reply to: