====== 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 [[docs:network:routage:probleme_windows|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
{{tuto:network:netsh1.png|}}
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: [[user:suger|suger]]//