Outils pour utilisateurs

Outils du site


docs:network:routage (lu 60704 fois)

Router des ports d'un ordinateur vers un autre

Présentation du problème

Plusieurs d’entre nous, pour des raisons qui nous sont propres et sont à chaque fois différentes, ont un de leurs ordinateurs branché directement sur le net qui retransmet les communications aux autres via une deuxième carte réseau et, le cas échéant, un hub ou un switch. Le problème qui se pose alors est : comment monter un serveur sur un des ordinateurs du réseau local ?

Traduit en termes de préoccupations, comment je fais pour que ma mule qui est sur un PC du réseau local soit en HighID ?

Voilà le schéma sur lequel nous allons travailler

WAN → Modem → Connexion réseau 1 → PC1 → Connexion réseau 2 → PC2

Le but du jeu est de faire passer les connections arrivant du réseau extérieur (le net) vers le PC2 en passant par le PC1, ce que nous verrons avec les suppositions suivantes :

1 - nous faisons tourner la mule sur le PC 2 et elle écoute sur les ports 4662 en TCP et 4672 en UDP.
2 - Le PC2 a une IP de 192.168.1.2 (peu importe la version de l’OS).
3 - Le PC1 tourne sous Windows XP (je ferais des additions pour Linux, BSD et Mac si j’ai le temps un jour, si vous êtes sous une version antérieure de Windows, oubliez, c’est pas possible.

Si pendant les manipulations suivantes vous obtenez le moindre message d’erreur, consulter notre page sur les messages d'erreur.

1 - Préparation

Tout va se passer sur le PC1 (celui qui est connecté au net). Pour commencer, il faut faire une vérification. Allez dans le panneau de configuration, ouvrez connexion réseau, faites un clic droit sur la carte qui correspond à la connexion externe, et là, vérifiez que le nom de la connexion ne présente pas d’accent. Si c’est le cas, remplacez “Connexion au réseau local” par “Connexion au reseau local” (sans accent) ou tout autre nom sans accent.

2 - Au boulot

Bon, là on passe aux choses sérieuses, et tout va se passer en ligne de commande (d’où la suppression des accents), en utilisant un utilitaire spécialisé, netsh.

Pour ce faire, faites Démarrer / Exécuter… et tapez netsh, puis faites OK. C’est parti.

Tapez interface puis ENTREE
Tapez show interface puis ENTREE

Cela vous donne notamment le nom exact de l’interface. Notez-le. (Dans ce cas la c’est “Connexion au reseau local”).

Pour la suite, tapez ce qui suit (uniquement ce qui est après le >, ce qui est avant doit apparaître tout seul dans la console).
Le mot ENTREE signifie que vous devez frapper la touche ENTREE de votre clavier.

Maintenant, tapez

Netsh interface> routing ENTREE
Netsh routing> ip ENTREE
Netsh routing ip> nat ENTREE
Netsh routing ip nat> install ENTREE
Netsh routing ip nat> add interface "Connexion au reseau local"  full ENTREE

Attention, les guillemets sont obligatoires si il y a un (ou plusieurs) espaces dans le nom de votre interface.

Netsh routing ip nat> add portmapping “Connexion au reseau local” tcp 0.0.0.0 4662 192.168.1.2 4661 ENTREE
Netsh routing ip nat> add portmapping “Connexion au reseau local” udp 0.0.0.0 4672 192.168.1.2 4662 ENTREE
Netsh routing ip nat> bye ENTREE

Et voilà, c’est parti. Ce que vous avez fait, c’est dit au PC1 d’envoyer les communications qui lui arrivent sur les ports 4662 et 4672 vers le PC2. Cela veut dire que si, ce que je ne vous conseille pas, vous faites tourner la mule sur le PC1 et sur le PC2, utilisez des ports différents soit pour la mule du PC1, soit pour la mule du PC2.

Voilà, j’espère que c’est clair. Merci aux cobayes :

Gado, pour le thread

http://forum.p2pfr.com/viewtopic.php?t=14083

l’invité du thread

http://forum.p2pfr.com/viewtopic.php?t=15354

Et surtout celui du thread

http://forum.p2pfr.com/viewtopic.php?t=15711

qui a fait toutes les manips et m’a aidé à corriger mes erreurs (vu que je tourne pas sous Windows…).

3 - Sous *nix

Là, c’est vraiment tout simple.

Si vous utilisez iptables, ajoutez les règles suivantes à votre script iptables

iptables -t nat -A PREROUTING -p tcp --dport 4662 -j DNAT --to-destination 192.168.1.2:4661
iptables -t nat -A PREROUTING -p udp --dport 4672 -j DNAT --to-destination 192.168.1.2:4662

Si vous utilisez pf, ajoutez ce qui suit à votre pf.conf

rdr on eth0 proto tcp from any to any port 4662 -> 192.168.1.2
rdr on eth0 proto udp from any to any port 4672 -> 192.168.1.2

source (plus à jour..): http://forum.p2pfr.com/ftopic15822.html
auteur: suger

docs/network/routage.txt · Dernière modification: 04-04-2013 22:06 (modification externe)