Proftpd derrier routeur Belkin
Bonjour et merci à l'avance de votre collaboration,
j'ai une connexion internet directement branchée dans mon routeur Belkin
branché dans ce routeur, je suis sur Mandriva 2008 et j'ai installé proftpd et j'ai d'autres ordis branchés dans ce même routeur.
je peux facilement me connecter sur mon serveur FTP sous l'adresse 192.168.xxx.xxx sur le port 21.
Le problème est le suivant :
Quand j'essaie de me connecter via l'adresse externe 74.57.yyy.yyy , ca ne fonctionne pas. Ok, je redirige mon routeur vers mon serveur FTP pour les port 21 et les ports du mode passif sur le 60000:60500. Mais ca ne fonction toujours pas.
A l'aide, SVP
Bruno
j'ai une connexion internet directement branchée dans mon routeur Belkin
branché dans ce routeur, je suis sur Mandriva 2008 et j'ai installé proftpd et j'ai d'autres ordis branchés dans ce même routeur.
je peux facilement me connecter sur mon serveur FTP sous l'adresse 192.168.xxx.xxx sur le port 21.
Le problème est le suivant :
Quand j'essaie de me connecter via l'adresse externe 74.57.yyy.yyy , ca ne fonctionne pas. Ok, je redirige mon routeur vers mon serveur FTP pour les port 21 et les ports du mode passif sur le 60000:60500. Mais ca ne fonction toujours pas.
A l'aide, SVP
Bruno
A voir également:
- Proftpd derrier routeur Belkin
- Bouton du routeur sur pc - Guide
- Routeur alljoyn - Guide
- Routeur ryoko avis - Forum WiFi
- Avis sur MUAMA RYOKO ✓ - Forum WiFi
- Code confidentiel routeur 8 chiffres sfr - Forum Imprimante
5 réponses
je peux facilement me connecter sur mon serveur FTP sous l'adresse 192.168.xxx.xxx sur le port 21.
Contrairement à ton IP publique, ça ne sert à rien d'anonymiser une IP locale (en 192.168....). Seul toi peut y accéder, elle n'a d'ailleurs de sens que dans ton réseau local.
Quand j'essaie de me connecter via l'adresse externe 74.57.yyy.yyy , ca ne fonctionne pas. Ok, je redirige mon routeur vers mon serveur FTP pour les port 21 et les ports du mode passif sur le 60000:60500. Mais ca ne fonctionne toujours pas.
Normalement il suffit de rediriger au niveau de ton routeur le port 21 vers 192.168.xxx.xxx port 21. Il faut peut être redémarrer ton routeur pour que la règle soit prise en compte (c'est le cas pour les freebox par exemple, mais pas pour les livebox). Bien entendu si tu changes d'IP locale il faudra corriger cette règle. C'est pourquoi il est préférable que tu n'en changes pas (soit en réglant tes baux DHCP, soit en configurant ton réseau local avec des IP fixes).
Dans un premier temps avant de remettre la redirection de port en cause, assure-toi que tu arrives déjà à te connecter à ton serveur FTP en local. Installe pour cela un client ftp (par exemple lftp). Puis tape dans une console
Je te rappelle que 127.0.0.1 désigne ton interface lo (cela signifie que tu peux l'utiliser même sans carte réseau). L'IP 127.0.0.1 est souvent associé au nom "localhost". Exemple :
Ici mon PC utilise une interface eth1 (la carte réseau) qui a pour IP locale 192.168.1.10 et une interface lo représentée par 127.0.0.1. Si je pingue localhost :
... je pingue mon propre PC (idem si je pingue 192.168.1.10). De la même façon que ton IP locale n'a de sens que dans ton réseau local, ton IP de loopback n'a de sens que sur ton PC.
Si ton serveur ftp ne marche pas avec 127.0.0.1, le problème ne vient pas du routeur, mais bien du serveur ftp lui même. C'est-à-dire que celui-ci n'est pas lancé ou mal configuré (ou qui écoute sur un autre port). Je te rappelle que nmap permet de voir quels ports écoute ton PC. Par exemple :
... est sensé te montrer que le port 21 (ftp est ouvert). Exemple :
Ici mon PC écoute sur les ports 22, 80 etc... Cela signifie que l'on peut se connecter sur ces ports. Dans ton cas le port 21 (ftp) doit figurer dans la liste.
Une fois que tu arriveras à te connecter avec 127.0.0.1, tu pourras essayer avec 192.168.xxx.xxx et enfin avec 74.57.yyy.yyy
Voici ce qui se passera :
Une connexion entrante d'un individu "pouet" provient du Web et veut se connecter sur ton serveur ftp. Il cherche alors à se connecter sur le port 21 de ton routeur via ton IP publique. Étant donné que le routeur a une redirection de port, au lieu de tenter d'établir une connexion ftp avec pouet, il transmet le boulot au port 21 de 192.168.xxx.xxx. Comme 192.168.xxx.xxx écoute sur le port 21 (car son serveur ftp est lancé), il peut alors établir la communication avec pouet.
Tu l'auras compris, pouet pourrait se connecter en ftp sur un port autre 21 du moment que celui-ci est redirigé vers 192.168.xxx.xxx:21. De la même façon, un serveur ftp n'écoute pas forcément sur le port 21, tu peux choisir un autre port si ça t'amuse. Ne pas perdre de vue que l'association port 21 - port ftp n'est qu'une convention, en fait on fait ce qu'on veut. Mais si on n'utilise pas les ports usuels, il faut alors bien entendu les préciser au moment d'établir la connexion.
Bonne chance
Contrairement à ton IP publique, ça ne sert à rien d'anonymiser une IP locale (en 192.168....). Seul toi peut y accéder, elle n'a d'ailleurs de sens que dans ton réseau local.
Quand j'essaie de me connecter via l'adresse externe 74.57.yyy.yyy , ca ne fonctionne pas. Ok, je redirige mon routeur vers mon serveur FTP pour les port 21 et les ports du mode passif sur le 60000:60500. Mais ca ne fonctionne toujours pas.
Normalement il suffit de rediriger au niveau de ton routeur le port 21 vers 192.168.xxx.xxx port 21. Il faut peut être redémarrer ton routeur pour que la règle soit prise en compte (c'est le cas pour les freebox par exemple, mais pas pour les livebox). Bien entendu si tu changes d'IP locale il faudra corriger cette règle. C'est pourquoi il est préférable que tu n'en changes pas (soit en réglant tes baux DHCP, soit en configurant ton réseau local avec des IP fixes).
Dans un premier temps avant de remettre la redirection de port en cause, assure-toi que tu arrives déjà à te connecter à ton serveur FTP en local. Installe pour cela un client ftp (par exemple lftp). Puis tape dans une console
lftp 127.0.0.1
Je te rappelle que 127.0.0.1 désigne ton interface lo (cela signifie que tu peux l'utiliser même sans carte réseau). L'IP 127.0.0.1 est souvent associé au nom "localhost". Exemple :
(mando@aldur) (~) $ /sbin/ifconfig eth1 Link encap:Ethernet HWaddr inet adr:192.168.1.10 Bcast:192.168.1.255 Masque:255.255.255.0 adr inet6: fe80::213:d4ff:fe5d:8bb7/64 Scope:Lien UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:2642 errors:0 dropped:0 overruns:0 frame:0 TX packets:2839 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 lg file transmission:1000 RX bytes:1726021 (1.6 MiB) TX bytes:539804 (527.1 KiB) Interruption:22 Adresse de base:0x6000 lo Link encap:Boucle locale inet adr:127.0.0.1 Masque:255.0.0.0 adr inet6: ::1/128 Scope:Hôte UP LOOPBACK RUNNING MTU:16436 Metric:1 RX packets:422 errors:0 dropped:0 overruns:0 frame:0 TX packets:422 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 lg file transmission:0 RX bytes:26072 (25.4 KiB) TX bytes:26072 (25.4 KiB)
Ici mon PC utilise une interface eth1 (la carte réseau) qui a pour IP locale 192.168.1.10 et une interface lo représentée par 127.0.0.1. Si je pingue localhost :
(mando@aldur) (~) $ ping -c2 localhost PING localhost (127.0.0.1) 56(84) bytes of data. 64 bytes from localhost (127.0.0.1): icmp_seq=1 ttl=64 time=0.031 ms 64 bytes from localhost (127.0.0.1): icmp_seq=2 ttl=64 time=0.027 ms --- localhost ping statistics --- 2 packets transmitted, 2 received, 0% packet loss, time 999ms rtt min/avg/max/mdev = 0.027/0.029/0.031/0.002 m
... je pingue mon propre PC (idem si je pingue 192.168.1.10). De la même façon que ton IP locale n'a de sens que dans ton réseau local, ton IP de loopback n'a de sens que sur ton PC.
Si ton serveur ftp ne marche pas avec 127.0.0.1, le problème ne vient pas du routeur, mais bien du serveur ftp lui même. C'est-à-dire que celui-ci n'est pas lancé ou mal configuré (ou qui écoute sur un autre port). Je te rappelle que nmap permet de voir quels ports écoute ton PC. Par exemple :
nmap 127.0.0.1
... est sensé te montrer que le port 21 (ftp est ouvert). Exemple :
(mando@aldur) (~) $ nmap localhost Starting Nmap 4.62 ( https://nmap.org/ ) at 2009-03-12 01:16 CET Interesting ports on localhost (127.0.0.1): Not shown: 1708 closed ports PORT STATE SERVICE 22/tcp open ssh 80/tcp open http 111/tcp open rpcbind 113/tcp open auth 631/tcp open ipp 865/tcp open unknown 7634/tcp open hddtemp Nmap done: 1 IP address (1 host up) scanned in 0.258 seconds
Ici mon PC écoute sur les ports 22, 80 etc... Cela signifie que l'on peut se connecter sur ces ports. Dans ton cas le port 21 (ftp) doit figurer dans la liste.
Une fois que tu arriveras à te connecter avec 127.0.0.1, tu pourras essayer avec 192.168.xxx.xxx et enfin avec 74.57.yyy.yyy
Voici ce qui se passera :
WEB (pouet) | 74.57.yyy.yyy:21 (ip publique du routeur) routeur 192.168...... (ip locale du routeur) | 192.168.xxx.xxx:21 (ip locale du PC) PC
Une connexion entrante d'un individu "pouet" provient du Web et veut se connecter sur ton serveur ftp. Il cherche alors à se connecter sur le port 21 de ton routeur via ton IP publique. Étant donné que le routeur a une redirection de port, au lieu de tenter d'établir une connexion ftp avec pouet, il transmet le boulot au port 21 de 192.168.xxx.xxx. Comme 192.168.xxx.xxx écoute sur le port 21 (car son serveur ftp est lancé), il peut alors établir la communication avec pouet.
Tu l'auras compris, pouet pourrait se connecter en ftp sur un port autre 21 du moment que celui-ci est redirigé vers 192.168.xxx.xxx:21. De la même façon, un serveur ftp n'écoute pas forcément sur le port 21, tu peux choisir un autre port si ça t'amuse. Ne pas perdre de vue que l'association port 21 - port ftp n'est qu'une convention, en fait on fait ce qu'on veut. Mais si on n'utilise pas les ports usuels, il faut alors bien entendu les préciser au moment d'établir la connexion.
Bonne chance
Vraiment très apprécié le temps que tu as pris pour me répondre mais ça ne fonctionne toujours pas... j'explique :
Le serveur FTP est bien lancé et je peux aisément m'y connecter. Autant à partir de l'ordi sur lequel est installer le serveur FTP qu'à partir des autres ordis de mon réseau perso. Ainsi, de 192.168.0.200 qui utilise un client ftp (filezilla) je peux aisément me connecté sur mon ordi 192.168.0.201 qui a le serveur FTP proftpd installé sous mandriva 2008. Ainsi, le port 21 est ouvert. De plus, tout ce passe sur mon réseau perso et j'ai bien demandé à mon routeur de faire le virtual server et transférer les demandes venant d'Internet et arrivant sur le port 21 sur l'ordi abritant le serveur FTP (192.168.0.201) et le tout, sur le port 21/TCP comme prévu.
Bref, ça fonctionne à l'intérieure de mon réseau mais de l'extérieur, c'est pas possible?
J'espère que ca vous aidera à me répondre et merci encore pour la précédente réponse.
Bruno
Le serveur FTP est bien lancé et je peux aisément m'y connecter. Autant à partir de l'ordi sur lequel est installer le serveur FTP qu'à partir des autres ordis de mon réseau perso. Ainsi, de 192.168.0.200 qui utilise un client ftp (filezilla) je peux aisément me connecté sur mon ordi 192.168.0.201 qui a le serveur FTP proftpd installé sous mandriva 2008. Ainsi, le port 21 est ouvert. De plus, tout ce passe sur mon réseau perso et j'ai bien demandé à mon routeur de faire le virtual server et transférer les demandes venant d'Internet et arrivant sur le port 21 sur l'ordi abritant le serveur FTP (192.168.0.201) et le tout, sur le port 21/TCP comme prévu.
Bref, ça fonctionne à l'intérieure de mon réseau mais de l'extérieur, c'est pas possible?
J'espère que ca vous aidera à me répondre et merci encore pour la précédente réponse.
Bruno
Alors en fait ne faut pas perdre de vue que si tu émets du trafic à destination de ton IP publique depuis un PC de ton réseau local, celui-ci n'est pas traité comme provenant de l'extérieur. En effet si tu regardes tes routes ça va ressembler à ça :
Tu ne peux donc tirer aucune conclusion quant au bon ou mauvais fonctionnement de ton forward de port depuis un PC de ton réseau local. Pour cela il faut faire le test depuis un PC en dehors de ton réseau local. Si par exemple tu es étudiant(e) tu as peut être possibilité de te connecter en ssh sur un PC de ton école. Une fois loggué sur ce PC, initie une connexion ftp vers ton IP publique. Le routeur percevra alors cette connexion ftp comme extérieure à ton réseau local et devrait alors appliquer correctement la redirection de port.
Exemple : sur mon routeur je redirige le port 22 (ssh) vers mon IP locale 192.168.1.10
Ok tout va bien... (idem avec 192.168.1.10).
Avec mon IP publique je me fais jeter. Je me connecte sur un PC extérieur à mon réseau local (sirius) :
Et là ça marche ;-)
Conclusion : un redirection de port ne peut être testé depuis ton réseau local
(mando@aldur) (~) $ /sbin/route -n Table de routage IP du noyau Destination Passerelle Genmask Indic Metric Ref Use Iface 192.168.1.0 0.0.0.0 255.255.255.0 U 0 0 0 eth1 0.0.0.0 192.168.1.1 0.0.0.0 UG 0 0 0 eth1En temps normal quand tu essayes de joindre un PC de ton réseau local tu utilises la première route et ton routeur ne fait pas passerelle. Si tu essayes de joindre ton serveur via ton IP publique, ton trafic, au lieu d'être routé via la première route (comme c'est le cas normalement en local) sera routé vers ton routeur qui fera office de passerelle. Or ton routeur s'apercevra que c'est du trafic qui provient du réseau local et qui n'a aucune raison d'être routé vers lui en tant que passerelle. Il jetera donc probablement le trafic.
Tu ne peux donc tirer aucune conclusion quant au bon ou mauvais fonctionnement de ton forward de port depuis un PC de ton réseau local. Pour cela il faut faire le test depuis un PC en dehors de ton réseau local. Si par exemple tu es étudiant(e) tu as peut être possibilité de te connecter en ssh sur un PC de ton école. Une fois loggué sur ce PC, initie une connexion ftp vers ton IP publique. Le routeur percevra alors cette connexion ftp comme extérieure à ton réseau local et devrait alors appliquer correctement la redirection de port.
Exemple : sur mon routeur je redirige le port 22 (ssh) vers mon IP locale 192.168.1.10
(mando@aldur) (~) $ ssh mando@127.0.0.1 mando@127.0.0.1's password:
Ok tout va bien... (idem avec 192.168.1.10).
(mando@aldur) (~) $ ssh mando@86.205.xxx.xxx ssh: connect to host 86.205.xxx.xxx port 22: Connection refused
Avec mon IP publique je me fais jeter. Je me connecte sur un PC extérieur à mon réseau local (sirius) :
(mando@sirius) (~) $ ssh mando@86.205.xxx.xxx mando@86.205.xxx.xxx's password:
Et là ça marche ;-)
Conclusion : un redirection de port ne peut être testé depuis ton réseau local
Merci encore pour les infos mais j'ai toujours le même problème.
J'ai testé de l'extérieur et je n'arrive pas à me connecter. Étrangement, lors d'une de mes tentatives, ca fonctionné et j'ai pu télécharger des fichiers de l'extérieur. J'ai fermé la connexion et réessayé mais en vain.
Bref, je me connecte toujours facilement avec Filezilla quand je suis sur un pc Windows de mon réseau à domicile mais je suis incapable quand je suis à l'extérieur.
Ce que j'ai de fait à date:
J'ai fait un forward des ports 20, 21 et 60000 à 65000 sur mon routeur pour que ca aille directement sur mon serveur. J'ai édité proftpd.conf pour qu'il utilise les ports passifs 60000 à 65000 avec (PassivePorts 60000 65000). Mais ca ne fonctionne toujours pas.
D'autres explications / idées. Vous m'êtes d'un très bon support. Merci encore
J'ai testé de l'extérieur et je n'arrive pas à me connecter. Étrangement, lors d'une de mes tentatives, ca fonctionné et j'ai pu télécharger des fichiers de l'extérieur. J'ai fermé la connexion et réessayé mais en vain.
Bref, je me connecte toujours facilement avec Filezilla quand je suis sur un pc Windows de mon réseau à domicile mais je suis incapable quand je suis à l'extérieur.
Ce que j'ai de fait à date:
J'ai fait un forward des ports 20, 21 et 60000 à 65000 sur mon routeur pour que ca aille directement sur mon serveur. J'ai édité proftpd.conf pour qu'il utilise les ports passifs 60000 à 65000 avec (PassivePorts 60000 65000). Mais ca ne fonctionne toujours pas.
D'autres explications / idées. Vous m'êtes d'un très bon support. Merci encore
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Je ne crois pas que les ports passifs servent franchement, personnellement je ne les ai jamais forwardé. Il se peut que tu te sois planté en saisissant ton IP publique, ton mot de passe, ou dans ton forward de port. Comme ça je ne peux pas trop te dire ce qui cloche.
Mais à mon avis tu devrais laisser tomber ftp et faire du ssh pur (et utiliser winscp au lieu de filezilla). C'est plus facile à configurer et plus secure (informations chiffrées etc...).
Bonne chance
Mais à mon avis tu devrais laisser tomber ftp et faire du ssh pur (et utiliser winscp au lieu de filezilla). C'est plus facile à configurer et plus secure (informations chiffrées etc...).
Bonne chance