GAZETTE N°29: IPmasquerading

IPmasquerading

Copyright (c) 1998, Mark Nielsen

Adaptation française de Éric Jacoboni et Pierre Tane


Précédent Suivant Table des Matières

5. IPmasquerading avec Roadrunner ou une seconde carte ethernet

Par Mark Nielsen.

Cet article concerne les systèmes basés sur la Red Hat 5.0. Il est probablement possible d'en faire autant avec les autres distributions Linux. Il est particulièrement adapté à roadrunner à Colombus en Ohio. Si vous vivez ailleurs, vous devrez changer tout ce qui touche à « colombus » dans la configuration par quelque chose d'autre. Pour le moment, les seules choses à changer dont je me sois aperçu étaient dans /etc/resolv.conf mais je crois que cela change à chaque fois que vous lancez rrhdcpcd.

Si vous réussissez à faire ce qui figure ici, vous êtes à deux doigts d'être capable d'installer et de connecter un réseau réel à Internet. Pensez-y, la seule différence entre ce que nous faisons ici et un vrai réseau connecté à l'Internet est que votre intranet local ne dispose pas d'adresses IP valides. Si vous aviez des adresses IP valides et que les adresses de votre passerelle restent les mêmes (cela change à chaque fois que vous vous loggez sur roadrunner), alors vous disposeriez d'un réseau réel connecté à l'Internet. Faites-le et vous pourrez vous prévaloir d'une vraie expérience du réseau. Ethernet, le DNS, l'ip forwarding, l'ip masquerading et la configuration d'ethernet sont quelques uns des concepts à maîtriser. Bonne chance!

J'aimerais également remercier un tas de personnes de l'Université Ohio State pour leurs suggestions. J'espère les avoir correctement exprimées.

  1. Références
  2. Installez d'abord roadrunner sur un ordinateur sous Windows 95 et récupérez les fichiers de configuration. Vous en aurez besoin.
  3. Méthode rapide, si vous avez deux cartes 3com 3c509 avec irq=10, adresse 300, et irq=11, adresse=310. Si cela marche, passez par toutes les étapes.
  4. Configurez vos cartes ethernet
  5. Configurez le DNS sur le serveur. Utilisez mes exemples. Je l'ai fait pour 9 ordinateurs si vous en avez besoin d'autant. Le rpm de DNS doit également être installé. ftp://linux.med.ohio-state.edu/cdrom/RedHat/RPMS/caching-nameserver-1.1-4.noarch.rpm est un serveur de cache DNS qui provient de mon cédérom RedHat 5.0.
  6. Configurez vos clients
  7. Compilez le noyau pour l'ip masquerading et le pilote de votre carte ethernet.
  8. Changez certains fichiers de configuration
  9. Connectez votre hub, votre passerelle et roadrunner.
  10. Connectez votre passerelle à Internet avec roadrunner
  11. Configurez roadrunner en tant que service et faîtes en sorte que la première carte ethernet utilise rrdhcpcd.
  12. Démarrez et stoppez le service roadrunner et rrdhcpcd.
  13. Compléments
  14. Index de tous les fichiers. Il ne devrait pas y avoir de lignes vides au début des fichiers.

5.1 Références

  1. ftp://ftp.fammed.ohio-state.edu/pub/rr/ RoadRunner Columbus, Site d'information de OH . Ce qui concerne Roadrunner peut être trouvé ici.
  2. http://www.ssc.com/linux/LDP/HOWTO/mini/IP-Masquerade-3.html HOWTO -- Compiler le noyau pour le support du IP Masquerade
  3. http://www.tor.shaw.wave.ca/~ambrose/ Ressources pour Linux concernant l'IP Masquerade
  4. http://www.indyramp.com/masq/ Site Web sur l'IP Masquerading sous Linux
  5. NetHome.htmlLe réseau à la maison avec un modem de Mark Nielsen. Cet article est très semblable à celui-ci.
  6. http://www.vortech.net/rrlinux/linux.htm Page Web d'aide pour RoadRunner . C'est ici que j'ai récupéré mon programme rrclientd.
  7. http://www.ssc.com/linux/LDP/HOWTO/DNS-HOWTO.html. Le DNS. Vous n'en aurez presque pas besoin si vous utilisez le fichier /etc/hosts pour vos ordinateurs sous Linux. Sous Windows 95 et d'autres systèmes d'exploitation, vous en aurez besoin.
  8. http://www.ssc.com/linux/LDP/HOWTO/Ethernet-HOWTO.html Ethernet. Comment configurer et installer vos cartes ethernet.
  9. http://www.ssc.com/linux/LDP/HOWTO/Firewall-HOWTO.html Firewall. Si vous comptez installer un pare-feu, il est facile de le faire avec ce document.
  10. http://www.ssc.com/linux/LDP/HOWTO/NET-3-HOWTO.htmlNetworking-3. Comment se débrouiller avec un réseau.
  11. http://www.ssc.com/linux/LDP/HOWTO/BootPrompt-HOWTO.html Bootprompt. Comment modifier ce que fait le noyau au moment du boot.
  12. http://www.ssc.com/linux/LDP/HOWTO/Kernel-HOWTO.html Le noyau Linux.
  13. http://www.ssc.com/linux/LDP/HOWTO/mini/DHCPcd.html mini howto DHCPcd. Je trouve ce document utile pour répondre à certaines questions que l'on se pose.

5.2 Méthode rapide

Cette courte section ne marche que si vous réussisez à faire en sorte que vos deux cartes ethernet soient détectées avec des modules. cela ne sera probablement pas le cas pour la plupart des personnes.

Cela ne fonctionnera probablement pas avec les Red Hat 5.0. Vous ne devez pas vous écarter des étapes mentionnées c-dessous. Pour une raison inconnue, l'installation de la redhat détectait correctement les deux cartes ethernet et le noyau comportait le support de l'ip forwarding. Il suffit juste de l'autoriser. Ainsi, installer un réseau consiste simplement à copier un certain nombre de fichiers, taper quelques commandes et c'est fini. Assurez vous d'avoir d'abord installé roadrunner sous Windows 95 pour avoir les fichiers de configuration.

  1. Installez les deux cartes Ethernet avant d'installer la RedHat 5.0. Les deux cartes que j'ai utilisées sont des 3com 3c509. Les paramètres de la première étaient irq=10, adresse=300 et pour la seconde irq=11, adresse=310. De plus, quand vous installez la RedHat 5.0, continuez et configurez le réseau local et procédez à l'auto-détection des cartes ethernet. Il les trouve à chaque fois alors qu'il ne le faisait pas avant. A la fin de la procédure d'installation, il vous sera demandé de choisir les services lancés au moment du boot. Je retire smb et sendmail parce que j'ai constaté des blocages à ce moment. Lors de l'installation de la redHat 5.0, installez tout : c'est e que j'ai fait. Vous ne devriez pas avoir à changer le fichier /etc/lilo.conf.
  2. Nul besoin de recompiler votre noyau. Ajoutez tout simplement ce fichier aux vôtres : /etc/rc.d/rc.local Ajoutez le fichier krb5.ini dans C:\NETMANAG sous Windows95 à /etc/krb5.conf Créez également un fichier nommé /etc/rrpasswd qui ne contient qu'une seule ligne, celle du mot de passe de votre nom d'utilisateur sous roadrunner.
  3. Exécutez les commandes :
            mkdir /etc/dhcpc
            unset noglob
    

  4. Copiez ces fichiers à leurs emplacements normaux :
            /etc/sysconfig/network
            /etc/sysconfig/network-scripts/ifcfg-eth0
            /etc/sysconfig/network-scripts/ifcfg-eth1
            /etc/rc.d/init.d/roadrunner
            /etc/dhcpc/resolv.conf
    
            /etc/named.conf
            /var/named/10.0.0
            /var/named/mark.local
            /var/named/named.local
    
            /etc/HOSTNAME
            /etc/hosts
    
            /root/Login2.bat
            /root/email.pl
            /root/cron2   
    

  5. Téléchargez rrclientd-1.3 à l'adresse http://www.vortech.net/rrlinux/linux.htm, détarrez le et dézippez le et copiez tous les fichiers de rrclientd-1.3/bin vers /sbin. Par exemple, si vous êtes dans rrclientd-1.3/bin, faîtes
    cp * /sbin
    

    . Les binaires étaient fournis quand j'en ai eu ma version ce qui vous permettra probablement de ne pas avoir à les compiler. Compiler avec les nouvelles librairies sous une RedHat s'avère en effet parfois délicat ces temps-ci. Vous aurez peut-être à modifier le fichier /etc/services comme il est indiqué dans le fichier README de rrclientd-1.3.
  6. Exécutez les commandes suivantes :

            mv /etc/resolv.conf /etc/resolv.conf_old        
            ln -s /etc/dhcpc/resolv.conf /etc/resolv.conf
            mv /sbin/dhcpcd /sbin/dhcpcd_old
            mv /usr/sbin/dhcpcd /usr/sbin/dhcpcd_old
            mv /usr/bin/rdate /usr/bin/rdate_old
    
            ln -s /sbin/rdate /usr/bin/rdate
            ln -s /sbin/rrdhcpcd /sbin/dhcpcd
            ln -s /sbin/rrdhcpcd /usr/sbin/dhcpcd
            ln -s /sbin/rrclientd /usr/sbin/rrclientd
    
            cp /root/roadrunner /etc/rc.d/init.d  ## ajout du service  roadrunner
    
            chkconfig --add roadrunner 
    
            crontab /root/RR/cron2   ### rétablissement de la connexion pour un job 
    cron
    
             ## Faire en sorte de pouvoir exécuter les scripts avec cron2
            chmod 755 /root/Login2.bat /root/email.pl /etc/rc.d/init.d/roadrunner
    
            ### Seul root doit pouvoir voir le mot de passe!!!
            chmod 700 /etc/rrpasswd
    

  7. Dans /etc/rc.d/init.d/roadrunner, assurez vous d'avoir modifié le nom d'utilisateur pour qu'il concorde avec le nom d'utilisateur donné pour roadrunner
  8. Faîtes ce qui est indiqué dans Connectez votre hub, votre passerelle et votre ordinateur et, si vous avez des clients, consultez la section Configurez vos clients.
  9. Il nous faut maintenant attacher dhpc à votre première carte ethernet. Suivez les instructions de la partie b de Configurer roadrunner en tant que service.
  10. Rebootez votre ordinateur : c'est fini!!!
  11. Si vous rencontrez le moindre problème, tout ce que je peux vous dire est de vérifier que votre fuseau horaire est correct et que votre horloge n'est pas en avance d'une seconde ni en retard de plus de 5 minutes. Si cela ne suffit pas, utilisez ce qui suit pour arriver à vos fins.

5.3 La première carte ethernet

Installez normalement votre première carte ethernet lorsque vous installez le système d'exploitation. Donnez lui une adresse IP non utilisée sur votre réseau. Pour une raison inconnue, cette carte ethernet doit être celle connectée à l'extérieur afin de bien fonctionner avec le forwarding de X Window. Laissez moi préciser : j'ai du le faire pour tous ceux qui voulaient se connecter. Pour aller vers l'extérieur, il ne devrait pas y avoir de problèmes avec la seconde carte connectée à roadrunner. Cependant, je ne pouvais pas utiliser telnet de mon travail vers ma maison et je ne pouvais pas faire marcher un programme X Window quand roadrunner utiisait la seconde carte ethernet. La seconde carte sera dédiée à l'intranet.

Veuillez également configurer votre seconde carte ethernet de manière à ce qu'elle n'utilise PAS la même IRQ et la même adresse qie la première carte ethernet. Par habitude, je prends des valeurs inférieures pour la première carte que pour la deuxième. Je fais souvent appel à un ordinateur sous DOS avec un utiitaire qui sélectionne les valeurs pour les cartes ethernet. Vous devrez probablement faire la même chose.

Ne tentez rien pour l'instant avec votre roadrunner ou votre programme rrdhcpcd. Ne vous préoccupez pas non plus de la configuration du réseau non plus, nous nous en occuperons plus tard. Ne vous inquiétez pas du fait que Linux ne détecte pas la seconde carte, ce problème sera traité ultérieurement. Assurez vous seulement du fait que les deux cartes ne partagent pas des paramètres matériels. De plus, si votre seconde carte ethernet a des valeurs inférieures à la première, l'ordinateur pourra la considérer comme la première, ce qui explique pourquoi je donne des valeurs inférieures à la première. Je ne vais pas me préoccuper de savoir si j'ai tort. Assurez vous seulement que l'une des cartes est détectée.

Configurer votre serveur DNS sur votre serveur connecté à Internet

Si vous savez ce que vous faîtes, changez les configurations. Puisque je suis bête, je choisis le domaine mark.local. Si mark.local devient un nom de domaine officiel, vous devrez changer toutes les références de mark.local en autre chose dans les fichiers plus bas.

  1. Copiez les fichiers suivants sur votre serveur :
    1. /etc/named.boot
    2. /etc/resolv.conf
    3. /var/named/mark.local
    4. /var/named/10.0.0
    5. /var/named/named.local
    6. /etc/hosts est un fichier que j'utiliserais mais dont nous n'aurons pas besoin. Juste au cas où votre serveur DNS plante, cela sera utile pour restaurer le système.
  2. Laissez /var/named/named.ca et named.local inchangés
  3. Relancez named avec cette commande : /etc/rc.d/init.d/named restart

Il y a un certain nombre de choses que vous pourriez changer pour satisfaire vos besoins. Dans /var/named/mark.local, j'ai désactivé la définition de localhost.

A partir de maintenant, vos ordinateurs clients peuvent se trouver entre eux. Je considère que vous savez configurer des adresse IP, des passerelles et autres sur vos clients. Je vous donnerai quelques références à ce sujet toutefois. Configurer les clients de manière à ce qu'ils utilisent le DNS.

Configurer vos postes clients

Dans l'ordinateur qui tient le rôle de serveur DNS, jusqu'à huit entrées additionnelles sont disponibles de manière à ce que jusqu'à huit ordinateurs puissent utiliser le serveur DNS. Je considère que vous avez des notions sur les cartes ethernet. Voici la configuration que j'ai effectuée sur un de mes ordinateurs.

  1. adresse ip = 10.0.0.21
  2. adresse de nom = c1.mark.local
  3. adresse de la passerelle = 10.0.0.10 seconde carte ethernet sur l'ordinateur serveur
  4. masque de sous-réseau = 255.255.255.0
  5. Quant au fichier /etc/resolv.conf, utilisez celui-cipour les clients
  6. Je n'ai pas eu à tripatouiller le noyau sur les ordinateurs clients. En ce qui les concerne, votre ordinateur est une simple passerelle.
  7. /etc/hosts est un fichier que j'utilise mais dont vous n'aurez pas besoin. Juste au cas où votre serveur DNS plante, cela sera utile pour restaurer le système.

La seule chose que vous ayez à changer sur chacun de ordinateurs supplémentaires est l'adresse IP et l'adresse de nom. c2.mark.local et 10.0.0.22 seront respectivement utilisées pour l'ordinateur suivant. Vous voyez le topo?

De plus, si vos clients comportent des macs, des PCs ou autres, consultez le masquerading mini HOWTO .

Configurer le masquerading sur le serveur

Si vos modules ont réussi à détecter vos deux cartes ethernet, cette section ne vous concerne pas. Dans le cas contraire, ce qui sera le cas pour la plupart des personnes, vous DEVREZ COMPILER LE GESTIONNAIRE de la carte ethernet dans votre noyau et autoriser le masquerading dans la foulée. J'ai rencontré des problèmes avec deux cartes ethernet du même type. Pour une raison inconnue, quand j'ai installé la RedHat 5.0 à partir de rien, mes deux cartes ont été reconnues mais c'était probablement une exception.

Lisez le ip masquerading HOWTO. Suivez en les étapes sur la compilation du noyau pour le masquerading. ATTENTION : ceci est TRÈS DANGEREUX si vous échouez. Pour l'installation du noyau, RedHat a fait quelque chose d'idiot quand ils ont configuré le fichier /etc/lilo.conf. Changez la ligne image=/boot/vmlinuz-2.0.32 en image=/boot/vmlinuz et assurez vous d'avoir exécuté lilo avant de redémarrer votre ordinateur. Faites le maintenant afin d'être tranquille.

  1. Voici les étapes que je suis dans la compilation du noyau. Faites ce qui est indiqué dans les HOWTO :
     cd /usr/src/linux
     make config
    

  2. Une fois cela fait, compilez le :
     make dep 
     make clean
     make zImage 
    

  3. Si il n'y a pas eu de problèmes, compilez et installez les modules :
     make modules
     make modules_install
    

  4. Après la création du noyau, installez le nouveau noyau avec les commandes suivantes :
     cp /usr/src/linux arch/i386/boot/zImage   /boot/vmlinuz_NEW
     rm /boot/vmlinuz
     ln -s /boot/vmlinuz_NEW /boot/vmlinuz
     lilo
    

Maintenant, le noyau que vous venez de compiler doit être installé. Voici un exemple de fichier /etc/lilo.conf.

Votre /etc/lilo.conf NE SERA PAS LE MÊME QUE LE MIEN. Modifiez le pour vos besoins et consultez le BOOTPROMPT howto pour ce qui est du paramètre append. Vous devrez modifier ce fichier par vous-même et ajouter le paramètre append comme je l'ai fait pour les deux cartes ethernet.

Modification de certains fichiers de configuration

Utilisez ces fichiers :

  1. Modifiez /etc/rc.d/rc.local qui lancera l'ip masquerading. Ajoutez ça à votre fichier rc.local, ne l'écrasez pas.
  2. Modifiez /etc/sysconfig/network et rappelez vous que ces valeurs ne signifient rien et qu'elles seront changées une fois que vous vous serez connectés à Internet. Voir ici
  3. Modifiez /etc/sysconfig/network-scripts/ifcfg-eth0 par ceci et /etc/sysconfig/network-scripts/ifcfg-eth0 par cela.

5.4 Connectez le réseau

  1. Mettez votre passerelle entre la boîte roadrunner et le hub.
  2. Relancez l'ordinateur.
  3. Connectez tous les autres ordinateurs au hub.
  4. Assurez vous de pouvoir pinger ou vous connter d'un ordinateur client à votre passerelle. Si cela fonctionne, c'est bien.
  5. Assurez vous que vos ordinateurs peuvent voir les autres. Pas la peine d'avoir votre passerelle pour ce faire, c'est juste pour vérifier que votre hub fonctionne correctement. telnet, ping, ftp ou autres devraient convenir. Par exemple, ping c exécutera un ping vers l'ordinateur c1.mark.local. Si vous avez utilisé le /etc/hosts comme je vous l'ai indiqué, nul besoin de votre passerelle pour résoudre l'adresse ip. De même, vous pourriez faire ping 10.0.0.21 pour faire la même chose.
Par ailleurs, vous devriez d'abord connecter la première carte ethernet au modem roadrunner et la seconde carte ethernet au hub.

Maintenant, il va vous falloir connecter votre passerelle à Internet.

5.5 Connecter votre passerelle à Internet.

Avez-vous pensé à installer en premier lieu roadrunner sous Windows 95 pour récupérer les fichiers de configuration? Si c'est le cas, vous avez bien fait.

Téléchargez sur http://www.vortech.net/rrlinux/linux.htm les fichiers rrclientd-1.3.tar.gz et rrdhcpcd-1.02.tar.gz. Vous n'avez pas besoin de rrdhcpcd-1.02.tar.gz à moins que vous ne souhaitiez faire une compilation car il y a un fichier binaire inclus dans rrclientd-1.3.tar.gz. Voici brièvement les étapes par lesquelles il faut passer mais lisez tout de même le fichier README dans rrclientd-1.3.tar.gz. Ce fichier contient de manière plus complète quoi faire ensuite. Utilisez rrdhcpcd pultôt que dhcpcd. Il fonctionne mieux et semble démarrer plus vite.

  1. Créez un /etc/rrpasswd qui contient le mot de passe de votre compte. Un "chmod 700 /etc/rrpasswd" permettra que seul root puisse le lire.
  2. Liez votre fichier /etc/resolv.conf à /etc/dhcpc/resolv.conf avec les commandes
                    mkdir /etc/dhcpc
                    cp /etc/resolv.conf /etc/dhcpc/resolv.conf
                     rm /etc/resolv.conf
                    ln -s /etc/dhcpc/resolv.conf /etc/resolv.conf
    

  3. Copiez un fichier de votre installation sous Windows 95 vers /etc/krb5.conf.
  4. Modifiez /etc/services comme indiqué dans le readme de rrclientd-1.3.tar.gz.
  5. Copiez les binaires dont vous avez besoin pour rrclientd dans /sbin ou, tout du moins, est-ce ce que j'ai fait. Le reste de ce document considérera que vous avez mis vos binaires dans /sbin.
  6. Assurez vous que l'horloge de votre ordinateur n'est pas en avance et pas en retard de plus de cinq minutes. Assurez-vous également que votre fuseau horaire est le bon.
  7. Je vais considérer que vous utilisez rrdhcpcd. Si vous n'en avez pas une version binaire, vous allez devoir le compiler . Exécutez ces commandes pour vous assurer d'avoir les bons liens pour utiliser les nouveaux programmes que vous avez copié dans /sbin.
     
            mv /sbin/dhcpcd /sbin/dhcpcd_old
            mv /usr/sbin/dhcpcd /usr/sbin/dhcpcd_old
            mv /usr/bin/rdate /usr/bin/rdate_old
    
            ln -s /sbin/rdate /usr/bin/rdate
            ln -s /sbin/rrdhcpcd /sbin/dhcpcd
            ln -s /sbin/rrdhcpcd /usr/sbin/dhcpcd
            ln -s /sbin/rrclientd /usr/sbin/rrclientd
    

Une fois rrclientd-1.3.tar.gz installé correctement, utilisez ce fichier /root/Login.bat pour commencer votre session de login avec source /root/Login.bat. Pensez à changer USERNAME dans le fichier par le nom d'utilisateur que vous avez. Dans mon scripts, je stoppe et démarre rrdhcpcd, ce qui n'est pas nécessaire. Une fois rrdhcpcd lancé, il essaye de renouveler l'adresse ip toutes les trois heures. Par conséquent, vous ne devriez pas avoir à arrêter rrdhcpcd mais je le fais pour ma part quand même.

5.6 Configurer roadrunner en tant que service.

Vous devez configurer votre carte ethernet pour qu'elle utilise le protocole dhcp. Faites également en sorte que roadrunner soit un service activé de manière à le lancer quand votre ordinateur est mis en marche. CEla a fonctionné pour moi. J'ai lu que dhcpcd (et probablement rrhcpcd de la même manière) essaye de renouveler l'adresse ip toutes les trois heures. C'est bien. Cela implique que les utilisateurs n'ont pas à le lancer ni à l'arrêter.

A. Tout d'abord, installer roadrunner en tant que service.

  1. http://www.vortech.net/rrlinux/rhrrclientd.htm : c'est la page web que j'ai utilisée comme guide.
  2. /root/roadruner est le fichier dont vous avez besoin. J'ai téléchargé ce fichier le 7 Avril 1998. Il est plutôt simple donc je ne pense pas qu'il change.
  3. Changez votre nom d'utilisateur dans le fichier comme indiqué.
  4. Copiez-le dans /etc/rc.d/init.d avec
                     cp /root/roadrunner /etc/rc.d/init.d
    

  5. Faîtes chkconfig --list | grep roadrunner et vous devriez obtenir
                     roadrunner 0:off 1:off 2:off 3:off 4:off 5:off 6:off
    

  6. Activez le service par chkconfig --add roadrunner
  7. Tapez la commande chkconfig --list | grep roadrunner et vous obtiendrez
                     roadrunner 0:off 1:off 2:on 3:on 4:on 5:on 6:off
    

B. Utilisez maintenant le panneau de configuration (control-panel). Loguez vous sous root et lancez X Window avec startx si xdm n'est pas installé. Le control-panel devrait être là. La prochaine étape va mettre en place rrdhcp avec dhcp pour la première carte ethernet (l'ordinateur ne sait pas faire mieux).

  1. Cliquez sur Configuration du réseau dans le control-panel.
  2. Cliquez sur "Interfaces".
  3. Cliquez sur "eth0"
  4. Cliquez sur "edit"
  5. OPTIONNEL : Cliquez sur "Permettre à l'utilisateur d'(dés)activer l'interface".
  6. Choisissez "dhcp" comme protocole de configuration de l'interface.
  7. Cliquez pour sauvegarder les changements.

Maintenant, rrdhcpcd est lancé en configurant l'utilisation du protocole dhcp par la première carte ethernet et nous avons installé le service roadrunner qui utilise rrclientd.

Relancez votre ordinateur pour voir ce qui se passe!

Vous devriez être connectés à Internet quand votre serveur bootera de même que tous vos clients. Si vous utilisez un navigateur Web, vous aurez peut-être à le configurer pour utiliser le serveur proxy sur le port 8080. Les programmes comme telnet, ssh, nslookup, ftp et ping devraient fonctionner. En fait, il se peut que ping fonctionne avec la simple activation de rrdhcpd.

5.7 Lancer et stopper le service roadrunner et rrdhcpd

Pour tout arrêter et tout redémarrer, vous ferez :


/etc/rc.d/init.d/roadrunner stop
/etc/rc.d/init.d/network stop
/etc/rc.d/init.d/network start
/etc/rc.d/init.d/roadrunner start

Bien sûr, c'est un peu lourd. Rrdhcpd essaye de renouveler l'adresse ip toutes les trois heures, ce qui fait que vous ne devriez pas avoir à le lancer et à l'arrêter. C'est une bonne chose dans la mesure où il prend un certain temps à lancer et qu'il bloque le réseau.

Pourquoi vouloir arrêter et relancer le service roadrunner?

En théorie, rrdhcpd devrait obtenir la même adresse ip 99% du temps si vous le laissez activé tout le temps. Si ce n'est pas le cas, vous allez en souffrir et vous allez devoir relancer le service roadrunner. Ainsi, au lieu d'utiliser le script /root/Login.bat, mettez tout simplement dans la crontab l'interruption et le relancement du service roadrunner à des moments précis. Utilisez les fichiers /root/Login2.bat, /root/cron2 et /root/email.pl. Assurez vous d'avoir fait chmod 755 /root/Login2.bat /root/email.pl et pensez également à faire un crontab /root/cron2. Et si d'autres choses passent par cron sous root, pensez à rajoutez ces divers travaux avec add ou vous riquez de voir disparaître vos anciens jobs cron.

J'inclus également une réponse de Joshua Jackson quand je l'ai mailé au sujet des problèmes que l'on pouvait rencontrer quand on est loggué en permanence.

Si, pour quelque raison que ce soit, vous perdez votre adresse IP (cela ne DEVRAIT PAS arriver en temps normal), vos tickets Kerberos et vos informations d'authentification GSS deviendront invalides. Si cela arrive, rrclientd se terminera et vous devrez vous reloguer.
La seule raison qui pourrait faire que vous perdiez votre adresse IP est soit un dysfonctionnement matériel ou logiciel sur le client ou le serveur, soit une réactivation des serveurs dhcp à RR.
Joshua Jackson

5.8 Compléments

Utilisez cette esection à vos risques et périls. A ce sujet, j'espère pouvoir faire plus dans la mesure où nombreux sont ceux qui m'ont fait des suggestions utiles. Pour les mises-à-jour de cette page web, regardez à http://linux.med.ohio-state.edu/nielsen/rr.html mais cela changera peut-être un jour. RIEN de ce qui figure ici n'est bien expliqué. Des modifications sont certainement nécessaires. C'est justement ce que je vais faire.

  1. Si vous ne configurez pas le service roadrunner et n'attachez pas rrdhcpcd à la carte ethernet mais voulez tout de même rester connecté presque en permanence, vous pourriez vous envoyer un mél à vous-même en utulisant un script perl et un job cron sur votre passerelle et lancer la commande crontab cron pour le démarrer. Le fichier /root/cron utilise /root/Login.bat : vous en avez donc besoin. de même, le fichier /root/Kill.bat est là pour le tuer tous les soirs à 1 heure du matin. Ce n'est pas la peine de le faire mais je le fais quand même. Faîtes un chmod 755 /root/email.pl /root/Kill.bat /root/Login.bat. Modifiez-le pour qu'il convienne à vos désirs. Ajoutez également cela à /etc/rc.d/rc.local et remplacez USERNAME par le nom d'utilisateur que vous utilisez pour roadrunner. Cela le lancera au moment du boot si vous ne l'avez pas configuré comme cela avec le service roadrunner et le control-panel.
    echo démarrage de rrdhcpcd
    /sbin/rrdhcpcd eth0
    echo sommeil de 5 secondes
    sleep 5
    echo démarrage de rrclientd
    /sbin/rrclientd  -u USERNAME /etc/rrpasswd dce-server 
    echo terminé
    echo sommeil pour 20 secondes de plus
    sleep 20
    

  2. Si vous êtes intéressés par les programmes que vous pouvez utiliser, telnet, ssh, ftp, ping, nslookup et les programmes x-window semblent fonctionner. J'ai entendu dire que d'autres marchent également. Certaines des ressources mentionnées dans Ressources mentionnent par exemple ircs et autres.
  3. Dans /etc/inet.d, je commenterais ftp, telnet, rsh, pop3, pop2, imap et gopher pour des raisons de sécurité. Compilez et installez ssh.
  4. SI vous êtes intéressés par les modifications à /etc/resolv.conf de manière à ce qu'il ne change pas, faîtes un chmod 444 /etc/dhcpc/resolv.conf après l'avoir configuré. Je recommande d'avoir ajouté seulement des informations telles que les serveurs de nom et les noms de domaines tel que le mien :
    domain columbus.rr.com
    search mark.local columbus.rr.com 
    nameserver 10.0.0.10  ### notre DNS
    nameserver 204.210.252.18 ###  dns de roadrunner
    nameserver 128.146.1.7  ### POUR LES PERSONNES DE COLUMBUS OHIO SEULEMENT!
    

5.9 Index des fichiers

Vous ne devriez pas avoir de lignes blanches vides au début des fichiers.

/etc/named.boot pour le serveur


 
;
; une configuration du serveur de nom en cache seulement
;
directory                              /var/named
cache           .                      named.ca
primary         0.0.127.in-addr.arpa   named.local
primary        mark.local        mark.local
primary          0.0.10.in-addr.arpa   10.0.0

/etc/resolv.conf pour le serveur et les clients


domain columbus.rr.com
search mark.local columbus.rr.com 
nameserver 10.0.0.10  ### notre DNS
nameserver 204.210.252.18 ###  dns de roadrunner
nameserver 128.146.1.7  ### POUR LES PERSONNES DE COLUMBUS OHIO SEULEMENT!

###  Vous pouvez probablement utiliser notre dns en premier si vous le voulez.
###  Pour l'instant, je le ferais

/var/named/mark.local pour le serveur


 
mark.local.       IN      SOA  main.mark.local. root.main.mark.local.  (
                                      1997022700 ; Serial
                                      28800      ; Refresh
                                      14400      ; Retry
                                      3600000    ; Expire
                                      86400 )    ; Minimum
mark.local.       IN      NS      main.mark.local.
;localhost IN       A       127.0.0.1
main.mark.local.   IN     A       10.0.0.10
c1.mark.local.     IN      A       10.0.0.21
c2.mark.local.     IN     A       10.0.0.22
c3.mark.local.     IN     A       10.0.0.23
c4.mark.local.     IN     A       10.0.0.24
c5.mark.local.     IN     A       10.0.0.25
c6.mark.local.     IN     A       10.0.0.26
c7.mark.local.     IN     A       10.0.0.27
c8.mark.local.     IN     A       10.0.0.28

/var/named/10.0.0 pour le serveur


 
0.0.10.in-addr.arpa. IN   SOA  main.mark.local. root.main.mark.local. (
                                      1997022700 ; Serial
                                      28800      ; Refresh
                                      14400      ; Retry
                                      3600000    ; Expire
                                      86400 )    ; Minimum
              IN      NS      main.mark.local.
10.0.0.10.in-addr.arpa.       IN      PTR     main.mark.local.
21.0.0.10.in-addr.arpa.       IN      PTR     c1.mark.local.
22.0.0.10.in-addr.arpa.       IN      PTR     c2.mark.local.
23.0.0.10.in-addr.arpa.       IN      PTR     c3.mark.local.
24.0.0.10.in-addr.arpa.       IN      PTR     c4.mark.local.
25.0.0.10.in-addr.arpa.       IN      PTR     c5.mark.local.
26.0.0.10.in-addr.arpa.       IN      PTR     c6.mark.local.
27.0.0.10.in-addr.arpa.       IN      PTR     c7.mark.local.
28.0.0.10.in-addr.arpa.       IN      PTR     c8.mark.local.

/var/named/named.local pour le serveur




@       IN      SOA     localhost. root.localhost.  (
                                      1997022700 ; Serial
                                      28800      ; Refresh
                                      14400      ; Retry
                                      3600000    ; Expire
                                      86400 )    ; Minimum
              IN      NS      localhost.

1       IN      PTR     localhost.

/etc/hosts pour le serveur et les clients


 
127.0.0.1 localhost     localhost.localdomain
10.0.0.21 c1.mark.local c1
10.0.0.10 main.mark.local       main
10.0.0.22 c2.mark.local c2
10.0.0.23 c3.mark.local c3
10.0.0.24 c4.mark.local c4
10.0.0.25 c5.mark.local c5
10.0.0.26 c6.mark.local c6
10.0.0.27 c7.mark.local c7
10.0.0.28 c8.mark.local c8

/etc/resolv.conf pour les clients


 
search mark.local
nameserver 10.0.0.10

/etc/lilo.conf


 
boot=/dev/hda
map=/boot/map
install=/boot/boot.b
prompt
timeout=50
### ATTENTION: VALABLE POUR MON SEUL ORDINATEUR!!!!!
image=/boot/vmlinuz
        label=linux
        root=/dev/hda1
        append="ether10,0x300,eth0 ether=11,0x310,eth1"
        read-only

/etc/rc.d/rc.local pour le serveur


## Ajoutez ce fichier à /etc/rc.d/rc.local 

echo "configuration de ip Masquerade"
/sbin/depmod -a
/sbin/modprobe ip_masq_ftp
/sbin/modprobe ip_masq_raudio
/sbin/modprobe ip_masq_irc

echo "positionnement des permissions pour le 10.0.0.0 pour le masquerading"
ipfwadm -F -p deny
ipfwadm -F -a m -S 10.0.0.0/24 -D 0.0.0.0/0

/etc/sysconfig/network pour le serveur


NETWORKING=yes
FORWARD_IPV4=true
HOSTNAME=main.mark.local
DOMAINNAME=mark.local
GATEWAY=
GATEWAYDEV=eth0

/etc/sysconfig/network-scripts/ifcfg-eth0


DEVICE=eth0
IPADDR=10.0.1.10
NETMASK=255.255.255.0
NETWORK=10.0.1.0
BROADCAST=10.0.1.255
ONBOOT=yes

/etc/sysconfig/network-scripts/ifcfg-eth1


DEVICE=eth1
IPADDR=10.0.0.10
NETMASK=255.255.255.0
NETWORK=10.0.0.0
BROADCAST=10.0.0.255
ONBOOT=yes

/root/Login.bat


## Ceci est une solution radicale pour lancer et arrêter roadrunner
## Normalement vous ne devriez n'avoir à lancer roadrunner qu'une seule fois
## et vous ne devriez pas avoir à bidouiller la date du réseau
echo killing rrclientd
/sbin/rrclientd -k
sleep 5
echo killing rrdhcpcd
/sbin/rrdhcpcd -k eth0
echo sleeping 2 seconds
sleep 2
### enlevez les commentaires des 5 prochaines lignes si vous le désirez
##echo arrêt et démarrage du réseau
##/etc/rc.d/init.d/network stop
##echo sommeil de  5 secondes
##sleep 5 
##/etc/rc.d/init.d/network start
echo démarrage de rrdhcpcd
/sbin/rrdhcpcd eth0
echo sommeil de 5 secondes
sleep 5
echo Démarrage de rrclientd
/sbin/rrclientd  -u USERNAME /etc/rrpasswd dce-server
echo Terminaison
echo sommeil de  20  secondes de plus
sleep 20

/root/roadrunner pour le serveur


#!/bin/sh
#
# roadrunner  Ce script shell démarre et arrête rrclientd
#
# chkconfig: 2345 11 30
# description: Logue le système dans le TWC Road Runner Internet Service
#
# Auteur: Joshua Jackson  jjackson@neo.lrun.com
#         1/6/98
#
# Bibliothèque de fonctions source
. /etc/rc.d/init.d/functions

# Configuration du réseau source
. /etc/sysconfig/network

# Vérifie que le réseau est monté
[ ${NETWORKING} = "no" ] && exit 0

[ -f /usr/sbin/rrclientd ] || exit 0

RRUSER="mettez votre nom d'utilisateur ici!"

# Comment le script a-t-il été appelé ?
case "$1" in
  start)
        # Démarre les daemons.
        echo -n "Entrée dans Road Runner: "
        daemon rrclientd -u ${RRUSER} /etc/rrpasswd dce-server
        echo
        ;;
  stop)
        # Arrête les daemons.
        echo -n "Sortie de Road Runner "
        killproc rrclientd
        echo
        ;;
  status)
        status rrclientd
        ;;
  restart)
        $0 stop
        $0 start
        ;;
  *)
        echo "Usage: roadrunner start|stop|restart"
        exit 1
esac

exit 0

/root/email.pl pour le serveur


!/usr/bin/perl

$EMAIL = "USERNAME\@somewhere.foo.edu";

open(EMAIL,"| /bin/mail -s RR $EMAIL");
$date = `date`;
chop $date;

print EMAIL "DATE ET HEURE: $date\n";
print EMAIL "--------------------------------------------------\n";
print EMAIL "test\n";

close(EMAIL);

/root/cron pour le serveur


# Redémarre dhcpd et rrclient à 7 a.m., 2 p.m. et 10 p.m.
# Et le tue à 1 a.m.
# Et envoie un e-mail toutes les heures 5 minutes après l'heure
0 7,14,22 * * *     /root/Login.bat  >> /root/Login.log
0 1 * * *     /root/Kill.bat >> /root/Kill.log
5 * * * * /root/mail.pl  

/root/Kill.bat pour le serveur


date
/sbin/rrclientd -k
sleep 5
/sbin/rrdhcpcd -k eth0
sleep 5

/root/Login2.bat


### Il suffit d'arrêter et de redémarrer roadrunner rapidement
/etc/rc.d/init.d/roadrunner stop
sleep 5
/etc/rc.d/init.d/roadrunner start

/root/cron2


# Redémarre à 7 a.m., 2 p.m. et 10 p.m.
# Et envoie un e-mail toutes les heures 5 minutes après l'heure
0 7,14,22 * * *     /root/Login2.bat  >> /root/Login2.log
5 * * * * /root/mail.pl

/etc/HOSTNAME


main.mark.local


Précédent Suivant Table des Matières

Copyright (c) 1998, Mark Nielsen

Adaptation française de Éric Jacoboni et Pierre Tane