URL: https://linuxfr.org/users/bestel/journaux/iptable-nat-et-cie Title: iptable, nat et Cie Authors: Nicolas Antoniazzi Date: 2004年01月25日T00:29:16+01:00 Tags: Score: 0 Ce soir, un copain m'a proposé de faire une partie de Star Wars Galactic Battleground (basé sur le moteur de Age of Empire 2) en ligne. Bon, vu que ca marche pas sous linux, même avec wine, je reboot... Et on essaye de se connecter entre nous depuis windows... Sauf que là ca n'a pas fonctionné... Chez moi, entre les 3 desktops de la maisons, il y a une petite passerelle/firewall sous linux qui nous connecte tous à internet. Donc, je lui demande de faire serveur et d'ouvrir les ports chez lui parce que de mon coté ca va merder (vu que mon adresse externe n'est pas celle sur laquelle est installé le jeu) ... Et la ... bein ca merde encore. Apparement le protocole réseau du jeu est un peu mal fichu car il faut que des 2 cotés l'ouverture de port se fasse. Pourtant avec d'autres jeux comme quake 2, half life, warckarft 3... Ca passe sans probleme.... Alors j'ai fait une redirection des possible ports ouverts par les jeux directX dirèctement vers mon desktop : liste des ports : [http://support.microsoft.com/default.aspx?scid=kb;fr-fr;240429(...)](http://support.microsoft.com/default.aspx?scid=kb;fr-fr;240429) commandes iptables : #directX 7 iptables -t nat -A PREROUTING -d _mon ip externe_ -p tcp --dport 47624 -j DNAT --to _mon ip interne_ iptables -t nat -A PREROUTING -d _mon ip externe_ -p tcp --sport 47624 -j DNAT --to _mon ip interne_ iptables -t nat -A PREROUTING -d _mon ip externe_ -p tcp --dport 2300:2400 -j DNAT --to _mon ip interne_ iptables -t nat -A PREROUTING -d _mon ip externe_ -p tcp --sport 2300:2400 -j DNAT --to _mon ip interne_ #directx 7 et 8 iptables -t nat -A PREROUTING -d _mon ip externe_ -p udp --dport 6073 -j DNAT --to _mon ip interne_ iptables -t nat -A PREROUTING -d _mon ip externe_ -p udp --sport 6073 -j DNAT --to _mon ip interne_ iptables -t nat -A PREROUTING -d _mon ip externe_ -p udp --dport 2300:2400 -j DNAT --to _mon ip interne_ iptables -t nat -A PREROUTING -d _mon ip externe_ -p udp --dport 2300:2400 -j DNAT --to _mon ip interne_ et là hop, ca marche. Je peux même héberger les parties. Mais je me demande si il n'y a pas un meilleur moyen que de faire celà quand même... Sur le site de microsoft, ils disent que les serveurs NAT qui gère le UPnP peuvent s'interfacer automatiquement avec directX et qu'on ça marche de façon transparente. Alors mon petit journal, je me pose 2 questions. D'abord y a t'il un module dans le kernel qui puisse utiliser UPnP... enfin... déjà faudrait il que je comprenne ce que ca veut dire... quelque chose plug and play je suppose mais bon... Pis ensuite, dans les modules que j'ai compilé dans le kernel, j'ai des modules netfilter spéciaux pour quake3, pour irc, pour ftp, eggdrop etc... Je me demande bien a quoi ca sert en fait. Est-ce que ca ne serait pas justement un truc fasse la translation automatique de ports entre la passerelle et le desktop pour ces protocoles?... Pis tout ca, ca m'ammène encore à une dernière questions... Comment est-il possible de faire de la translation dynamique entre 2 PC... Parce que admettons maintenant que ma soeur dans la chambre d'à coté veuille aussi jouer... Mais que tous les ports sont redirigé en dur sur mon PC... Je me demande bien comment ca va être possible. Bref, tout ça m'a l'air très puissant, mais faut savoir comment l'utiliser :)