Bonjour,
J’ai une application VB.Net qui dépose un fichier sur mon serveur FTP (utilisation de la classe System.Net.FtpWebRequest du FrameWork 3.5). Ce serveur FTP est “proftpd 1.3.0” hébergé sur une machine Linux Debian Etch (Linux Serveur-00 2.6.18-4-486 #1 Wed May 9 22:23:40 UTC 2007 i686 GNU/Linux).
Dans le cadre d’un réseau local, tout se passe correctement. L’application VB.Net se connecte au serveur FTP puis dépose le fichier. Malheureusement, cela se complique lors de l’utilisation de l’adresse Internet de mon serveur FTP. L’application VB.Net retourne le message “La connexion de données a été effectuée à partir d’une adresse qui est différente de l’adresse de la connexion FTP.”
Mon serveur FTP est ouvert sur Internet par l’intermédiaire d’une FreeBox configurée en mode routeur et NAT. Avec un client FTP (WinSCP), il n’y a pas de problème pour se connecter à mon serveur FTP depuis Internet. Cependant, en attaquant par “telnet” mon serveur FTP Internet et en y effectuant quelques commandes, je me suis aperçu que le serveur FTP retournait mon adresse IP privé et non mon adresse IP Public. Cela semble correspondre à l’exception remonté par l’application VB.Net!
Comment peut-on forcer l’adresse IP Privé à être remplacée par l’adresse IP Public ?
J’ai essayé des choses avec “#iptables -t nat -A POSTROUTING -j MASQUERADE” mais cela n’a rien donné. L’adresse IP Privé est toujours renvoyée et non l’IP Public.
Je suis preneur de toutes idées et solutions.
Merci pour votre collaboration.
A Noste Kêe,
Richard.