Server FTP et NAT

Server FTP et NAT - Windows & Software

Marsh Posté le 27-10-2003 à 19:51:44    

J'essaye de faire tourner un FTP a la maison et j'ai recherche pas mal d'articles qui m'avaient donnes des reponses, enfin je le croyais.
 
Bref, le serveur c Bulletproof aui tourne sous un pc sous windows, et ecoute sur le port 21. G configure Bulletproof pour du passif, et je lui est indique comme plage de ports 5005-5010.
 
Sur le serveur, un PC sous Debian avec Iptables (que j'apprend).
G redirige les ports 21 et 5005-50010 vers mon serveur.
 
Je pensais cela suffisant, mais le fait est que meme le debut de connection ne se fait pas sur le port 21, comme si le forward ne marchais pas!
 
Je mets les regles au cas ou il y aurait erreur, mais la je vois vraiment pas le pb...
 
#Pour laisser passer le FTP
iptables -A FORWARD -i eth0 -o eth1 -p tcp --dport 5000 -j ACCEPT
iptables -A FORWARD -i eth0 -o eth1 -p tcp --dport 5005:5010 -j ACCEPT
 
#Redirection FTP Server
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 5000 -j DNAT --to 192.168.0.16:21
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 5005:5010 -j DNAT --to 192.168.0.16
 
 
 
Cependant, je na

Reply

Marsh Posté le 27-10-2003 à 19:51:44   

Reply

Marsh Posté le 27-10-2003 à 19:52:33    

essaye aussi de router le port 20


---------------
- And what do we do when we're sad ? - Add to cart ! - No !
Reply

Marsh Posté le 27-10-2003 à 20:01:00    

je ne comprends pas. Tu as ouvert et redirigé les ports 5000 à 5010 mais où est le port 21 dans tout ça !?? :??:
 
et d'ailleurs pourquoi ouvrir et forwarder 5000 à 5010 !??


Message édité par ShonGail le 27-10-2003 à 20:01:18
Reply

Marsh Posté le 27-10-2003 à 20:08:02    

ShonGail a écrit :

je ne comprends pas. Tu as ouvert et redirigé les ports 5000 à 5010 mais où est le port 21 dans tout ça !?? :??:
 
et d'ailleurs pourquoi ouvrir et forwarder 5000 à 5010 !??

Nan regarde bien je forward le 5000 du serveur vers le le 21 de mon pc ou torune le serveur.
Ensuite je forward les autres pq comme c en passif, ben le cleint potentiel se verra dire par le serveur ftp de se connecter sur le port 5005 a 5010. G donc forwarder ces ports aussi.
 

Reply

Marsh Posté le 27-10-2003 à 20:09:34    

Ptibeur a écrit :

essaye aussi de router le port 20

Oue mais avec quel port en entree ?
 
Le truc c que g un ftp qui tourne sur le nat aussi...

Reply

Marsh Posté le 27-10-2003 à 20:12:31    

pourquoi se mettre en passif ?
 
j'utilise bpftp aussi derrière un routeur/firewall sous linux (sous ipchain) sans être en passif

Reply

Marsh Posté le 27-10-2003 à 20:16:10    

ShonGail a écrit :

pourquoi se mettre en passif ?
 
j'utilise bpftp aussi derrière un routeur/firewall sous linux (sous ipchain) sans être en passif

Ben en actif ca marche pas non plus!
 
Le truc c que il n'y a meme pas d'inititation de connection et je pense que mes regles de firewall sont bonnes...
IPchains est different de Iptables c ptet pour ca que tu as mal "lu" mes regles tout a l'heure ;-)
 
En fait c d'un specialiste Iptables que g besoins...

Reply

Marsh Posté le 27-10-2003 à 20:17:27    

nonolemono a écrit :

Oue mais avec quel port en entree ?
 
Le truc c que g un ftp qui tourne sur le nat aussi...

donc tu as deux serveurs ftp au total ?  
 
hmm, le truc qu'il faut que tu fasses très simplement, c'est sur G6 tu définis le port d'écoute comme étant le port 5000, c'est beaucoup + simple et t'as plus besoin de faire du port 5000 qui devient du port 21 :crazy:


---------------
- And what do we do when we're sad ? - Add to cart ! - No !
Reply

Marsh Posté le 27-10-2003 à 20:19:31    

nonolemono a écrit :

Ben en actif ca marche pas non plus!
 
Le truc c que il n'y a meme pas d'inititation de connection et je pense que mes regles de firewall sont bonnes...
IPchains est different de Iptables c ptet pour ca que tu as mal "lu" mes regles tout a l'heure ;-)
 
En fait c d'un specialiste Iptables que g besoins...


 
 
Essaye dans la catégorie consacrée à linux alors parce qu'ici c'est plutôt windows

Reply

Marsh Posté le 27-10-2003 à 20:25:07    

Ptibeur a écrit :

donc tu as deux serveurs ftp au total ?  
 
hmm, le truc qu'il faut que tu fasses très simplement, c'est sur G6 tu définis le port d'écoute comme étant le port 5000, c'est beaucoup + simple et t'as plus besoin de faire du port 5000 qui devient du port 21 :crazy:

Oue mais c 2 serveurs qui sont pas sur la meme machine hein...
 
Donc le ftp du nat ecoute sur 21 (normal quoi)  et le ftp de mon PC sur 21 chez moi, mais 5000 en entree sur le nat, d'ou le forwardign 5000->21
 
OK ? :sol:

Reply

Marsh Posté le 27-10-2003 à 20:25:07   

Reply

Marsh Posté le 27-10-2003 à 20:42:16    

oui oui t'inquiete j'avais tout pigé ça (j'ai déjà eu l'occasion de m'amuser avec les multi-ftp sur une seule ip avec du NAT pour balancer ça sur les différents pc du LAN)
 
bon, ske je me demande c'est l'intéret de faire du 5000=>21
autant faire du 5000=>5000 et régler ton ftp pour ne plus etre sur le 21 mais sur le 5000


Message édité par ptibeur le 27-10-2003 à 20:42:52

---------------
- And what do we do when we're sad ? - Add to cart ! - No !
Reply

Marsh Posté le 27-10-2003 à 21:20:22    

Ptibeur a écrit :


bon, ske je me demande c'est l'intéret de faire du 5000=>21
autant faire du 5000=>5000 et régler ton ftp pour ne plus etre sur le 21 mais sur le 5000


Ca évite une configuration de plus aux clients.

Reply

Marsh Posté le 27-10-2003 à 21:32:08    

pour les lients c'est tjrs pareil, vu que son ftp n'est accessible que de l'extérieur je pense donc il font quand meme :5000 pour y accéder


Message édité par ptibeur le 27-10-2003 à 21:32:46

---------------
- And what do we do when we're sad ? - Add to cart ! - No !
Reply

Marsh Posté le 27-10-2003 à 22:32:20    

Ptibeur a écrit :

oui oui t'inquiete j'avais tout pigé ça (j'ai déjà eu l'occasion de m'amuser avec les multi-ftp sur une seule ip avec du NAT pour balancer ça sur les différents pc du LAN)
 
bon, ske je me demande c'est l'intéret de faire du 5000=>21
autant faire du 5000=>5000 et régler ton ftp pour ne plus etre sur le 21 mais sur le 5000

Oué ca c une question d'affinage ensuite, mas ca permet aussi au rézo local d'acceder au ftp de mon pc sur le port habituel...

Reply

Marsh Posté le 27-10-2003 à 22:33:54    

ShonGail a écrit :

pourquoi se mettre en passif ?
 
j'utilise bpftp aussi derrière un routeur/firewall sous linux (sous ipchain) sans être en passif

Le passif est bien plus sécure pour le serveur ...
 
Et je suis en passif avec la dernière version de bulletproof en ne forwardant que le port 21 ...


---------------
Tant que la couleur de la peau sera plus importante que celle des yeux, nous ne connaitrons pas la paix. ● L'écriture, c'est la mémoire du futur. ● Mods FO4
Reply

Marsh Posté le 27-10-2003 à 22:40:32    

Ptibeur a écrit :

pour les lients c'est tjrs pareil, vu que son ftp n'est accessible que de l'extérieur je pense donc il font quand meme :5000 pour y accéder


Non, ils font une connexion sur le port 21, ensuite le serveur leur demande de se connecter sur un des ports libres parmi la plage de ports choisie (5005 à 5010), qui sera le port de données.
 
Par exemple, lorsque je me connecte sur le serveur ftp de Wanadoo, voici ce qui transite par le port de controle :
 

Code :
  1. Host name: perso-ftp.wanadoo.fr, port: 21
  2. STATUS:>   Resolving host name perso-ftp.wanadoo.fr...
  3. STATUS:>   Host name perso-ftp.wanadoo.fr resolved: ip = 193.252.19.115.
  4. STATUS:>   Connecting to ftp server perso-ftp.wanadoo.fr:21 (ip = 193.252.19.115)...
  5. STATUS:>   Socket connected. Waiting for welcome message...
  6.  220 Wanadoo FTP server
  7. STATUS:>   Connected. Authenticating...
  8. COMMAND:> USER XXXXX
  9.  331 Password required for XXXXX.
  10. COMMAND:> PASS *****
  11.  230 User XXXXX logged in.
  12. STATUS:>   Login successful.
  13. COMMAND:> PASV
  14.  227 Entering Passive Mode (193,252,19,115,240,146)
  15. COMMAND:> LIST
  16. STATUS:>   Connecting ftp data socket 193.252.19.115:61586...
  17.  150 Opening ASCII mode data connection for file list
  18.  226-Transfer complete.
  19.  226 Votre Site Web occupe actuellement 0.59 Mo d'espace disque


Message édité par charly007 le 27-10-2003 à 22:54:54
Reply

Marsh Posté le 27-10-2003 à 22:42:59    

non dans du passif la requete du client se fait en 21 puis le client renvoie lui meme des requetes sur 5005/10 ce qui permet de ne pas router les port 5005/10 sur le server et qui fait ke l on ne peu pas faire de passif si le client a un firewall

Reply

Marsh Posté le 27-10-2003 à 22:47:07    

warf, ça devient du haut niveau là, j'en connais pas autant hélas :/
 
vous avez appris tout ça où ?


---------------
- And what do we do when we're sad ? - Add to cart ! - No !
Reply

Marsh Posté le 27-10-2003 à 22:47:49    

DTC

Reply

Marsh Posté le 27-10-2003 à 22:48:12    

apparemment ya des tas de trucs DMC [:meganne lapin]


---------------
- And what do we do when we're sad ? - Add to cart ! - No !
Reply

Marsh Posté le 27-10-2003 à 22:52:14    

Ptibeur a écrit :

apparemment ya des tas de trucs DMC [:meganne lapin]

Moi je c comment sa marche, mé ca marche pas ché moi  :D  

Reply

Marsh Posté le 27-10-2003 à 22:54:00    

-CouiLLe2CHieN- a écrit :

non dans du passif la requete du client se fait en 21 puis le client renvoie lui meme des requetes sur 5005/10 ce qui permet de ne pas router les port 5005/10 sur le server et qui fait ke l on ne peu pas faire de passif si le client a un firewall  


 :non:  
http://www.dslreports.com/faq/2471

Code :
  1. As you can see there are 2 problems when working with a router:
  2. 1) Running an FTP server with clients connecting in passive mode (router blocks incoming connections from the clients to the data port determined by the FTP server).
  3. In conclusion, to get the 2 prior points to work ok you'll have to open up a range of ports in your virtual server page. This range should consist of at least 1 available port for each connected client to the ftp server.



Message édité par charly007 le 27-10-2003 à 22:56:30
Reply

Marsh Posté le 27-10-2003 à 22:54:42    

c.est.la.fete.dans.toncul.net

Reply

Marsh Posté le 27-10-2003 à 22:59:03    

Ptibeur a écrit :


vous avez appris tout ça où ?  


ftp://ftp.rfc-editor.org/in-notes/rfc959.txt
 
Le mode passif est initié par la commande PASV :

Code :
  1. PASSIVE (PASV)
  2.             This command requests the server-DTP to "listen" on a data
  3.             port (which is not its default data port) and to wait for a
  4.             connection rather than initiate one upon receipt of a
  5.             transfer command.  The response to this command includes the
  6.             host and port address this server is listening on.


Le serveur attend une connexion au lieu de l'initier. Il faut donc ouvrir les ports.


Message édité par charly007 le 27-10-2003 à 23:04:36
Reply

Marsh Posté le 28-10-2003 à 02:10:20    

charly007 a écrit :


ftp://ftp.rfc-editor.org/in-notes/rfc959.txt
 
Le mode passif est initié par la commande PASV :

Code :
  1. PASSIVE (PASV)
  2.             This command requests the server-DTP to "listen" on a data
  3.             port (which is not its default data port) and to wait for a
  4.             connection rather than initiate one upon receipt of a
  5.             transfer command.  The response to this command includes the
  6.             host and port address this server is listening on.


Le serveur attend une connexion au lieu de l'initier. Il faut donc ouvrir les ports.

G tout fais ça mais ca marche toujours pas, chui pommé sérieux! Y a mm pas de conection sur le 21 mais c quoi ce bordel !!!

Reply

Marsh Posté le 28-10-2003 à 09:56:29    

Juste une question, avec le client tu te connectes bien sur le port 5000 ?

Reply

Marsh Posté le 28-10-2003 à 11:05:31    

fpt c'est assez complexe
en GROS tu dois ouvrir le port 20 et donc faire de la redirection de port dessus 20 -> 20  
Mais tu dois aussi ouvrir tes ports hauts (normalement ce sont les ports de 1024-65535). C'est comme ca que fonctionne le ftp passif.
La connexion et l'echange du login/pass se deroule sur le port 20 mais l'echange des données se fait en dynamique sur les ports hauts (1024-65535).  
 
 
iptables -A ext-lo -p tcp --sport 1024:65535 --dport 1024:65535 \
   -m state --state ESTABLISHED -j ACCEPT
iptables -A ext-lo -p tcp --sport 1024:65535 --dport 1024:65535 \
   -m state --state ESTABLISHED,RELATED -j ACCEPT
 
 
regarde ce thread  
http://lists.debian.org/debian-use [...] 01041.html


Message édité par woo le 28-10-2003 à 11:05:56

---------------
The name isn't Logan, bub...it's Wolverine.
Reply

Marsh Posté le 28-10-2003 à 16:48:11    

Gardien a écrit :

Juste une question, avec le client tu te connectes bien sur le port 5000 ?

Euh oue quqnd meme :-D


---------------
La classe Américaine, c'est Georges Abidbol!
Reply

Marsh Posté le 28-10-2003 à 16:58:59    

Woo a écrit :

fpt c'est assez complexe
en GROS tu dois ouvrir le port 20 et donc faire de la redirection de port dessus 20 -> 20  
Mais tu dois aussi ouvrir tes ports hauts (normalement ce sont les ports de 1024-65535). C'est comme ca que fonctionne le ftp passif.
La connexion et l'echange du login/pass se deroule sur le port 20 mais l'echange des données se fait en dynamique sur les ports hauts (1024-65535).  
 
 
iptables -A ext-lo -p tcp --sport 1024:65535 --dport 1024:65535 \
   -m state --state ESTABLISHED -j ACCEPT
iptables -A ext-lo -p tcp --sport 1024:65535 --dport 1024:65535 \
   -m state --state ESTABLISHED,RELATED -j ACCEPT
 
 
regarde ce thread  
http://lists.debian.org/debian-use [...] 01041.html

FTP g lu pas mal et je sais bien comment ca fonctionne, mais la regle que tu me donnes la ca marche pas c sur... ;)  
 
Bref je resume mon cas:
- G un pc en 192.168.0.16 ou tourne un serveur FTP ecoutant sur le port 21.
- G un gateway en 192.168.0.1 ou tourne iptables.
 
Ce firewall laisse tout passer en sortie. G redirige le port 192.168.0.1:5000 --> 192.168.0.16:21
Comme en actif c le serveur qui se connecte apres la connection initiale du client sur le port 21, y devrait pas avoir de pb comme tout est accepte en sortie...
 
Comme ca marchait pas, g indique au ftp aue si le client se fou en passif, de lui dire de se connecter sur un port entre 5005 et 5010, d'ou la redirection de ces ports de 192.168.0.1 vers 192.168.0.16.
 
Sauf que la meme la connection initiale sur port 21 semble ne pas marcher. G mis ip_nat_ftp et ip_conntrack_ftp mais rien.
 
Voila ou j'en suis, si vous voulez je vous sors un iptables -v -L  :hello:


Message édité par nonolemono le 28-10-2003 à 16:59:28

---------------
La classe Américaine, c'est Georges Abidbol!
Reply

Marsh Posté le 28-10-2003 à 20:13:11    

1. Essaie de le faire marcher en mode actif pour commencer.
2. Pourquoi tu ne veux pas que les clients se connectent sur le port 21 ?

Reply

Marsh Posté le 28-10-2003 à 20:18:56    

charly007 a écrit :

1. Essaie de le faire marcher en mode actif pour commencer.
2. Pourquoi tu ne veux pas que les clients se connectent sur le port 21 ?

2. Pke ya déjà un server FTP sur le gateway


---------------
- And what do we do when we're sad ? - Add to cart ! - No !
Reply

Marsh Posté le 28-10-2003 à 20:43:47    

Ptibeur a écrit :

2. Pke ya déjà un server FTP sur le gateway


Ah, OK, gros bazard quoi.
Bon, alors bonne chance. :whistle:
Nan, sérieusement comme disait ShonGail, va voir sur OSA.


Message édité par charly007 le 28-10-2003 à 21:44:43
Reply

Marsh Posté le 28-10-2003 à 20:56:29    

rhaaa, mais tt le monde food ma parole [:blackman]


---------------
- And what do we do when we're sad ? - Add to cart ! - No !
Reply

Marsh Posté le 29-10-2003 à 16:21:13    

Bon ayé ça marche, pour qui pourquoi je sais pas, g rien changé de puis hier en tout cas c certains.
 
L'informatique a ses raisons que la raison ignore parfois...

Reply

Marsh Posté le    

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed