Donner accès a son serveur FTP à l'extérieur

Bonsoir,

Alors voilà le problème :

J’ai chez moi un serveur ftp, j’y accède grâce à : ftp://ip. Ca marche, c’est cool.

Maintenant j’aimerai donner cette accès à l’extérieur.

Pour cela j’ouvre le port 21 et je donne son accès

[code]# iptables -t filter -A OUTPUT -p tcp --dport 21 -j ACCEPT

root@debian:/home/tt# ftp localhost
Connected to localhost.
220 ProFTPD 1.3.4a Server (Debian) [::1]
Name (localhost:tt): tt
331 Password required for tt
Password:
230 User tt logged in
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> sendport 21 on
Use of PORT cmds off.
ftp> sendport 21 on
Use of PORT cmds on.[/code]

Mais ça marche pas … Quand j’essaye d’y accéder via une connection qui ne se situe pas sur mon réseau interne ca charge pendant un moment puis ça affiche

[quote]The connection has timed out

      The server at 192.***.*.*** is taking too long to respond.

The site could be temporarily unavailable or too busy. Try again in a few
moments.
If you are unable to load any pages, check your computer’s network
connection.
If your computer or network is protected by a firewall or proxy, make sure
that Firefox is permitted to access the Web.[/quote]

Merci d’avance

[et joyeuses fêtes :114 ]

“j’ouvre le port 21 et je donne son accès”, c’est avec la règle iptables qui suit ? Si oui, tu es loin du compte.

  1. Cette règle iptables traite les paquets sortants (chaîne OUTPUT), pas les paquets entrants. Elle est donc inappropriée. D’autre part si des règles iptables sont déjà en place, “ouvrir le port” peut être un peu plus qu’ajouter des règles. S’il n’y a pas de règle iptables, alors en ajouter ne sert à rien. A vérifier avec iptables-save.

  2. Dans le premier test on peut voir que localhost a été résolue en ::1, c’est-à-dire l’adresse de loopback IPv6 à usage interne. Si tu veux donner l’accès en IPv4 depuis l’extérieur de la machine, il faut tester avec son adresse IPv4 sur le réseau local. De même si tu veux donner l’accès en IPv6, il faut tester avec son adresse IPv6 globale (pas celle en fe80::slight_smile: sur le réseau local.

  3. Le début de l’adresse que tu utilises depuis l’extérieur du réseau local, 192, fait penser à une adresse privée 192.168.x.y. Si c’est bien le cas, alors cette adresse est injoigable depuis internet, et tu dois avoir un routeur ou une box qui fait du NAT entre internet et le réseau local. Dans ce cas il faut au minimum créer sur le routeur une redirection du port 21 vers l’adresse privée de la box. Si le routeur ne gère pas le explicitement protocole FTP en entrée, alors il faudra ajouter une autre redirection pour la plage de ports “passifs” et modifier l’adresse passive transmise par le serveur (ce qui peut poser problème lors des connexions depuis le réseau local). Ensuite pour accéder au serveur FTP depuis l’extérieur, il faudra utiliser l’adresse publique du routeur. Si tu n’as pas une adresse IP fixe, alors il faudra mettre en place un nom de domaine dynamique pour suivre les changements de l’adresse IP.

Pour le troisième point c’est exact mais parce que je suis en wifi. Mon routeur a une adresse IP fixe du type 192.9.***.*** et c’est la dessus que j’aimerai mettre mon serveur au final.

Pour le premier en effet :blush: . Mais un INPUT ne règle pas la chose :confused:

Et enfin, pour le deuxième point, j’ai pas très très bien compris :s

Qu’est-ce que le wifi a à voir là-dedans ?
“Là-dessus” ? Le serveur FTP tourne sur la machine qui fait routeur et a l’adresse IP publique en 192.9.x.y ?
Tu es sûr de cette adresse ? Sauf erreur toute cette plage est attribuée à Sun/Oracle.
Je pense qu’un description de ton réseau depuis l’équipement d’accès à internet s’impose.

Euh … Alors internet arrive dans une livebox orange (avec IP fixe) [cette partie je n’y ai pas accès]
l’adresse est 191.9.***.*** désolé

J’ai ensuite accès à un câble qui va de la livebox à ma chambre. De là j’ai un routeur (wifi et filaire) qui donne internet à moi et à mon entourage.

le routeur est bien paramétré pour que lorsqu’on se connecte dessus on n’ait pas besoin de rentrer manuellement l’adresse IP fixe.

Mon serveur FTP est un ordinateur fixe qui a l’adresse ip fixe mais là je fais des tests avec mon ordinateur portable (qui passe par le routeur)

Ah, l’adresse IP a changé. Mais c’est l’adresse de QUOI ? De la livebox côté internet, de ton routeur côté livebox, de ton serveur ?

En dehors de ça, la situation se complique avec deux routeurs (la box et le tien) qui font du NAT, je parie. “L’extérieur” qui doit avoir accès au serveur FTP, c’est juste les machines servies par la livebox ou bien tout l’internet ? Dans le premier cas, il faut créer une redirection vers ton serveur dans ton routeur comme je l’ai expliqué et utiliser son adresse côté livebox pour accéder au serveur depuis le réseau de la livebox. Dans le second cas, il faut créer la même redirection dans la livebox vers ton routeur, mais si je comprends bien tu n’as pas accès à la configuration de la livebox.

L’adresse IP de mon fixe est celui de la livebox
L’adresse IP de mon portable est celui de mon routeur

Tout le reseau a deja accès à mon serveur (de mon ordi à la livebox). Sur ce point là pas de problème.

Ca serait pour que tout internet l’ait (pour moi quand je ne suis pas chez moi en fait)

En effet j’ai pas accès à la configuration de ma livebox (à mon père qui ne veut pas que j’y touche parce que “ca marche très bien donc je ne veux pas que tu y touches mon fils” :/)

Bon ben tans pis ce sera pour quand j’aurais mon propre accès internet cette histoire :mrgreen: . Merci pour ton aide en tout cas et désolé pour mon incompréhension mais j’ai quasiment aucune notion dans ce domaine en fait :confused:

C’est bien ton site ? on peut donc se connecter dessus depuis internet :wink:
FileZilla est peut-être une solution, plus rapide d’accès à ton serveur (sftp), le temps que tu creuses un peu plus le sujet…

Edit: Oups : filezilla.fr/tutoriel-aide-suppo … filezilla/

J’en doute. L’adresse IP appartient à l’ENSIIE. A moins que le serveur web de cette école soit derrière une livebox… (non, je blague, c’est par RENATER comme la plupart des établissements d’enseignement).

[quote=“Tristan.T”]L’adresse IP de mon fixe est celui de la livebox
L’adresse IP de mon portable est celui de mon routeur[/quote]
Ceci n’a aucun sens, ou bien tu t’exprimes très mal. Chaque machine a une (ou plusieurs) adresse IP différente qui n’appartient qu’à elle seule (sauf cas particulier comme l’anycast, mais hors de propos ici). L’adresse IP de ton serveur ne peut être celle de la livebox, et celle de ton portable ne peut être celle du routeur. Qu’affiche ifconfig sur ces deux machines ?

J’en doute. L’adresse IP appartient à l’ENSIIE. A moins que le serveur web de cette école soit derrière une livebox… (non, je blague, c’est par RENATER comme la plupart des établissements d’enseignement).[/quote]C’est une chose que je ne savais pas, merci. J’ai eu un peu la flemme de chercher, un simple whois m’en aurais dit un peu plus :wink:

[quote=“Tristan.T”]En effet j’ai pas accès à la configuration de ma livebox (à mon père qui ne veut pas que j’y touche parce que “ca marche très bien donc je ne veux pas que tu y touches mon fils” :/)[/quote]M’est avis que c’est mort… si tu ne peux pas toucher à la config de la livebox, tu ne pourras pas “rediriger” le port 21 vers l’intérieur de ton réseau… (ta box a deux adresses (au moins), une “interne” et une “externe”… t’es sûr de ton adresse “externe” (ou public), tu peux la vérifier en allant sur monip.org par exemple… De plus, quel est le modèle exact de ta livebox, certaines sont vraiment chiantes à configurer de ce coté là (sur celle d’un collègue, t’as beau faire ta redirection, elle n’est effective QUE si tu redéfinie toutes tes règles de filtrage en “personnalisées”, les différents niveau prédéfinis interdisent le 21, même le “faible”, contournement possible en redirigeant un autre port extérieur vers le 21 de ton serveur, ce que ne voulait pas faire le dit-collègue parce qu’il allait donner l’accès à des personnes qui ont déjà du mal à utiliser un client ftp, alors, de là à leur expliquer comment faire pour utiliser un autre port… :005 …)

:006

Ouaip le site est sur le serveur de mon école. Tout marche c’est d’ailleurs grâce à lui que j’apprends, fait des tests, etc … Mais je pense que si je m’en sers pour stocker des fichier trop volumineux ils vont me taper sur les doigts ^^ (et puis j’aime l’idée d’avoir une certaine autonomie)

Sinon je pense que je m’exprime très mal ^^. J’essayerai de potasser un peu plus le sujet afin que je sache exactement comment aborder la chose ^,^

Sinon pour les adresses IP
fixe : 192.9.200.98
portable : 192.168.0.104

Il y a une autre raison pour ne pas utiliser un autre port que le 21 pour le FTP : les pare-feu et dispositifs NAT dont l’internet est truffé doivent avoir une prise en charge spécifique du protocole FTP à cause de sa complexité ; or cette prise en charge ne s’opère bien souvent que sur le port 21, sauf configuration spécifique (ex: l’option ports= du module de suivi de connexion FTP nf_conntrack_ftp du noyau Linux).

[quote=“Tristan.T”]Tout le reseau a deja accès à mon serveur (de mon ordi à la livebox). Sur ce point là pas de problème.
Ca serait pour que tout internet l’ait (pour moi quand je ne suis pas chez moi en fait)
En effet j’ai pas accès à la configuration de ma livebox (à mon père qui ne veut pas que j’y touche parce que “ca marche très bien donc je ne veux pas que tu y touches mon fils” :/)[/quote]
Une variation du classique “touche pas à ça p’tit con”…
Tu pourras quand même lui signaler qu’utiliser une plage d’adresses publiques comme 192.9.200.98 pour un réseau privé, c’est mal. Il y a des adresses privées pour ça : 10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16.

Pour en revenir au problème de serveur FTP, pour le rendre accessible au reste du monde il faut configurer la box internet. Il y a bien un autre moyen qui est de monter un tunnel/VPN vers un point de sortie à l’extérieur (serveur hébergé ou fournisseur de VPN, ça semble à la mode) afin de passer à travers la box, mais ça devient compliqué.