Forum Clubic

Partage de connection XP et ports forwardés

Salut à tous j’essaie de jouer à starcraft sur internet, avec deux postes en Lan qui partagent la connection grace au partage de connection de windows XP .

Starcraft pose un problème avec les NAT (routeurs), c’est connus, et à priori la solution consiste à forwarder des ports pour l’ordinateur en réseau.

Il me semble que ça se fait comme ça :
http://img30.echo.cx/img30/8984/nat4qo.jpg

Donc mes questions sont les suivantes :
[b]- est-ce que ce truc sert bien à forwarder des ports ? (vus qu’ils n’appellent rien par son nom je ne sais pas vraiment)

  • Est ce que ce système est bi-directionnel ? (j’entend par là qu’un paquet qui partirait de la machine du réseau en direction du routeur serait forwardé vers le numéro de port externe)[/b]

merci d’avance

  • Oui
  • Non, mais la question n’est pas là. Le forwarding de port concerne les requêtes venant de l’extérieur du réseau vers un poste du réseau interne. Pour les paquets sortants, ils savent où ils vont (IP et port du serveur/client à l’aute bout).

comment vérifier que ça marche concrétement ?

Faut demander à un pote d’essayer de se connecter.

ouais mais se connecter comment ?
ya pas un logiciel serveur à installer sur le pc du réseau que je pourrais tester en entrant Par le Nat ?

pask’avec VNC ça ne marche pas …

T’as ouvert le bon port pour VNC ? Faut ouvrir le port 5900 (+ x, x étant le numéro d’affichage qui est 0 par défaut).

Sinon tu peux installer un serveur Web apache (port 80).

impossible de forwarder le port 80 avec le nat de windows il me semble …
ya pas un truc plus simple …
Je vais tester avec un serveur ftp et un port standard je pense

:ouch:

Et comment tu fais quand tu installes IIS ?

Je parle du nat de windows XP
On peut juste rebalancer le port 80 d’un pc sur un autre pc .
Mais bon on peut pas le forwarder vers autre chose que le port 80 …
c’est un peut ennervant .

J’ai l’impression que ça ne marche pas ce système .
je n’arrive pas du tout à faire passer les communications sur un port (exemple 2100) d’un pc vers un autre pc du réseau.

J’ai bien ouvert tout les ports qu’il faut et lancé le service sur l’ordis du réseau avec attente sur le port 2100
Mais rien ne se passe .

Le firewall n’est actif que sur la connexion Internet du PC qui partage ? Il est bien désactivé sur les autres PC ?

Une précision, tu ne peux pas faire tes test en interne. Il faut demander à quelqu’un qui est hors de ton réseau perso de faire les tests pour toi.

oui j’ai vérifié le firewall et je teste de l’exterieur du réseau (par le net)
ça n’a pas l’air de marcher depuis le sp2 …

Starcraft est specifique, car deja age, et jouer sur BattleNet a plusieurs deriere la meme ip a souvent ete considere comme imposible.

/!\ Ce qui suit est issu de mes analyses avec Wireshark (=Ethereal), donc c’est sujet a caution et c’est destine a des utilisateurs un peu chevronnes /!\

Apres avoir reussi quelques parties sur BNet, une mise a jour a pourri mes IPtables et depuis impossible de rejouer. J’en appelle a la comunnaute clubic pour reiterer ca. Ou mieux : comprendre comment marche tout ce bazar. Dans tous les cas, c’est un bon defi pour tester vos competences en telecoms XD…

Sachez aussi qu’on trouve relativement peu de doc serieuse sur le sujet…

Starcraft fonctionne en UDP, avec tous les ennuis qui vont avec. Seul le “lobby” (= la chatroom avant le debut de la game) est en TCP. Au moment du lancement (dans la connection TCP) bnet envoie a chaque jouer les ips des autres joueurs. Le TCP est ensuite ferme, et la partie se deroule en UDP.

Quand plusieurs clients sont derriere la meme IP, BNet va tous leur envoyer l’edresse du routeur charge du DNAT (typiquement l’IP internet de la freebox). Le seul moyen pour arriver a jouer est donc de router :

  • non seulement les paquets des clients vers BNet
  • mais aussi les paquets entre les clients

Pour cela il faut pouvoir faire du SNAT (Source Net Adr Translation) ce que peu de routeurs bas de gamme proposent, et qui n’est pas present sur les freebox (ou alors j’ai pas trouve ^^). J’ai donc pris un ordi sous linux pour faire routeur avec 1 sous-reseau entre l’ordi/routeur et la bobox, et un sous-reseau entre l’ordi/routeur et les clients

  1. Dans le registre on met des ports de sortie differents pour chaque client : 6112; 6113…6119
  2. On redirige les paquets venant de net sur le bon ordi en fonction du port en traduisant l’adresse source ET l’adresse destination. Starcraft freeze s’il y a des “incoherences” entre ce que lui a dit bnet et ce qu’il recoit. Normal pour eviter un man-in-the-middle
  3. Les paquets emis d’un client a destination de l’edresse web de la box doivent etre rediriges vers le bon client. Si y’en que 2 c’est facile. Si y’en a plus on peut peut-etre se debrouiller avec les ports, mais pas sur… Ici aussi faut DNAT ET SNAT

J’ai fait tourner ca quelques parties avec 2 clients… Si quelqu’un arrive a refaire/faire mieux je suis tres preneur…
Edité le 01/02/2008 à 21:04

Je traine plus trop sur lse forum clubic, donc ceux qui sont interressés peuvent suivre la suite de l’histoire là :
forum.canardplus.com…

salut bande de noobs :):):wink:
alors pour forwarder starcraft et pouvoir créer des parties qui marchent voilà une solution toute simple et efficace :

aller dans le menu de votre box :

                                                 [192.168.1.1...](http://192.168.1.1/)

(normalement)

puis dans ouverture des ports ou autre section similaire, ajouter :

service : STARCRAFT (dans personnalisé ou autre)
protocole : UDP
port interne ET externe : 6112
adresse IP du seveur : l’adresse IP de votre ordinateur et pas celle de la box

le tour est joué, enfin c’est ce que j’ai fait sur ma box et ça marche, :clap::clap:
mais comme en informatique rien n’est sur à 100% je vous souhaite bonne chance :ane::fou:
(merci à psycho[fdj] pour m’avoir appris ça) :love::smiley: