OVH Cloud OVH Cloud

Voix sur IP derrière un NAT

24 réponses
Avatar
Julien Arlandis
Bonjour

Quelqu'un sait il comment fonctionne le logiciel skype pour établir une
communication audio entre deux pc situés derrière un serveur NAT ?

10 réponses

1 2 3
Avatar
Julien Arlandis

Je serai intéressé de lire la suite...



http://www.skype.com/help/guides/firewall.html



"You need to have Macromedia Flash Player installed to watch these
tutorials."

C'est ce que j'appelle du foutage de gueule intégral :(
En plus ça ne parle que de firewall, pas de NAT.

Par contre des choses intéressantes là :

http://www.skype.com/products/explained.html
Qui explique que les hôtes en connexion directe (sans NAT ni firewall
trop restrictif) disposant de suffisamment de bande passante peuvent
servir de relais pour les communications entre hôtes situés derrière un
NAT ou un firewall.

http://www.skype.com/help/faq/technical.html
Qui explique que pour qu'un hôte derrière un NAT soit accessible
directement, il faut relayer un port TCP et/ou UDP dont le numéro est
tiré aléatoirement à l'installation et visible dans les options de
Skype. Cela permet d'avoir plusieurs hôtes derrière le même NAT, plutôt
malin.


J'utilise un modem routeur netgear derrière lequel j'ai installé skype
sur deux hotes distincts : une mandrake et un xp.
Je n'ai forwardé aucun port et pourtant les deux hôtes sont accessibles.
J'ajoute que je n'ai pas activé le protocole upnp sur le routeur.
Si personne ne sait comment fonctionne la connection sur skype je me
débrouillerai avec un sniffer.

Tant que j'y suis : quand j'affiche la liste des connections ouvertes
avec netstat, comment savoir quel est l'hôte qui a établi la connection?



Avatar
Julien Arlandis
Salut,



Pour établir une connection derrière un firewall ce n'est pas un
problème il suffit de sortir par un port ouvert comme le 80. Mais ce
n'était pas vraiment ma question, ce que je cherche à comprendre c'est
comment une communication en pear to pear



En "poire à poire" ? ;-)

peut être établie lorsque les 2 clients ont une IP privée (c'est à
dire lorsqu'ils sont situés tous les deux derrière un serveur NAT).



Si le protocole utilisé par Skype, que je ne connais pas, est aussi
tordu que par exemple FTP,


Vous parlez du ftp passif? En quoi est ce tordu?


Avatar
Pascal

J'utilise un modem routeur netgear derrière lequel j'ai installé skype
sur deux hotes distincts : une mandrake et un xp.
Je n'ai forwardé aucun port et pourtant les deux hôtes sont accessibles.


Je viens d'expliquer pourquoi. Tes machines se connectent à un hôte
extérieur qui lui est accessible directement et sert de relais. Dans ce
cas ce n'est plus du vrai pair-à-pair mais une sorte de client-serveur
distribué.

J'ajoute que je n'ai pas activé le protocole upnp sur le routeur.


Skype n'utilise pas UPnP.

Avatar
Pascal

Si le protocole utilisé par Skype, que je ne connais pas, est aussi
tordu que par exemple FTP,


Vous parlez du ftp passif? En quoi est ce tordu?


Je parle aussi bien du mode passif que du mode actif. Dans les deux cas,
l'adresse IP et le port TCP de destination de la connexion de données
sont communiqués dans la connexion de contrôle par la machine qui attend
la connexion (client en mode actif avec la commande PORT, serveur en
mode passif dans la réponse à la commande PASV).

Si cette machine est derrière un firewall, celui-ci doit examiner ces
informations à la volée pour ouvrir le port en question. Si elle est
derrière un dispositif NAT, celui-ci doit réécrire à la volée l'adresse
IP privée (et éventuellement le port s'il est déjà occupé) et la
remplacer par l'adresse IP publique visible par l'autre machine.


Avatar
Eric Masson
"Julien" == Julien Arlandis writes:






Julien> Vous parlez du ftp passif ?

ftp passif n'est pas un protocole. Le mode passif est une fonctionnalité
de ftp.

En mode passif, c'est le client qui initie la connexion données, ce qui
évite les joyeusetés comme une ouverture dynamique de port sur le
firewall du client pour permettre la connexion descendante du serveur
(ce qui est requis en actif, hors proxy ftp bien entendu)

C'est en cela que ftp est un protocole tordu, tout comme h323 par
exemple.

Éric Masson

--
je me suis mal fait comprendre. Quand je dis 95/60/95, c'est en fait
tour bras gauche/tour de cou/tour bras droit... C'est comme ça qu'on
fait, en Suède...Eh, où vous allez, les gars ??? REVENEZ ! JE RIGOLE !!!
-+ ID in Guide du Macounet Pervers : Mauvaises mensurations, changer +-





Avatar
Julien Arlandis
"Julien" == Julien Arlandis writes:







Julien> Vous parlez du ftp passif ?

ftp passif n'est pas un protocole. Le mode passif est une fonctionnalité
de ftp.

En mode passif, c'est le client qui initie la connexion données, ce qui
évite les joyeusetés comme une ouverture dynamique de port sur le
firewall du client pour permettre la connexion descendante du serveur
(ce qui est requis en actif, hors proxy ftp bien entendu)

C'est en cela que ftp est un protocole tordu, tout comme h323 par
exemple.


Je vois toujours pas ce qui est tordu dans le protocole ftp. Le client
se connecte sur le serveur FTP, celui ci lui envoit le port de données
pour permettre au client de s'y connecter.
Le ftp passif permet à un client derrière un NAT de se connecter sur un
ftp, mais il ne permet pas à un client de se connecter sur un serveur
ftp situé derrière un NAT... D'ailleurs à quoi peut bien servir le mode
actif ?


Éric Masson








Avatar
Eric Masson
"Julien" == Julien Arlandis writes:






Julien> Je vois toujours pas ce qui est tordu dans le protocole ftp.

L'obligation d'inspecter la payload des paquets pour pouvoir filtrer le
protocole ça ne vous parait pas tordu ?

Être obligé d'analyser au niveau utilisateur pour décider du sort d'un
paquet au niveau réseau ne vous parait pas tordu ?

Le mode passif est juste un cautère sur une jambe de bois qui permet au
client de ne pas se préoccuper d'ouverture dynamique de ports sur le
filtre de paquets en reportant ce travail sur celui du serveur.

Julien> D'ailleurs à quoi peut bien servir le mode actif ?

Le mode actif date d'une époque ou la notion de trafic hostile
n'existait pas encore et ou certaines machines avaient des comptes sans
mot de passe. Bref ftp n'a pas été conçu dans l'optique d'une quelconque
sécurité, ce que la page suivante permet de comprendre au vu des dates
des rfcs liées à ftp :
http://www.freesoft.org/CIE/RFC/959/35.htm

Éric Masson

--
JL> C'est moi ou Julien II qui te dois une bière ?
JB> C'est moi qui lui dois une mousse.
FF> L'autre aussi, ya pas de raison.
-+- FF in <http://www.le-gnu.net> : Y'en aura pour tout le monde -+-





Avatar
Pascal

Julien> D'ailleurs à quoi peut bien servir le mode actif ?

Le mode actif date d'une époque ou la notion de trafic hostile
n'existait pas encore et ou certaines machines avaient des comptes sans
mot de passe. Bref ftp n'a pas été conçu dans l'optique d'une quelconque
sécurité


Ni d'une utilisation dans un environnement NATé qui était inconcevable à
l'époque.

Sinon, j'ai cru comprendre que les deux modes actif et passif ont été
prévus pour pouvoir faire des transferts directs entre deux serveurs FTP
sous le contrôle d'une machine tierce cliente sans que les données
transitent par cette dernière.

Avatar
Pascal
[Supersedes]


Julien> D'ailleurs à quoi peut bien servir le mode actif ?

Le mode actif date d'une époque ou la notion de trafic hostile
n'existait pas encore et ou certaines machines avaient des comptes sans
mot de passe. Bref ftp n'a pas été conçu dans l'optique d'une quelconque
sécurité


Ni d'une utilisation dans un environnement NATé qui était inconcevable à
l'époque.

Sinon, j'ai cru comprendre que les deux modes actif et passif ont été
prévus pour pouvoir faire des transferts directs entre deux serveurs FTP
sous le contrôle d'une machine tierce cliente sans que les données
transitent par cette dernière. Pour cela un serveur était en mode passif
et l'autre en mode actif.

Avatar
Eric Masson
"pascal" == pascal writes:






pascal> Ni d'une utilisation dans un environnement NATé qui était
pascal> inconcevable à l'époque.

Iirc, les premières implémentations de ftp datent d'avant la nécessité
d'avoir un système de nommage distribué (un simple fichier hosts qui
regroupait toutes les correspondances adresse/nom)

pascal> Sinon, j'ai cru comprendre que les deux modes actif et passif
pascal> ont été prévus pour pouvoir faire des transferts directs entre
pascal> deux serveurs FTP sous le contrôle d'une machine tierce cliente
pascal> sans que les données transitent par cette dernière. Pour cela
pascal> un serveur était en mode passif et l'autre en mode actif.

Ok, si tu as lien sur le sujet, ça pourrait être intéressant à titre
documentaire.

Éric Masson

--
Quant à ma mauvaise quote de mail , désolé, c'est Outlook qui coupe tout
seul à 76. (pour ton répertoire de neuneuX, si tu veux)
(comme les lignes font déjà 76, avec les quotes, forcément, çà dépasse)
-+- C in: <http://www.le-gnu.net> - Quand les bornes sont franchies -+-






1 2 3