OVH Cloud OVH Cloud

Prob

2 réponses
Avatar
Bruno Baguette
Bonjour,

J'ai un modem speed touch home débridé en Pro qui est branché sur un
switch sur lequel les ordinateurs du réseau local sont connectés dessus.

Je rencontre des problèmes pour me connecter à un serveur distant qui
n'accepte QUE le ftp actif.

Il faudrait donc que j'ouvre le port 20 sur le
modem adsl et que je le nat vers la machine qui doit faire le ftp actif
sur le serveur distant.

Le problème est que différentes machines du réseau peuvent avoir besoin
également de faire du ftp actif vers d'autres serveurs et ca m'agace dont
de devoir modifier cette règle de nat plusieurs fois par jour.

N'y a-t-il donc pas un moyen que le STH (débridé en pro) repère qu'une
machine du réseau local tente de faire un ftp actif vers l'extérieur et
que le trafic ftp-data soit redirigé vers cette machine locale là ?

D'avance merci pour votre aide à ce sujet ! :-)

--

----------------------------------------

Bruno Baguette - bouchon@alussinan.org

2 réponses

Avatar
Patrick
Tu as du faire la modif pro v3, car si tu t'était contenté de modifier le
home en pro, tu n'aurai aucun problème.

--


patrick(no-spam)@famille-gouey.com

Merci de retirer no-spam à mon adresse pour me répondre.

"Bruno Baguette" a écrit dans le message de
news:
Bonjour,

J'ai un modem speed touch home débridé en Pro qui est branché sur un
switch sur lequel les ordinateurs du réseau local sont connectés dessus.

Je rencontre des problèmes pour me connecter à un serveur distant qui
n'accepte QUE le ftp actif.

Il faudrait donc que j'ouvre le port 20 sur le
modem adsl et que je le nat vers la machine qui doit faire le ftp actif
sur le serveur distant.

Le problème est que différentes machines du réseau peuvent avoir besoin
également de faire du ftp actif vers d'autres serveurs et ca m'agace dont
de devoir modifier cette règle de nat plusieurs fois par jour.

N'y a-t-il donc pas un moyen que le STH (débridé en pro) repère qu'une
machine du réseau local tente de faire un ftp actif vers l'extérieur et
que le trafic ftp-data soit redirigé vers cette machine locale là ?

D'avance merci pour votre aide à ce sujet ! :-)

--
----------------------------------------
Bruno Baguette -


Avatar
Remy Moulin
Bruno Baguette wrote:
Bonjour,


Bonsoir,

J'ai un modem speed touch home débridé en Pro qui est branché sur un
switch sur lequel les ordinateurs du réseau local sont connectés
dessus.

Je rencontre des problèmes pour me connecter à un serveur distant qui
n'accepte QUE le ftp actif.

Il faudrait donc que j'ouvre le port 20 sur le
modem adsl et que je le nat vers la machine qui doit faire le ftp
actif sur le serveur distant.


Le fonctionnement de FTP n'est pas des plus simples, malheureusement...

D'ailleurs, je vais tenter de ne pas me gauffrer dans ce message. Pour des
infos plus fiables, allez voir le forum:
news:fr.comp.reseaux.ip ... Le leur transmettez pas ce message, je vais me
faire lyncher :-D ...

Le point commun de actif et de passif, c'est l'ouverture du canal
/commandes/ . Le client fait une connexion depuis un socket valant (<IP
locale>,<un port aléatoire - donné par l'OS>), vers le socket du serveur
(<IP du serveur>,<port 21>).

Lors des premiers envois client->serveur, il y a ou non la primitive /pasv/,
indiquant que le client demande à utiliser la méthode passive. Le serveur
est libre d'accepter ou de refuser...

En mode passif, c'est le client qui ouvre les connexions /data/. Sur demande
de communication, le serveur réponds avec un n° de port où il est à
l'écoute, et le client n'a plus qu'à ouvrir une seconde connexion TCP
client(LAN)->serveur(WAN). Rien que de très classique...

En mode actif, les connexions /data/ sont créées par le serveur (le serveur
est 'actif'), depuis son socket (<IP du serveur>,<port 20>) vers le socket
indiqué lors de la commande du client (<IP du client>,<Le port que le client
a ouvert>).

Donc le client, côté réseau local, fait une demande vers le serveur ftp sur
Internet via son canal /commandes/. C'est une connexion LAN->WAN classique,
tout est Ok.

Dans le flux de données (les requêtes), le client ftp va ouvrir un port en
mode attente de connexion (par exemple : le port 1024) , puis il envoie la
commande vers le serveur style : Envoie-moi le listing du répertoire courant
via liaison sur mon socket (10.0.0.1, 1024).

Y'a deux problèmes qui apparaîssent :
- D'abord, ... on inverse les notions de client et de serveur !!! Ici,
c'est une connexion entrante qu'il faut gérer !!!
- Ensuite, ... le serveur, en lisant le contenu de la commande, va croire
qu'il faut contacter l'IP 10.0.0.1, alors que ce n'est qu'une IP fictive,
uniquement valable dans le réseau local du client, mais certainement pas sur
l'Internet...

Pour résoudre le second point, il faut activer un 'helper ftp' qui est inclu
dans tous les Speed Touch. Via telnet, faites un :
=> *nat bindlist*

S'il manque la ligne correspondant à ftp, ou si, comme moi, vous vous
apperçevez que ... rien ne s'affiche (diantre ! comme quoi, il faut vérifier
de temps en temps !!!) c'est qu'il faut l'activer...

Voir ce qu'est capable votre appareil (plus le firmware est récent, plus il
sait gérer de choses) :
=> *nat applist*
Application Proto DefaultPort
H245 tcp 0
H323 tcp 1720
RAUDIO(PNA) tcp 7070
RTSP tcp 554
IRC tcp 6667
FTP tcp 21

Les ports et protocoles indiqués correspondent à l'utilisation usuel du
protocole.

Charger un helper :
=> *nat bind application=ftp port!*

Au passage, si les autres manquent, activez-les aussi.

Si vous faites parfois des ftp sur des ports non standards (style 2121,
2100, etc.), c'est possible de 'charger' plusieurs fois le helper sur des
ports différents !

N'oubliez pas de sauvegarder à la fin :
=> *nat save*

Et pour le point 1°) : un port aléatoire sur le LAN. Si votre logiciel
client ftp ne permet pas de restreindre les ports à utiliser, il faudra
utiliser la commande de redirection globale vers la machine qui fait serveur
ftp :
=> *nat defserver addr.0.0.1*
=> *nat save*

Par contre, si le client sait faire, ouvrez 4-5 ports dans les numéros 1024
à 9999, et sur le ST, demandez-lui de rediriger les paquets TCP arrivant sur

telle ou telle machine. Avantage, en choisissant bien les ports, vous
devriez être capable de faire du ftp actif depuis plusieurs machines du
réseau local :
=> *nat create protocol=tcp inside_addr.0.0.1:1024 outside_addr=0:1024*
=> *nat create protocol=tcp inside_addr.0.0.1:1025 outside_addr=0:1025*
=> *nat create protocol=tcp inside_addr.0.0.1:1026 outside_addr=0:1026*
=> *nat create protocol=tcp inside_addr.0.0.1:1027 outside_addr=0:1027*

=> *nat create protocol=tcp inside_addr.0.0.2:1028 outside_addr=0:1028*
=> *nat create protocol=tcp inside_addr.0.0.2:1029 outside_addr=0:1029*
=> *nat create protocol=tcp inside_addr.0.0.2:1030 outside_addr=0:1030*
=> *nat create protocol=tcp inside_addr.0.0.2:1031 outside_addr=0:1031*

=> *nat save*

etc. avec la machine 10.0.0.1 utilisant les ports 1024 à 1027, et la machine
10.0.0.2 les ports 1028 à 1031.

Sur le site www.forpage.com, un développeur a modifié un firmware pour que
le helper ftp sache ouvrir de lui-même et en automatique les ports à
utiliser. Regardez le dernier firmware sorti pour Speed Touch en firmware G.
Avec ça, normalement, il n'y a plus besoin des nat create manuels (ou du
defserver)...

Le problème est que différentes machines du réseau peuvent avoir
besoin également de faire du ftp actif vers d'autres serveurs et ca
m'agace dont de devoir modifier cette règle de nat plusieurs fois par
jour.


Avec le truc de redirection de plusieurs plages de ports sans chevauchement,
ça /devrait/ passer.

N'y a-t-il donc pas un moyen que le STH (débridé en pro) repère qu'une
machine du réseau local tente de faire un ftp actif vers l'extérieur
et que le trafic ftp-data soit redirigé vers cette machine locale là ?


Pas dans les firmwares officiels. Ils avaient oublié ça chez Alcatel. Mais
un développeur l'a fait !!! (Incroyable, non ?)

D'avance merci pour votre aide à ce sujet ! :-)


--
Herm