====== 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]]//