Plusieurs serveurs FTP derrière une seule adresse IP publique
Le
MarineW

Bonjour,
Je cherche depuis pas mal de temps sans trouver de solution. Voici mon
problème :
J'ai une adresse IP publique 1.2.3.4
J'ai 2 noms de domaine monDomaine1.fr et monDomaine2.fr
Derrière ma livebox, j'ai 2 serveurs FTP (2 machines sous Linux Debian
avec ProFTPD).
Je souhaite que quelqu'un qui se connecte par FTP sur le port standard
21, à l'URL monDomaine1.fr arrive sur le 1er serveur FTP, et que
quelqu'un qui se connecte par FTP sur le port standard 21, à l'URL
monDomaine2.fr arrive sur le 2ème serveur FTP.
(Cela revient un peu à utiliser les directives VirtualHost et
ProxyPass, pour faire la même chose avec des sites Web dispatchés sur
plusieurs serveurs Apache HTTP.)
Est-ce possible, et si oui, comment ?
J'ai cherché dans la doc de ProFTPD, j'ai regardé la possibilité
d'utiliser le proxy Squid, j'ai étudié également le module "Proxy_ftp"
de Apache HTTP à tout hasard, mais je ne trouve pas la solution.
Merci d'avance.
Je cherche depuis pas mal de temps sans trouver de solution. Voici mon
problème :
J'ai une adresse IP publique 1.2.3.4
J'ai 2 noms de domaine monDomaine1.fr et monDomaine2.fr
Derrière ma livebox, j'ai 2 serveurs FTP (2 machines sous Linux Debian
avec ProFTPD).
Je souhaite que quelqu'un qui se connecte par FTP sur le port standard
21, à l'URL monDomaine1.fr arrive sur le 1er serveur FTP, et que
quelqu'un qui se connecte par FTP sur le port standard 21, à l'URL
monDomaine2.fr arrive sur le 2ème serveur FTP.
(Cela revient un peu à utiliser les directives VirtualHost et
ProxyPass, pour faire la même chose avec des sites Web dispatchés sur
plusieurs serveurs Apache HTTP.)
Est-ce possible, et si oui, comment ?
J'ai cherché dans la doc de ProFTPD, j'ai regardé la possibilité
d'utiliser le proxy Squid, j'ai étudié également le module "Proxy_ftp"
de Apache HTTP à tout hasard, mais je ne trouve pas la solution.
Merci d'avance.
Derrière une LB, je ne vois pas comment ça pourrait être possible.
A moins d'utiliser des ports différents pour les deux FTP, bien sûr.
Remarque bien qui si quelqu'un venait me contredire, ça m'arrangerait
assez, vu que le cas s'est posé récemment pour moi, et j'ai même pas
imaginé que ça puisse être possible.
--
Nina
y'a pas d'équivalent en ftp au host http
une ip= un serveur
apres vous pouvez eventuellement monter un proxy ftp
ftp adresse_ip_publique
user qui aiguille sur le premier serveur ftp
et
ftp adresse_ip_publique
user qui aiguille sur le deuxieme serveur ftp
Non, ce n'est pas possible.
Comme l'a écrit Patrice, la notion de "virtual host" par nom qui est
possible en HTTP 1.1 grâce au champ d'en-tête "Host" n'et pas possible
en FTP car il n'y pas d'en-tête de requête comme en HTTP mais seulement
des commandes. De toute façon la gestion NAT de la Livebox aurait été
incapable d'en tenir compte, même en HTTP, car elle est limitée aux
adresses IP numériques et aux numéros de ports. Il reste donc le
"virtual host" par adresse (exclu puisque la Livebox ne gère qu'une
adresse IP publique) ou par port. Mais comme l'a souligné Nina, bon
courage pour faire du FTP sur un port non standard, compte tenu des
spécificités de ce protocole. Toutefois ça doit être possible en mode
passif en réservant une plage de ports à cet effet.
Aucun problème, j'ai un site où il y en deux qui tournent derrière une
box. Et bien entendu, le deuxième arrivé a gagné le droit de n'être
que passif :-)
--
Nina
Mais, imaginons que le FTP du domaine1 soit accessible aux utilisateurs
déclarés user1 et l'autre FTP = user2 ?
ftp://user1:
ftp://user2:
ça aiderait ou pas ?
Avec un des deux serveurs FTP jouant le rôle de proxy pour l'autre en
fonction du login ? Pourquoi pas, si le logiciel serveur le permet.
Ca, je m'étais posé la question au moins 30 mn, ça aurait été
(relativement) élégant.
Mais avec pureftp d'un côté, et Filezilla de l'autre, je n'avais rien
vu de probant.
--
Nina
Aucun problème, c'est vite dit... Si on a une adresse IP dynamique, il
faut que le logiciel serveur permette de spécifier l'adresse publique à
annoncer sous la forme d'un nom de domaine (mis à jour dynamiquement
bien entendu) ce qui n'est pas le cas de tous, ou bien il faut le
relancer après avoir mis à jour l'adresse IP publique dans sa configuration.
Le serveur devrait marcher en mode actif, puisque finalement ce mode est
plus simple à gérer pour les firewalls/NAT côté serveur. C'est avec les
firewalls/NAT côté client que ça coincerait probablement.
MarineW, si tu suis le fil ici, pourquoi tu ne crées pas un serveur FTP
avec deux répertoires distincts, chacun serait accessible en fonction
du login ?
Bonjour,
Je vois que vous n'avez pas chômé hier soir ! Merci de l'intérêt po rté
à mon problème.
Pour répondre à Pascal qui dit :
la LiveBox et les serveurs FTP. La Livebox se chargeant simplement de
transférer la requête sur le port 21 vers le bon serveur.
Pour répondre à Moggu, le problème est que je souhaite dédier l'un des
2 serveurs FTP à un usage particulier, en donnant la gestion des
comptes à une personne, via Webmin. Cette personne ne doit par contre
pas pouvoir toucher aux comptes de l'autre serveur FTP. Voilà pourquoi
j'ai absolument besoin d'avoir 2 serveurs distincts.
L'idée de router les requêtes en fonction du code utilisateur est un
peu contraignante, mais ça me semble être la seule solution, si je
veux rester sur le port 21, d'après ce que j'ai lu.
Après tout, pourquoi pas utiliser des comptes du type :
Quel outil et quelle configuration utilisez-vous pour faire cela ?
J'ai cru voir que ftpproxy (http://www.ftpproxy.org/) permet de faire
des choses en fonction de l'identifiant de l'utilisateur connecté. Il
va falloir que je creuse cette piste.
Merci encore.