udp à travers nat

J'ai deux réseaux privés (chacun d'eux derrière un routeur dsl typique). Les routeurs sont connectés à la WWW. L'interface externe de chaque routeur possède une adresse IP dynamic. Je souhaite diffuser des données via UDP directement entre un client dans le réseau privé A et un client dans le réseau privé B.

J'ai déjà essayé beaucoup de choses (voir: http://en.wikipedia.org/wiki/UDP_hole_punching , ou STUN). Mais il ne m'a pas été possible de transférer des données entre les deux clients.

Il est possible d'utiliser un server (situé dans la WWW, avec IP statique) pour transférer les IP externes (et les ports externes) des routeurs entre les clients. Donc, imaginez que le client A connaît l'adresse IP externe du client B et le port externe du client B atsortingbué par son routeur.

J'ai simplement essayé d'envoyer un package UDP à la combinaison IP / port externe des récepteurs, mais sans résultat. Est-ce que quelqu'un sait ce que faire pour communiquer via UDP lancer les deux routeurs NAT? Ça doit être possible ??? Ou Skype, par exemple, ne communique-t-il pas directement entre les clients lorsque l'appel est l'un de l'autre.

Je suis désolé pour mon mauvais anglais! Si quelque chose est dérangeant, ça me dérange pas!

Merci d'avance pour votre aide.

::::MODIFIER::::

Je ne peux pas faire fonctionner Pwnat ou Chownat.
Je l'ai essayé avec mon propre dsl-gateway -> n'a pas fonctionné.

Ensuite, j'ai mis en place un environnement virtuel complet à l'aide de VMWare.

C1 (Client 1, WinXP Prof SP3): 172.16.16.100/24, GW 172.16.16.1
C2 (Client 2, WinXP Prof SP3): 10.0.0.100/24, GW 10.0.0.1
C3 (Client 3, WinXP Prof SP3): 3.0.0.2/24, GW 3.0.0.1
S1 (Serveur Ubuntu 10.04 x64): eth0: 172.16.16.1/24, eth1: 1.0.0.2/24 GW 1.0.0.1
S2 (Serveur Ubuntu 10.04 x64): eth0: 10.0.0.1/24, eth1: 2.0.0.2/24 GW 2.0.0.1
S3 (server Ubuntu 10.04 x64): eth0: 1.0.0.1/24, eth1: 2.0.0.1/24, eth2: 3.0.0.1/24

+--+ +--+ +--+ +--+ +--+ |C1|-----|S1|-----|S3|-----|S2|-----|C2| +--+ +--+ +--+ +--+ +--+ | +--+ |C3| +--+ 

Le server S1 et S2 fournissent une fonctionnalité NAT. (ils ont un routing activé et fournissent un pare-feu, ce qui permet au trafic du réseau interne et fournit la fonctionnalité nat) Le server S3 a le routing activé. Les pare-feu des clients sont désactivés.

C1 et C2 peuvent faire un ping C3, par exemple visiter le server web C3. Ils sont également en mesure d'envoyer des packages UDP vers C3 (C3 réussit à les recevoir)!

C1 et C2 ont également des servers Web fonctionnant pour des raisons de test.

Je cours "" chownat -s 80 2.0.0.2 "" en C1, et "" chownat -c 8000 1.0.0.2 "" en C2. Ensuite, j'ai essayé d'accéder à la page Web à partir de C1 via Webbrower localhost au port 8000. Cela n'a pas marché.

Est-ce que quelqu'un peut m'aider? Aucune suggestion? Si vous avez des questions sur ma question, requestz s'il vous plaît!

Pour une simple application basée sur Windows, vous pouvez essayer Logmein Hamachi .

Pour une solution plus avancée pour la connection NAT vers NAT, udp / tcp regardez pwnat .

résolu … Les techniques de poinçonnage UDP fonctionnent! C'était une erreur de mise en œuvre!

Essayez l'un des:

  1. Configurez vos passerelles DSL pour transférer les packages UDP reçus sur un port particulier directement vers l'hôte en question

  2. Configurez les tunnels IPv6 sur vos noeuds internes, puis vous pourrez communiquer directement