IP Masquerading + Napster mini-HOWTO

John E. Danner jed204@psu.edu
Version française par Christophe Fergeau christophe.fergeau@ensimag.imag.fr et Nicolas Justin nicolas.justin@free.fr

v1.6, 11 avril 2000
Ce mini HOWTO présente une méthode permettant aux personnes situées en amont d'un systéme utilisant l'IP Masquerading d'utiliser Napster. Pour plus d'informations sur Napster, voyez leur site web à la page d'accueil de Napster.

1. Mise en garde

Afin de faire fonctionner Napster correctement, vous devrez ouvrir une brèche sur le système utilisant l'IP Masquerading. Ceci pose d'éventuels problèmes de sécurité. Mais je décline toute responsabilité quant à cette modification. Donc, si vous effectuez les modifications décrites dans ce HowTo et que vous avez des problèmes à cause de cela... ce n'est pas ma faute.

Bien, entrons maintenant dans le vif du sujet.

2. Introduction

Après la mise en place d'un réseau pour mes colocataires et moi, un problème survint : nous ne pouvions pas utiliser Napster à cause de l'IP Masquerading. J'y ai donc réfléchi et j'ai fini par trouver cette solution au problème. J'espère que ça marchera aussi bien pour vous que ça a marché pour moi... mais je ne peux rien vous promettre.

3. Avant de commencer

J'ai testé cette méthode avec la configuration suivante :

  1. Napster v2.0 Beta 5a (pour Windows), consultez la page d'acceuil de Napster pour vous assurer que vous avez la version la plus récente ;
  2. une seule adresse IP sur Internet ;
  3. 6 systèmes derrière la machine effectuant l'IP Masquerading, dont 4 utilisent Napster ;
  4. noyau Linux version 2.2.12-20 (distribution RedHat 6.1) ;
  5. utilitaire IPMASQADM version 0.42, vous pouvez l'obtenir ici.

4. Marche à suivre

Tout d'abord, assurez-vous que vous avez les versions listés ci-dessus (ou plus récentes). Assurez-vous aussi que ces programmes sont correctement installés.

  1. Installez la version Windows de Napster sur les clients PC.
  2. Après l'installation et la configuration de Napster, ce dernier indiquera « Finding Acceptable Local Data Port » (recherche d'un port valide pour les données), et après quelques instants, un message d'erreur apparaîtra. Remarque : si vous avez déjà installé Napster v2.0 beta 5a, sélectionnez 'Properties' dans le menu 'File'.
  3. À ce moment, sélectionnez la seconde option « I am not behind a firewall or I configured my firewall - Use TCP port: » (je ne suis pas derrière un pare-feu ou j'ai configuré mon pare-feu - utiliser le port TCP :).
  4. Entrez un numéro de port. Chaque ordinateur qui exécutera Napster devra utiliser un port différent. Pour plus de simplicité, vous pouvez utiliser le dernier nombre de l'adresse IP. Par exemple : si l'IP de l'ordinateur est 192.168.1.2, alors 6702 devrait être plus facile à retenir. Remarque : soyez sûr de ne pas prendre des ports de services déjà actifs (i.e. 21, 110, etc., voir /etc/services pour une liste).
  5. Répétez les étapes 1 à 4 pour tous les ordinateurs qui utiliseront Napster.
  6. Maintenant, loggez vous sur le système effectuant l'IP Masquerading et modifiez un des fichiers de démarrage (j'ai choisi /etc/rc.d/rc.local)
    Les lignes suivantes transmettent la connexion de la machine 
    effectuant l'IP Masquerading vers les clients Napster.
    (ajoutez-les au fichier de démarrage 
    - vous aurez besoin d'une commande pour chaque machine utilisant Napster)
    
    /usr/sbin/ipmasqadm portfw -a -P tcp -L xxx.xxx.xxx.xxx 6702 -R 192.168.1.2 6702
    /usr/sbin/ipmasqadm portfw -a -P tcp -L xxx.xxx.xxx.xxx 6703 -R 192.168.1.3 6703
    /usr/sbin/ipmasqadm portfw -a -P tcp -L xxx.xxx.xxx.xxx 6704 -R 192.168.1.4 6704
    /usr/sbin/ipmasqadm portfw -a -P tcp -L xxx.xxx.xxx.xxx 6705 -R 192.168.1.5 6705
    
    Remarque : XXX.XXX.XXX.XXX est l'adresse IP du système Linux 
    effectuant l'IP Masquerading (l'adresse IP visible sur Internet).
    
    Remarque : si vous avez des problèmes avec IPMASQADM ou l'IP Masquerading en général, consultez le Linux IP Masquerade HOWTO. Ce document est destiné aux personnes dont le système est déjà configuré. Le Linux IP Masquerade HOWTO contient une description plus détaillée du Port Forwarding et de l'IP Masquerading en général.

5. En ce qui concerne les adresses IP dynamiques (Dial-up ou DHCP)

Consultez cette section et le paragraphe Mise en route si votre adresse IP change à chaque fois que vous vous connectez à Internet.

Je remercie Peter Illmayer qui m'a envoyé les informations suivantes (cela corrigera certains problèmes pour ceux qui utilisent des adresses IP dynamiques).

------------------------------------------------------------
Sur une Debian, j'ai créé un fichier forward dans /etc/ppp/ip-up.d contenant

#!/bin/sh
ppp_ip="`/sbin/ifconfig ppp0 | grep 'inet addr' | awk '{print $2}' | sed -e 's/.*://'`"
/usr/sbin/ipmasqadm portfw -f
/usr/sbin/ipmasqadm portfw -a -P tcp -L ${ppp_ip} 6702 -R 192.168.0.2 6702

J'utilise un noyau 2.2.x avec ipmasqadm installé et avec les modules appropriés du noyau compilés.
---------------------------------------------------------------

Charles J. Fisher m'a fait la remarqure que l'on peut utiliser un script similaire avec DHCP. Il suffit d'insérer les lignes suivantes dans un script qui sera lancé après que vous ayez obtenu votre adresse IP.

net_ip="`ifconfig eth0 | awk '/inet/ {sub(/addr:/,"",$2); print $2}'`"
/usr/sbin/ipmasqadm portfw -f
/usr/sbin/ipmasqadm portfw -a -P tcp -L ${net_ip} 6702 -R 192.168.1.2 6702

Évidemment, plus vous avez de machines utilisant Napster derrière la machine effectuant l'IP Masquerading, plus vous devrez effectuer de reroutages de port.

6. Conclusion

Cette méthode permet d'exécuter Napster derrière un système utilisant l'IP Masquerading. J'espère que ça marchera aussi bien pour vous que ça a marché pour moi ! Envoyez vos commentaires/suggestions/critiques à jed204@psu.ed

7. Suivi des HOWTO

C'est la première version de ce document. Si ce document reçoit un bon accueil et que des changements interviennent, alors ce document évoluera aussi. Si quelqu'un pense avoir une meilleure solution, quelle qu'elle soit, prévenez-moi et nous pourrons en discuter afin de savoir quelle est la solution optimale.

8. Copyright et licence

Copyright (c) 2000 by John E. Danner

Vous pouvez copier et distribuer librement (vendre ou céder) ce document dans n'importe quel format. Il est demandé que les corrections et/ou commentaires soient envoyés au mainteneur de ce document. Vous pouvez créer un travail dérivé et le distribuer, mais vous devez :

  1. Envoyer votre travail dérivé (dans le format le plus approprié tel que sgml) au LDP (Linux Documentation Project) ou autre endroit de l'Internet. Si ce n'est pas le LDP, alors dites où le LDP peut le trouver.
  2. Mettre votre travail dérivé sous la même licence ou bien utilisez la GPL. Avec une notice de copyright et au moins un pointeur vers la licence utilisée.
  3. Donner les remerciements dus aux précédents auteurs et principaux contributeurs.

Si vous pensez que votre travail dérivé est autre chose qu'une traduction, il est recommandé que vous discutiez de vos idées avec le mainteneur actuel.