Sebastien Chassot wrote:
Bonjour � tous,
j'ai un petit soucis en tant que client ftp pour �tablir une connexion � travers mon gateway/firewall. J'utilise ipnat ipf sous freebsd 5.3 stable et j'essaie de me connecter sur le ftp s�curis� de mon h�bergeur avec lftp. Je crois avoir localis� le probl�me mais la solution semble d�passer mes comp�tences.
Dans ma configuration actuelle, je peux me connecter en mode passif ou actif � un server publique, le proxy ftp d'ipnat fonctionne et ipf laisse passer.
Quand je me connecte au server s�curis� je peux changer de dir (canal commande ?) mais ne peux pas ex�cuter ls, put, get,... ( canal data ?).
Si j'ai bien compris en googlant, dans l'�tablissement d'un canal de donn�e, en mode actif, mon client donne son adresse ip (172.16.2.101) par une commande PORT et le server distant n'a pas l'ip publique de mon firewall.
En mode passif mon firewall block la sortie sur le port 37999 (voir plus bas) et la connexion ne s'�tabli pas (j'ai essay� d'ouvrir les ports +40000 mais �a doit �tre plus compliqu� que �a).
Je ne sais pas si j'ai �t� claire (j'ai un peu de peine avec les
firewall). Y'a t'il une �vidence � c�t� de laquelle je suis pass� ?
qq'un peut il m'expliquer le "couplage" entre ftp et ssh et/ou comment
passer le firewall ?
il y a 2 proto diff�rents: - ssh avec le subsystem sftp (scp) et, - ftp sur ssl
ftp sur ssl est simplement du ftp "normal" mis sur ssl. Il est normal que le fw ne puisse pas ouvrir dynamiquement les ports (comme pour le ftp) car il ne peut pas lire dans la connexion de controle. En effet, il y a une connexion de controle pour le ordre et la connexion data cr��e dynamiquement pour chaque ordre impliquant plus qu'un code de retour (m�me ls requiert une connexion data). C'este l� qu'intervienne les modes passif et actif. Dans le premier la connexion de data est initi�e par le client et dans la seconde c'est le serveur. Dans les deux cas l'autre doit transmettre le port et l'IP sur lesquels il "attend" la connexion.
Il faut donc que le fw/gateway lise cet ordre (pour permettre dynamiquement � la connexion data de s'�tablir) et, le cas �vch�ant, il modifie les commandes PORT (dans le cas du mode actif et/ou NAT-PAT).
Mais il ne peut �videmment pas le faire puisque la transaction est encrypt�e (SSL).
Avec ssh il n'y a pas ce probl�me car un "tunnel" se cr�e entre la machine client et la machine serveur. Vu depuis le fw il n'y a qu'une connexion sortante unique vers le serveur sur le port ssh.
Donc ftp sur ssl ne devrait pas passer les fw qui NAT. (Sauf si qqch m'�chappe)
Magnus
Merci.
########################################
lftp mode actif
########################################
ls
---- Connecting to XXXXXXXXXXX port 21 <--- 220 ProFTPD 1.2.9 ServerProFTPD) XXXXXXX ---> FEAT <--- 211-Features: <--- MDTM <--- REST STREAM <--- SIZE <--- AUTH TLS <--- PBSZ <--- PROT <--- 211 End ---> AUTH TLS <--- 234 AUTH TLS successful ---> USER xxxxxx Certificate depth: XXXXXXXXXXXXXXXXXXXXX
<--- 331 Password required for xxxxxx
---> PASS xxxxxxxx
<--- 230 User xxxxxx logged in. ---> PWD
<--- 257 "/" is current directory.
---> PBSZ 0
<--- 200 PBSZ 0 successful
---> PROT P
<--- 200 Protection set to Private
---> PORT 172,16,2,101,198,127
<--- 500 Illegal PORT command ---- Switching passive mode on
---> LIST
---> ABOR
---- Closing aborted data socket
---- Closing control socket
########################################
Mode passif
########################################
ls---- Connecting to 84.xx.xx.xx port 21
<--- 220 ProFTPD 1.2.9 Server (ProFTPD) xxxxxxxxxx
---> FEAT
<--- 211-Features:
<--- MDTM
<--- REST STREAM <--- SIZE
<--- AUTH TLS
<--- PBSZ
<--- PROT
<--- 211 End
---> AUTH TLS
<--- 234 AUTH TLS successful ---> USER xxxxx
Certificate depth: XXXXXXXXXXXXXXXX
<--- 331 Password required for xxxxx
---> PASS xxxxxxxxx
<--- 230 User xxxxxx logged in. ---> PBSZ 0
<--- 200 PBSZ 0 successful ---> PROT P
<--- 200 Protection set to Private
---> PASV
<--- 227 Entering Passive Mode (84,xx,xx,xx,148,111).
---- Connecting data socket to (84.xx.xx.xx) port 37999
---> LIST
**** Socket error (No route to host) - reconnecting
---> ABOR
---- Closing aborted data socket
---- Closing control socket
##############################
***************************
Chassot Sebastien
***************************
_______________________________________________
gull mailing list
[email protected]
http://lists.alphanet.ch/mailman/listinfo/gull
_______________________________________________ gull mailing list [email protected] http://lists.alphanet.ch/mailman/listinfo/gull
