Jump to content
La fin ?! Elle est là ! ×
×
×
  • Create New...
  • 0

Rediriger le traffic d'un port vers une autre machine locale ?


Tituc
 Share

Question

Avant de présenter mon petit problème, voici quelques informations générales.

 

J'ai comme émulateur une reprise d'Ancestra Remake (rev54) et je suis sous Debian (instable sur une machine, stable sur l'autre).

 

Explication :

N'étant pas adepte des papiers qui brillent, j’héberge tout dans ma chambre.

J'avais donc pour commencer une tour qui hébergé un émulateur en faisant serveur web, passerelle, serveur mail, etc..

Donc logiquement, en entrant l'adresse IP de la box sur mozilla, on tombe directement sur le site.

Dans un élan de folie, j'ai décidé de créer un deuxième serveur Dofus avec donc évidemment un deuxième émulateur. J'ai donc installé une deuxième machine dans ma chambre.

 

Voici un petit schéma de ce que ça donne (eth1 étant considéré comme le réseau "local") :

 

Problème :

Dans la base de donnée (et dans le config), pour chaque serveur, on demande de mettre une IP et un port.

Dans ce cas, je ne peux bien évidemment pas mettre les adresses IPs locales (sinon les joueurs ne pourront pas se connecter), je met donc une même IP pour les deux serveurs.

 

Le soucis est : Sachant que les connexions entrantes viennent par eth0, comment faire pour que les joueurs puissent accéder au Serveur 2 sans soucis ?

 

On m'a dit qu'en mettant l'IP de la box et deux ports différents, ça marcherait, c'est ce que j'ai fait mais apparemment, il faudrait faire une modification (via iptables de préférence) pour dire :

- Si une connexion arrive sur Serveur 1 avec le port x, on laisse passer (pas besoin de condition pour ça).

- Si une connexion arrive sur Serveur 1 avec le port y, alors on redirige vers Serveur 2 .

 

Trouver cette formule sur google, c'est vrai que c'est simple.

Je l'ai fait, alors voici maintenant le soucis que j'ai :

- Le joueur se connecte normalement (Realm), il a donc le choix entre deux serveurs.

- Il choisit le serveur hébergé sur Serveur 2. La connexion se fait et après un petit temps d'écran noir (~1 minute), déconnexion subite et le message "Connexion interrompue avec le serveur, voulez-vous tenter de vous reconnecter ?" s'affiche.

 

Petit dernier élément, lors de cette connexion, Serveur 2 affiche qu'il reçoit une tentative de connexion.

 

Si quelqu'un aurait une petite idée sur ce problème, n'hésitez-pas.

Je suis un peu bloqué ^^

Link to comment
Share on other sites

  • Answers 3
  • Created
  • Last Reply

Top Posters For This Question

Top Posters For This Question

3 answers to this question

Recommended Posts

  • 0

Je vais vérifier mais je pense que c'est parce que j'ai oublié d'ouvrir le port sur la box.

 

Petite précision : Ça marche correctement en local en remplaçant l'IP de la box par l'IP locale du serveur 2.


Les ports sont effectivement ouverts, le résultat est le même.

 

EDIT : Petite découverte : Apparemment c'est en local seulement que la connexion est impossible.

Link to comment
Share on other sites

  • 0

Petit dernier up pour dire que ce sujet est résolu :

 

En effet, je ne suis pas arrivé à trouver une ligne de commande pour iptables toute propre donc j'ai fait un code directement dans l'émulateur d'une façon tellement hard qu'un développeur préfèrerai se suicider trois fois que de le regarder.

 

Je résume ce pitit code :

Lors du passage du Realm au Game, l'émulateur va regarder mon adresse IP locale.

Si celle-ci commence par 192.168.5 et si le serveur sélectionné est bien "Serveur 2", alors l'IP du Game sera "192.168.5.2".

Sinon, cela veut dire que je ne suis pas un joueur qui a une machine en local, donc je ne modifie pas l'IP du Game.

 

... Pourquoi faire simple quand on peut faire compliquer ? (l)

Link to comment
Share on other sites

Guest
This topic is now closed to further replies.
 Share



Important Information

Terms of Use / Privacy Policy / Guidelines / We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.