
                 Rseau sous Linux (anciennement NET-3-HOWTO).

Auteur actuel: {Poet} poet@linuxports.com (Traduction et trahison de
Jacques.Chion@wanadoo.fr, un grand merci  Jean-Albert Ferrez et Bernard Choppy
pour leur aide)

   v1.5, Aot 1999.
     _________________________________________________________________

   _Auteurs prcdents: Terry Dawson (auteur principal), VK2KTJ;
   Alessandro Rubini (mainteneur) Le systme Linux possde un support
   rseau inclus dans le noyau et crit presque entirement  partir de
   zro. Les performances de l'implmentation tcp/ip des derniers noyaux
   en font une alternative digne de respect mme vis  vis de ses
   meilleurs concurrents. Le but de ce document est de dcrire comment
   installer et configurer le logiciel de rseau sous Linux, ainsi que
   les outils ncessaires._
     _________________________________________________________________

1. Introduction

   Ceci est la premire version depuis que Linuxports est devenu l'auteur
   de ce document. Tout d'abord je dois dire que nous avons l'espoir que
   dans les prochains mois ce document vous rendra service et que nous
   serons capables de vous fournir des informations prcises en temps et
   en heure sur les publications en relation avec les rseaux sous linux.

   Ce document, comme les autres HOWTO dont nous avons la charge, va
   devenir totalement diffrent et deviendra rapidement ``le rseau sous
   Linux-HOWTO'' et pas seulement le NET3-4-HOWTO. Nous traiterons de
   sujets tels que PPP, VPN et autres ...

2. Historique du document

   Le premier document NET-FAQ fut crit par Matt Welsh et Terry Dawson
   en vue de rpondre aux questions qui taient souvent poses au sujet
   des rseaux sous Linux, ceci en un temps o le LPD (Linux
   Documentation Project) n'existait pas encore. Il s'agissait alors des
   toutes premires versions de dveloppement du noyau rseau sous Linux.
   Le document NET-2-HOWTO, qui succda au NET-FAQ, fut l'un des premiers
   documents du LDP HOWTO et il traitait de ce qui fut appel version 2,
   et plus tard version 3, du logiciel rseau du noyau Linux. Ce document
   prend la suite  son tour et ne traite que de la version 4 du noyau
   rseau Linux et plus spcialement des versions du noyau 2.x et 2.2.x.

   Les versions prcdentes de ce document taient devenues plutt
   normes en raison du grand nombre de sujets abords. Pour rsoudre ce
   problme, un certain nombre de documents HOWTO ont t crs et
   traitent de sujets spcifiques. Ce document fait rfrence  ceux qui
   sont pertinents et aborde les sujets qui ne sont pas encore couverts
   par d'autres documents.

2.1 Retour d'informations

   Nous apprcions toujours les retours d'informations. Contactez-nous
   s'il vous plait : poet@linuxports.com.

   Encore une fois, si vous trouvez quelque chose d'erron ou bien si
   vous dsirez que l'on ajoute quelque chose, contactez-nous.

3. Comment utiliser ce document.

   Ce document est organis de haut en bas. Les premires sections
   traitent d'informations sur le matriel et peuvent tre sautes si
   cela ne vous intresse pas ; ensuite il y a une discussion gnrale
   sur ce qui concerne les rseaux, et vous devez tre certains de
   l'avoir assimile avant de poursuivre vers les paragraphes plus
   spcifiques. Le restant, qui traite d'informations ``plus
   technologiques'', est regroup en trois parties principales :
   informations sur Ethernet et IP, les technologies qui concernent le
   matriel PC le plus courant, et les technologies moins rpandues.

   La dmarche que je suggre pour parcourir ce document est donc la
   suivante :

   _Lire les sections gnrales_
          Ces paragraphes s'appliquent  chaque technologie, ou presque,
          dcrite plus tard, il est donc important que vous les ayez
          compris. D'autre part, j'espre que beaucoup de lecteurs
          connaissent dj le sujet.

   _Rflchissez  votre rseau_
          Vous devez savoir comment votre rseau est, ou sera, conu et
          quels matriels et types de technologies vous utiliserez.

   _Lisez la section ``Ethernet et IP'' si vous tes connects en direct
          sur un rseau local ou  l'Internet_
          Cette section traite de la configuration de base d'Ethernet et
          des diffrentes possibilits offertes par Linux, et qui
          concernent le rseau, telles que le pare-feu, le routage
          avanc, etc..

   _Lisez aprs si vous tes intresss par les rseaux locaux  bas cot
          ou les connexions par tlphone_
          Cette section parle de PLIP, PPP, SLIP, et RNIS, les
          technologies utilises habituellement sur les stations
          personnelles.

   _Lisez la section concernant la technologie qui correspond plus
          particulirement  vos besoins._
          Si vos besoins ne concernent pas IP et/ou un matriel courant,
          vous trouverez  la fin des dtails sur les protocoles non-IP
          et les matriels de communication particuliers.

   _Configurez votre rseau_
          Si vous allez rellement essayer de configurer votre rseau,
          prenez soigneusement note de tout problme ventuel.

   _Cherchez de l'aide si ncessaire_
          Si vous rencontrez des problmes qui ne sont pas traits dans
          ce document, reportez-vous au paragraphe donnant les endroits
          o l'on peut en obtenir ou bien envoyer des reports de bogues.

   _Amusez-vous!_
          Le rseau est amusant, profitez-en.

3.1 Les conventions utilises dans ce document

   Il n'y a pas de conventions spciales utilises ici, mais vous devez
   faire attention  la faon de montrer les commandes. En regardant la
   documentation habituelle d'Unix, toute commande qui doit tre tape
   est prcde d'une invite du shell. Ce document utilise "user%" comme
   invite pour les commandes ne ncessitant pas de privilges de
   superutilisateur, et "root#" pour les commandes que l'on doit excuter
   comme utilisateur root. J'ai prfr utiliser "root#"  la place du
   classique "#" pour viter toute confusion avec les extraits de scripts
   shell, ou le signe dise est utilis pour dfinir les lignes de
   commentaires.

   Lorsque les ``Options de Compilation du noyau'' sont mentionnes,
   elles le sont avec le format utilis par _menuconfig_. Elles devraient
   donc tre comprhensibles mme si vous (comme moi) n'tes pas
   familiers avec _menuconfig_. Si vous avez un doute sur la dclaration
   des options, faire tourner le programme une fois ne peut qu'apporter
   de l'aide.

   Notez que tous les liens avec les autres documents HOWTO sont locaux
   pour vous aider  naviguer avec vos documents LDP copis localement,
   au cas o vous utiliseriez la version html de ce document. Si vous ne
   possdez pas l'ensemble des documents, chaque HOWTO peut tre rcupr
   sur metalab.unc.edu (rpertoire /pub/Linux/HOWTO) ou l'un de ses
   nombreux miroirs.

4. Informations gnrales concernant le rseau sous Linux.

4.1 Brve histoire du dveloppement du noyau du rseau Linux.

   Dvelopper une nouvelle implmentation noyau de l'ensemble du
   protocole tcp/ip, de qualit, et qui marcherait aussi bien que les
   produits existants, n'tait pas une tche facile. La dcision de ne
   pas partir d'une implmentation existante fut prise  un moment o il
   y avait un doute sur d'ventuelles restrictions sur les droits de
   copie, en raison de dcisions de justice U.S., et  un moment o il y
   avait beaucoup d'enthousiasme pour faire diffremment et peut-tre
   mme mieux que ce qui avait t fait auparavant.

   Le premier volontaire pour diriger le dveloppement fut Ross Biro
   <biro@yggdrasil.com>. Ross produisit une implmentation de routines
   simple, incomplte, mais parfaitement utilisable,  laquelle fut
   ajout un pilote Ethernet pour la carte interface rseau WD-8003. Ce
   fut suffisant pour que beaucoup de personnes essayent le logiciel et
   mme certains s'arrangrent pour se connecter, avec cette
   configuration, sur le rseau Internet en direct. La pression de la
   communaut Linux qui s'occupait du dveloppement du support rseau
   augmenta, et pour finir, la convergence de cette pression injuste et
   de ses propres obligations l'emportrent sur les avantages que Ross en
   tirait; il arrta donc sa tche de coordinateur de dveloppement. Les
   efforts de Ross pour faire dmarrer le projet, son acceptation de la
   responsabilit de faire vraiment quelque chose d'utile dans de telles
   circonstances mouvementes, furent le point de dpart de tout le
   travail ultrieur et donc un lment essentiel du succs du produit
   actuel.

   Orest Zborowski <obz@Kodak.COM> produisit la premire interface socket
   BSD pour le noyau Linux. Ce fut un grand pas en avant et permit 
   beaucoup d'applications rseau existantes d'tre portes sous Linux
   sans grandes modifications.

    peu prs  cette poque Laurence Culhane <loz@holmes.demon.co.uk>
   dveloppa les premiers pilotes Linux pour supporter le protocole SLIP.
   Ceci permit  beaucoup de gens qui n'avaient pas accs  un rseau
   Ethernet d'essayer le logiciel rseau. Puis certains utilisrent ce
   pilote pour se connecter sur l'Internet. Cela donna  encore plus de
   personnes un aperu de ce qui serait possible si Linux avait un
   support complet pour le rseau et augmenta le nombre d'utilisateurs
   utilisant et exprimentant ce logiciel rseau.

   L'une des personnes qui a aussi activement travaill sur la
   construction du support rseau fut Fred van Kempen
   <waltje@uwalt.nl.mugnet.org>. Aprs la priode d'incertitude qui
   suivit le retrait de Ross, Fred offrit son temps et accepta le rle de
   conducteur du dveloppement sans rencontrer d'opposition. Fred avait
   quelques projets ambitieux quant  la direction vers laquelle il
   voulait porter le logiciel rseau Linux, et il se mit  progresser
   dans ces directions. Fred produisit une srie de code rseau appele
   le code noyau `NET-2' (le code `NET' tant celui de Ross), qui permit
    beaucoup de personnes de l'utiliser avec intrt. Ensuite Fred mit
   nombre d'innovations dans la poursuite du dveloppement, telle que
   l'interface de priphrique dynamique, le support du protocole
   radio-amateur AX-25 et une implmentation rseau conue de manire
   plus modulaire. Le code NET-2 de Fred fut utilis par un grand nombre
   d'enthousiastes, ce nombre augmentant au fur et  mesure de
   l'utilisation du logiciel dans le monde. Le logiciel rseau  ce
   moment tait constitu encore d'un grand nombre de patches qui
   devaient tre appliqus au code noyau et n'tait pas inclus dans la
   distribution normale. Le document NET-FAQ et son successeur
   NET-2-HOWTO dcrivait la procdure assez complexe pour que tout cela
   fonctionne. Fred se concentra sur le dveloppement d'innovations et
   cela prenait du temps. La communaut des utilisateurs s'impatientait,
   car elle voulait avoir quelque chose fonctionnant correctement et qui
   satisferait 80% des utilisateurs puis, comme avec Ross, la pression
   sur le responsable du dveloppement augmentait.

   Alan Cox <iialan@www.uk.linux.org> proposa une solution pour amliorer
   la situation. Il proposa de prendre le code NET-2 de Fred, de le
   dboguer, de le rendre fiable et stable si bien qu'il satisferait
   l'utilisateur de base impatient, relchant ainsi la pression sur Fred
   qui pourrait continuer son oeuvre. Alan se mit au travail avec un
   certain succs et sa premire version du code rseau Linux fut appele
   `Net-2D(ebugged;)'. Le code fonctionnait de manire fiable avec
   plusieurs configurations typiques et l'utilisateur de base tait
   content. Alan avait vraiment des ides et une comptence  lui pour
   contribuer au projet et de nombreuses discussions concernant la
   direction que devait prendre le code NET-2 furent suivies d'effet. Il
   se dveloppa alors deux coles distinctes dans la communaut Linux,
   l'une ayant pour principe `que a marche d'abord, puis on amliorera
   ensuite' et l'autre `amliorer d'abord'. Linus arbitra finalement et
   offrit son aide aux efforts de dveloppement d'Alan et inclut son code
   dans la distribution standard du noyau. Cela plaait Fred dans une
   situation dlicate. Tout dveloppement de longue haleine souffrirait
   de l'absence d'utilisation et d'essais par l'utilisateur de base et
   cela signifierait que les progrs seraient longs et difficiles. Fred
   continua  travailler encore quelque temps, puis se retira finalement,
   et Alan devint le nouveau pilote de dveloppement du code rseau dans
   le noyau Linux.

   Donald Becker <becker@cesdis.gsfc.nasa.gov> rvla rapidement ses
   talents dans les aspects de bas niveau du rseau et produisit une
   norme quantit de pilotes Ethernet, presque tous ceux inclus dans les
   noyaux actuels tant de lui. Il y a d'autres personnes qui ont apport
   une contribution significative, mais le travail de Donald est
   prolifique et mrite donc une mention spciale.

   Alan continua  affiner le code NET-2-D(ebugged) pendant un certain
   temps, tout en progressant sur certains des sujets qui restaient en
   suspens dans la liste des `TODO' (NdT : ` Faire'). Pendant que les
   sources du noyau Linux 1.3.* faisaient leurs premiers pas, le code
   rseau migra vers la distribution NET-3, sur laquelle les versions
   actuelles sont fondes. Alan travailla sur de multiples aspects du
   code rseau et, avec l'assistance d'un grand nombre de personnes
   talentueuses venant de la communaut Linux, dveloppa le code dans
   toutes sortes de directions. Alan produisit des pilotes de
   priphriques rseau, le premier standard AX.25 et les implmentations
   IPX. Alan continua  rafistoler le code, le restructurant petit 
   petit et l'amenant  son niveau d'aujourd'hui.

   Le support PPP fut ajout par Michael Callahan
   <callahan@maths.ox.ac.uk> et Al Longyear <longyear@netcom.com>, ce qui
   fut important pour accrotre le nombre de personnes utilisant Linux
   dsireuses d'aller sur le rseau.

   Jonathon Naylor <jsn@cs.nott.ac.uk> apporta sa contribution en
   amliorant le code AX.25 d'Alan et en y ajoutant les protocoles NetRom
   et Rose. Le support AX.25/NetRom lui-mme est tout  fait
   significatif, car aucun autre systme d'exploitation que Linux ne peut
   se vanter d'avoir un support natif pour ce protocole.

   Il y a eu bien sr des centaines d'autres personnes qui ont apport
   une contribution significative  la couche rseau de Linux. Vous en
   retrouverez certains plus tard dans les paragraphes traitant de
   technologies spcifiques, d'autres ont collabor aux modules, pilotes,
   corrections de bogues, suggestions, rapports d'essais et support
   moral. Dans tous les cas chacun peut se prvaloir d'avoir jou un rle
   et offert ce qu'il pouvait. Le code rseau Linux est un excellent
   exemple de ce que l'on peut obtenir avec un style Linux de
   dveloppement anarchique, si cela ne vous a pas encore tonn, et on
   le voit encore, le dveloppement ne s'est pas arrt.

4.2 Informations sur la couche rseau de Linux.

   Il y a un grand nombre d'endroits o l'on peut trouver de bonnes
   informations sur le rseau Linux.

   Il y a un tas de spcialistes disponibles. On peut en trouver une
   liste sur LinuxPorts Consultants Database.

   Alan Cox, l'actuel mainteneur du code rseau Linux entretient une page
   web contenant les points principaux du rseau actuel, et ses nouveaux
   dveloppements,  l'adresse : www.uk.linux.org.

   Une autre bonne source est un livre crit par Olaf Kirch ayant pour
   titre Network Administrators Guide. C'est une oeuvre du Linux
   Documentation Project et vous pouvez le lire de manire interactive
   sur Network Administrators Guide HTML version ou bien vous pouvez
   l'obtenir sous diffrents formats via ftp sur : metalab.unc.edu LDP
   ftp archive. Le livre d'Olaf est trs comprhensible et fournit un
   point de vue de haut niveau sur la configuration rseau sous Linux.

   (NdT : ce livre a t traduit en franais de manire remarquable par
   le regrett Ren Cougnenc)

   Il existe un groupe de discussion ddi au rseau et, en ce qui le
   concerne dans la hirarchie Linux, c'est : comp.os.linux.networking

   Il existe une liste de diffusion  laquelle vous pouvez vous inscrire,
   et o vous pourrez poser des questions en relation avec le rseau
   Linux. Pour souscrire vous devez envoyer un message par courrier
   lectronique :

To: majordomo@vger.rutgers.edu
Subject: (rien du tout)
Message:

subscribe linux-net

   Sur les diffrents rseaux IRC, il y a souvent des canaux #linux sur
   lesquels des personnes sont en mesure de rpondre  vos questions au
   sujet du rseau Linux.

   Souvenez-vous lorsque vous faites part d'un problme d'y inclure le
   plus possible de dtails ncessaires. Plus spcialement indiquez les
   versions des logiciels que vous utilisez, en particulier la version du
   noyau, les versions des outils tels que _pppd_ ou _dip_, et la nature
   exacte des problmes que vous rencontrez. Cela veut dire prendre note
   de la syntaxe exacte des messages d'erreurs que vous recevez, et les
   commandes que vous avez excutes.

4.3 O obtenir des informations sur le rseau, non spcifiques de Linux.

   si vous dsirez des informations gnrales de base sur tcp/ip, alors
   je vous recommande de regarder les documents suivants :

   _introduction  TCP/IP _
          ce document se trouve  la fois sur en version texte et en
          version postscript.

   _administration TCP/IP _
          ce document se trouve  la fois sur en version texte et en
          version postscript.

   Si vous recherchez des informations plus dtailles je vous recommande
   chaudement :

     _Internetworking with TCP/IP, Volume 1 : principes, protocoles et
     architectures_, par Douglas E. Comer,ISBN 0-13-227836-7, Prentice
     Hall publications, 3me dition, 1995.

   Si vous voulez apprendre comment crire des applications rseau dans
   un environnement compatible Unix, je vous recommande galement
   chaudement :

     _Unix Network Programming_ par W. Richard Stevens ISBN
     0-13-949876-1, Prentice Hall publications, 1990.

   Une deuxime dition de ce livre va apparaitre sur les rayons : le
   nouveau livre comporte 3 volumes : voyez le site de Prentice Hall pour
   en savoir plus.

   Vous pouvez essayer aussi le groupe de discussions :
   comp.protocols.tcp-ip.

   Une importante source d'informations techniques concernant l'Internet
   et la suite des protocoles TCP/IP sont les RFC. RFC est l'acronyme de
   `Request For Comment' et c'est le moyen habituel de soumettre et de
   s'informer des normes de protocoles Internet. Il y a beauccoup
   d'endroits o sont stockes ces RFC. Beaucoup de ceux-ci sont des
   sites ftp, d'autres fournissent des accs WWW avec un moteur de
   recherche qui cherche les bases de donnes RFC avec des mots-cls
   particuliers.

   Une source possible de RFC est : la base de donnes RFC de Nexor.

5. Informations gnrales concernant la configuration rseau

   Vous devez connatre et bien comprendre les paragraphes suivants avant
   d'essayer de configurer votre rseau. Ce sont des principes de base
   qui s'appliquent, indpendamment de la nature du rseau que vous
   voulez mettre en place.

5.1 De quoi ai-je besoin pour dmarrer ?

   Avant de commencer  construire ou configurer votre rseau, vous aurez
   besoin de certaines choses. Les plus importantes sont :

  Sources du noyau rcentes (Optionnel).

    noter:

   La majorit des distributions actuelles sont livres avec l'option
   rseau active, en sorte que vous n'avez pas besoin de recompiler le
   noyau. Si vous utilisez du matriel bien connu, tout ira bien. Par
   exemple: cartes 3COM, cartes NE2000 ou cartes Intel. Cependant si vous
   devez recompiler le noyau, voyez les informations qui suivent.

   Si le noyau que vous utilisez actuellement ne supporte pas les types
   de rseau ou les cartes que vous voulez utiliser, vous aurez besoin
   des sources du noyau pour pouvoir le recompiler avec les options
   adquates.

   Pour les utilisateurs des principales distributions comme RedHat,
   Caldera, Debian ou Suse, ce n'est plus vrai. Tant que vous restez avec
   un matriel de grande diffusion, il n'est pas ncessaire de recompiler
   le noyau,  moins que vous n'ayez une exigence trs spcifique.

   Vous pouvez toujours obtenir les sources du dernier noyau sur :
   ftp.cdrom.com. Ce n'est pas le site officiel mais ils ont BEAUCOUP de
   bande passante et BEAUCOUP d'utilisateurs peuvent se connecter en mme
   temps. Le site officiel est kernel.org, mais dans la mesure du
   possible, utilisez s'il vous plat celui que je viens de donner.
   Souvenez-vous que ftp.kernel.org est particulirement surcharg.
   Utilisez un miroir.: (NdT : et bien sr ftp.lip6.fr) .

   Normalement les sources du noyau doivent tre dsarchives dans le
   rpertoire /usr/src/linux. Pour savoir comment appliquer les patches
   et compiler le noyau, lisez le Kernel-HOWTO. Pour savoir comment
   configurer les modules du noyau, lisez le ``Modules-mini-HOWTO''.
   Enfin, le fichier README qui se trouve dans les sources du noyau ainsi
   que le rpertoire Documentation donnent beaucoup de renseignements au
   lecteur courageux.

   Sauf indication contraire, je vous recommande de vous en tenir  une
   version stable du noyau (celle avec un chiffre pair en seconde place
   dans le numro de version). Les versions de dveloppement (avec un
   chiffre impair en seconde place dans le numro de version) peuvent
   avoir une structure ou autre chose qui peut poser problme avec les
   logiciels de votre systme. Si vous n'tes pas certain de rsoudre ce
   type de problmes, avec en plus ceux qui existeraient sur d'autres
   logiciels, ne les utilisez pas.

   D'autre part, certaines caractristiques dcrites dans ce document ont
   t introduites lors du dveloppement des noyaux 2.1.x, vous devez
   donc choisir : soit vous restez avec la version 2.0 et attendez la
   version 2.2, avec une distribution mise  jour contenant tous les
   nouveaux outils, soit vous utilisez la version 2.1 et cherchez les
   divers programmes qui supportent les nouvelles fonctionnalits.
   Lorsque j'cris ce paragraphe, en aot 1998, la version de
   dveloppement en cours est la 2.1.115 et la 2.2 va apparatre
   prochainement.

  Outils de rseau rcents

   Ces outils sont les programmes utiliss pour configurer les fichiers
   de priphriques rseau. Ils vous permettent d'assigner des adresses
   aux priphriques et de configurer des routes par exemple.

   La plupart des distributions Linux modernes sont fournies avec les
   outils de rseau, aussi si vous avez fait votre installation  partie
   d'une distribution et que vous n'avez pas encore install les outils
   de rseau, vous devez le faire.

   Si vous n'avez pas fait l'installation  partir d'une distribution,
   vous aurez alors besoin des sources pour les compiler vous-mme. Ce
   n'est pas difficile.

   Les outils de rseau sont maintenus par Bernd Eckenfels et se trouvent
   sur : ftp.inka.de et sont recopis sur : ftp.linux.uk.org.

   Vous pouvez galement obtenir les derniers paquetages RedHat sur
   net-tools-1.51-3.i386.rpm

   Soyez srs de choisir la version la mieux approprie  votre noyau et
   suivez les instructions incluses dans le paquetage.

   Pour installer et configurer la version actuelle (au moment o
   j'cris), vous devrez faire :

user% tar xvfz net-tools-1.33.tar.gz
user% cd net-tools-1.33
user% make config
user% make
root# make install

   Ou avec les paquetages Redhat:

root# rpm -U net-tools-1.51-3.i386.rpm

   De plus, si vous voulez configurer une protection pare-feu ou utiliser
   le masquage IP vous aurez besoin de la commande _ipfwadm_. La dernire
   version peut-tre obtenue sur : ftp.xos.nl. Encore une fois, de
   nombreuses versions existent. Soyez srs de prendre celle qui s'adapte
   le mieux  votre noyau. Notez que les fonctionnalits pour pare-feu de
   Linux ont chang pendant le dveloppement de la version 2.1 et ont t
   remplaces par _ipchains_ dans la version 2.2 du noyau. _ipfwadm_ ne
   s'applique donc qu'aux versions 2.0 du noyau. Ce qui suit ne
   s'applique donc qu'aux distributions ayant la version 2.0 ou
   antrieure.

Redhat 5.2 ou infrieure
Caldera pr-version 2.2
Slackware pr-version 4.x
Debian pr-version 2.x

   Pour installer et configurer la version existante au moment de
   l'criture de ce document, vous devez lire le document howto IPchains
   situ sur Le projet de Documentation Linux.

   Notez que si vous avez la version 2.2 (ou l'ancienne 2.1) du noyau,
   _ipfwadm_ n'est pas le bon outil pour configurer le pare-feu. Cette
   version de NET-3-HOWTO n'est pas en accord avec les nouveaux rglages
   du pare-feu. Si vous dsirez plus d'informations dtailles sur
   ipchains, rfrez-vous au document mentionn ci-dessus.

  Applications rseau

   Les programmes d'application rseau sont des programmes tels que
   _telnet_ et _ftp_ et leurs serveurs respectifs. David Holland s'occupe
   maintenant d'une distribution trs rpandue, qui est maintenant
   maintenue par netbug@ftp.uk.linux.org. Vous pouvez obtenir cette
   distribution sur : ftp.uk.linux.org.

  Adresses et explications.

   Les adresses de protocole Internet (IP) sont composes de quatre
   octets. La convention d'criture est appele `notation dcimale
   pointe'. Sous cette forme chaque octet est converti en un nombre
   dcimal (0-255), en omettant les zros de tte ( moins que ce nombre
   ne soit lui-mme un zro) et chaque octet est spar par le caractre
   `.'. Par convention, chaque interface d'un hte ou routeur possde une
   adresse IP. Il est permis, dans certaines circonstances, que la mme
   adresse IP soit utilise sur diffrentes interfaces d'une mme
   machine, mais, en gnral, chaque interface possde sa propre adresse.

   Les rseaux IP (Protocole Internet) sont des squences contigus
   d'adresses IP. Toutes les adresses d'un mme rseau ont des chiffres
   en commun. La partie d'adresse commune  toutes les adresses d'un
   rseau s'appelle la `partie rseau' de l'adresse. Les chiffres
   restants s'appellent `partie hte'. Le nombre de bits qui sont
   partags par toutes les adresses d'un mme rseau est appel masque de
   rseau (netmask) et c'est le rle du masque de rseau de dterminer
   quelles adresses appartiennent  `son' rseau et celles qui ne sont
   pas concernes. Par exemple :

----------------------------------------     ----------------
Adresse hte (host address)                  192.168.110.23
Masque de rseau (network mask)              255.255.255.0
Partie rseau (network portion)              192.168.110.
Partie hte (host portion)                              .23
----------------------------------------     ----------------
Adresse rseau (network address)             192.168.110.0
Adresse de diffusion (broadcast address)     192.168.110.255
----------------------------------------     ----------------

   Toute adresse qui est `ANDE bit  bit' avec son masque de rseau
   rvlera l'adresse du rseau auquel elle appartient. L'adresse du
   rseau est par consquent l'adresse de plus petit nombre dans
   l'ensemble des adresses et a toujours la partie hte code avec des
   zros.

   L'adresse de diffusion est une adresse spciale que chaque hte du
   rseau coute en mme temps que son adresse personnelle. Cette adresse
   est celle  laquelle les datagrammes sont envoys si tous les htes du
   rseau sont en mesure de les recevoir. Certains types de donnes
   telles que les informations de routage et les messages d'alerte sont
   transmis vers l'adresse de diffusion de telle sorte que tous les htes
   du rseau peuvent les recevoir en mme temps. Il y a deux standards
   utiliss de manire courante pour dfinir ce que doit tre l'adresse
   de diffusion. Le plus largement utilis est de prendre l'adresse la
   plus haute possible du rseau comme adresse de diffusion. Dans
   l'exemple ci-dessus ce serait 192.168.110.255. Pour d'autres raisons,
   certains sites ont adopt la convention d'utiliser l'adresse de rseau
   comme adresse de diffusion. En pratique cela n'a pas beaucoup
   d'importance, mais vous devez tre srs que tous les htes du rseau
   sont configurs avec la mme adresse de diffusion.

   Pour des raisons d'administration, il y a quelque temps, lors du
   dveloppement du protocole IP, des ensembles d'adresses ont t
   organiss en rseaux et ces rseaux ont t regroups en ce que l'on a
   appell classes. Ces classes donnent un certain nombre de rseaux de
   tailles standards auxquels on peut assigner des adresses. Ces classes
   sont :

----------------------------------------------------------
|Classe de |Masque de     | Adresses de rseau           |
| rseau   |  rseau      |                              |
----------------------------------------------------------
|    A    | 255.0.0.0     | 0.0.0.0    - 127.255.255.255 |
|    B    | 255.255.0.0   | 128.0.0.0  - 191.255.255.255 |
|    C    | 255.255.255.0 | 192.0.0.0  - 223.255.255.255 |
|Multicast| 240.0.0.0     | 224.0.0.0  - 239.255.255.255 |
----------------------------------------------------------

   Le type d'adresse que vous devez utiliser dpend de ce que vous voulez
   faire exactement. Vous pouvez utiliser une combinaison des actions
   suivantes pour obtenir l'ensemble des adresses dont vous aurez besoin
   :

   _Installer une machine Linux sur un rseau IP existant _
          Vous devez alors contacter un des administrateurs du rseau et
          lui demander les informations suivantes :

          + Adresse hte;
          + Adresse rseau;
          + Adresse de diffusion;
          + Masque de rseau;
          + Adresse de routage;
          + Adresse du serveur de noms de domaine (DNS).

          Vous configurerez alors votre rseau Linux  l'aide de ces
          donnes. Vous ne pouvez pas les inventer vous-mme et esprer
          que votre configuration fonctionne.

   _Construire un rseau tout neuf non connect  l'Internet_
          Si vous construisez un rseau priv et que vous n'ayez pas
          l'intention de vous connecter  l'Internet, vous pouvez alors
          choisir n'importe quelle adresse. Cependant, pour des raisons
          de scurit et de fiabilit, il y a quelques adresses de rseau
          IP rserves  cet usage. Elles sont spcifies dans la RFC
          1597 et sont les suivantes :

-----------------------------------------------------------
|         ALLOCATIONS POUR RSEAUX PRIVS                 |
-----------------------------------------------------------
| Classe  | Masque de     | Adresses de rseau            |
| rseau  |  rseau       |                               |
-----------------------------------------------------------
|    A    | 255.0.0.0     | 10.0.0.0    - 10.255.255.255  |
|    B    | 255.255.0.0   | 172.16.0.0  - 172.31.255.255  |
|    C    | 255.255.255.0 | 192.168.0.0 - 192.168.255.255 |
-----------------------------------------------------------

          Vous devez d'abord dcider de la dimension de votre rseau et
          choisir ensuite les adresses dont vous avez besoin.

5.2 O mettre les commandes de configuration ?

   Il y a plusieurs possibilits de procdures de dmarrage d'un systme
   Linux. Aprs le dmarrage du noyau, celui-ci excute toujours un
   programme appel `_init_'. Ce programme lit le fichier de
   configuration appel /etc/inittab et commence le processus de
   dmarrage. Il y a quelques variantes de _init_, bien que maintenant
   tout le monde se dirige vers la variante System V (cinq), dveloppe
   par Miguel van Smoorenburg.

   Bien que que le programme _init_ soit toujours le mme, les rglages
   du processus de dmarrage se font diffremment suivant le type de
   distribution. Habituellement le fichier /etc/inittab contient une
   entre telle que :

si::sysinit:/etc/init.d/boot

   Cette ligne spcifie le nom du fichier script qui prend en charge
   rellement la squence de dmarrage. Ce fichier est en quelque sorte
   quivalent au fichier MS-DOS AUTOEXEC.BAT.

   Il y a aussi d'autres scripts appels par le script de dmarrage, et
   souvent le rseau est configur dans l'un de ceux-ci.

   Le tableau suivant peut tre utilis comme guide suivant le systme
   que vous avez :

-------------------------------------------------------------------------------
Distrib. |Interface Config/Routage           | Initialisation serveur
-------------------------------------------------------------------------------
Debian   | /etc/init.d/network               | /etc/rc2.d/*
-------------------------------------------------------------------------------
Slackware| /etc/rc.d/rc.inet1                | /etc/rc.d/rc.inet2
-------------------------------------------------------------------------------
RedHat   | /etc/rc.d/init.d/network          | /etc/rc.d/rc3.d/*
-------------------------------------------------------------------------------

   Notez que les distributions Debian et RedHat utilisent tout un
   rpertoire pour les scripts qui mettent en route les services du
   systme (et habituellement l'information ne se situe pas dans ces
   fichiers, par exemple les systmes RedHat stockent l'ensemble de la
   configuration du systme sous /etc/sysconfig, o elle est rcupre
   par les scripts de dmarrage). Si vous voulez saisir les dtails du
   processus de dmarrage, je vous conseille de vrifier _/etc/inittab_
   ainsi que la documentation accompagnant _init_. Linux Journal va
   galement publier un article sur l'initialisation des systmes, et
   nous pointerons sur lui ds qu'il sera disponible sur le rseau.

   La plupart des distributions rcentes incluent un programme qui permet
   de configurer de nombreux types d'interfaces rseau. Si vous en
   possdez une, regardez si ce programme vous convient au lieu de tenter
   une configuration manuelle.

-----------------------------------------
Distrib   | Programme de configuration rseau
-----------------------------------------
RedHat    | /sbin/netcfg
Slackware | /sbin/netconfig
-----------------------------------------

5.3 Crer vos interfaces rseau

   Sur beaucoup de systmes Unix les priphriques rseau apparaissent
   dans le rpertoire _/dev_ . Il n'en est pas de mme avec Linux. Les
   priphriques rseau sont crs dynamiquement par les logiciels et ne
   ncessitent donc pas de fichiers de priphriques.

   Dans la majorit des cas, le priphrique rseau est cr
   automatiquement par le pilote de priphrique pendant son
   initialisation lorsqu'il dtecte votre matriel. Par exemple le pilote
   Ethernet cre les interfaces eth[0..n] une  une quand il dtecte
   votre matriel Ethernet. La premire carte Ethernet trouve devient
   eth0, la deuxime eth1, etc.

   Cependant, dans certains cas, notamment avec _SLIP_ et _PPP_, les
   priphriques rseau sont crs par un programme utilisateur. Le mme
   mcanisme squentiel s'applique sur les priphriques, mais ce n'est
   pas au moment du dmarrage du systme. La raison en est que, 
   l'inverse des dispositifs Ethernet, le nombre de priphriques _SLIP_
   ou _PPP_ actifs peut varier dans le temps. Nous y reviendrons plus
   tard.

5.4 Configurer une interface rseau

   Lorsque vous avez tous les programmes requis, votre adresse et les
   informations rseau, vous pouvez alors configurer vos interfaces.
   Lorsque nous parlons de la configuration d'interface, nous faisons
   allusion au processus d'assignation des adresses du priphrique
   rseau, et au processus de rglage des paramtres configurables. Le
   programme le plus utilis pour ce faire est la commande _ifconfig_
   (interface configure).

   Typiquement vous utilisez une commande comme ci-dessous :

root# ifconfig eth0 192.168.0.1 netmask 255.255.255.0 up

   Dans ce cas je configure l'interface Ethernet `eth0' avec l'adresse IP
   `192.168.0.1' et un masque de rseau `255.255.255.0'. Le `_up_' qui
   termine la commande enjoint  l'interface de devenir active, mais il
   peut tre omis, tant par dfaut. Pour clore une interface, vous
   faites juste ``ifconfig eth0 down''.

   Le noyau suppose certaines valeurs par dfaut lorsque l'on configure
   les interfaces. Par exemple, vous pouvez indiquer une adresse de
   rseau et une adresse de diffusion, mais si vous ne le faites pas
   comme nous venons de le faire dans l'exemple ci-dessus, alors le noyau
   fera certaines hypothses fondes sur le masque de rseau que vous
   avez fourni, et si vous ne l'avez pas donne, sur la classe de
   l'adresse IP configure. Dans mon exemple, le noyau considrera que
   c'est un rseau de classe C et configurera une adresse rseau de
   `192.168.0.0' et une adresse de diffusion de `192.168.0.255'.

   Il y a de nombreuses autres options pour la commande _ifconfig_ . Les
   plus importantes sont :

   _up_
          active une interface (est fait par dfaut).

   _down_
          dsactive une interface.

   _[-]arp_
          active ou dsactive le protocole de rsolution d'adresses sur
          cette interface.

   _[-]allmulti_
          active ou dsactive la rception de tous les paquets multicast
          matriel (Ndt : Les adresses multicast sont un genre d'adresses
          de diffusion limites  un groupe de machine qui n'ont pas
          ncessairement besoin de se trouver sur le mme sous-rseau).
          Le multicast matriel permet  des groupes d'htes de recevoir
          des paquets adresss vers des destinations spciales. Ce peut
          tre important si vous utilisez des applications comme la
          vidoconfrence, mais la plupart du temps on ne l'utilise pas.

   _mtu N_
          ce paramtre permet de rgler le _MTU_ (Maximum Transfert Unit)
          sur le priphrique.

   _netmask <addr>_
          ce paramtre permet de fixer le masque de rseau.

   _irq <addr>_
          ce paramtre ne fonctionne qu'avec certains types de matriels,
          mais vous permet d'en fixer l'IRQ.

   _[-]broadcast [addr]_
          permet d'activer ou de dsactiver l'acceptation de datagrammes
          destins  l'adresse de diffusion.

   _(-)pointopoint [addr]_
          permet de fixer l'adresse de la machine  l'extrmit d'un lien
          point--point comme pour _slip_ ou _ppp_.

   _hw <type> <addr>_
          permet de fixer l'adresse matrielle de certains priphriques
          rseau. Ce n'est pas souvent utilis pour Ethernet, mais utile
          pour d'autres types de rseau tels que AX.25.

   Vous pouvez utiliser la commande _ifconfig_ pour toutes les interfaces
   rseau. Quelques programmes utilisateurs comme _pppd_ et _dip_
   configurent automatiquement les priphriques en mme temps qu'ils les
   crent, ds lors l'utilisation manuelle de _ifconfig_ n'est pas
   ncessaire.

5.5 Configurer votre solveur de noms

   Le `_Solveur de Noms_' (Name Resolver) fait partie de la bibliothque
   standard de Linux. Sa premire fonction est de convertir des noms
   d'htes comprhensibles par l'homme, comme `ftp.funet.fi' , en
   adresses IP comprhensibles par une machine, comme 128.214.248.6.

  Qu'y a-t-il dans un nom ?

   Vous tes probablement familiers avec l'aspect des noms d'htes
   Internet, mais vous ne savez pas comment ils sont composs ou
   dcomposs. Les noms de domaine Internet sont hirarchiss par nature,
   c'est--dire qu'ils ont une structure arborescente. Un `_domaine_' est
   une famille, ou un groupe de noms. Un `_domaine_' peut tre subdivis
   en `_sous-domaines_'. Un `_domaine de premier niveau_' est un domaine
   qui n'est pas un sous-domaine. Les Domaines de Premier Niveau sont
   spcifis dans la RFC-920. Quelques exemples :

   _COM_
          Organisations Commerciales

   _EDU_
          Organisations ayant rapport avec l'ducation

   _GOV_
          Organisations Gouvernementales (NdT: parfois GOUV en France!)

   _MIL_
          Organisations Militaires

   _ORG_
          Autres organisations

   _NET_
          Organisations ayant un rapport avec l'internet

   _Nom de Pays_
          il existe des codes de deux lettres qui reprsentent un pays
          donn.

   Pour des raisons historiques la plupart des domaines appartenant  des
   domaines qui ne sont pas bass sur des noms de pays sont pour les
   organisations situes aux tats-Unis, bien que les tats-Unis aient
   aussi le code de pays `.us'. Ce n'est plus vrai pour les domaines .com
   et .org, qui sont couramment utiliss par des socits hors des
   tats-Unis.

   Chacun de ces domaines de premier niveau possde des sous-domaines.
   Les domaines de premier niveau fonds sur les noms de pays sont
   diviss ensuite en sous-domaines bass sur les domaines com, edu, gov,
   mil et org . Ainsi par exemple, vous finissez par : com.au and gov.au
   pour des organisations commerciales ou gouvernementales situes en
   Australie ; notez que ce n'est pas une rgle absolue, car les
   politiques relles dpendant de l'autorit qui donne les noms pour
   chaque domaine.

   Le niveau de division suivant reprsente habituellement le nom de
   l'organisation. Ces sous-domaines sont variables, souvent ils sont
   fonds sur la structure en dpartements de l'organisation mais ils
   peuvent l'tre galement sur d'autres critres considrs comme
   rationnels et comprhensibles par les administrateurs rseau de
   l'organisation.

   La partie tout  fait  gauche du nom est toujours le nom unique
   assign  la machine hte et est appele le nom d'hte `_hostname_',
   la partie de droite du nom est le nom de domaine `_domainname_' et le
   nom complet s'appelle le nom de domaine compltement qualifi `_Fully
   Qualified Domain Name_' (ou FQDN).

   Si l'on examine l'adresse de la machine de Terry par exemple, le nom
   pleinement qualifi est `perf.no.itg.telstra.com.au'. Cela veut dire
   que le nom d'hte est `perf' et le nom de domaine
   `no.itg.telstra.com.au'. Le nom de domaine est fond sur un domaine de
   premier niveau bas sur son pays, l'Australie et comme son adresse
   lectronique appartient  une organisation commerciale nous avons
   `.com' comme domaine de niveau adjacent. Le nom de la socit est
   (tait) `telstra' et notre structure interne de noms est bas sur la
   structure organisationnelle, dans mon cas, ma machine appartient 
   l'Information Technology Group, section Network Operations.

   Habituellement, les noms sont plutt plus courts ; par exemple, mon
   fournisseur d'accs  l'internet est ``systemy.it'' et mon
   organisation  but non lucratif est ``linux.it'', sans sous-domaine
   com ou org, aussi mon propre hte est simplement appel
   ``morgana.systemy.it'' et rubini@linux.it est une adresse lectronique
   valide. Notez que le propritaire d'un domaine a le droit
   d'enregistrer les noms d'htes aussi bien que les noms de sous-domaine
   ; par exemple le Groupe d'Utilisateur Linux auquel j'appartiens
   utilise le domaine pluto.linux.it, car les propritaires de linux.it
   taient d'accord pour crer un sous-domaine pour ce groupe.

  Les informations ncessaires

   Vous devez connatre le domaine auquel votre nom d'hte appartient. Le
   solveur de nom effectue la traduction en faisant appel  un `_Serveur
   de Noms de Domaine_', aussi vous devez connatre l'adresse IP d'un
   serveur de nom local que vous pouvez utiliser.

   Il y a trois fichiers que vous devez diter, nous en parlerons chacun
    leur tour.

  /etc/resolv.conf

   Le fichier /etc/resolv.conf est le principal fichier de configuration
   pour le code de rsolution de nom. Son format est trs simple. C'est
   un fichier texte avec un mot-cl par ligne. Il y a trois mots-cls
   typiquement utiliss, qui sont :

   _domain_
          ce mot-cl indique le nom de domaine local.

   _search_
          ce mot-cl spcifie une liste d'autres noms de domaine pour
          rechercher un nom d'hte.

   _nameserver_
          ce mot-cl, qui peut tre utilis plusieurs fois, spcifie
          l'adresse IP d'un serveur de nom de domaine pour la rsolution
          de noms.

   Un exemple de /etc/resolv.conf pourrait ressembler  ceci :

domain maths.wu.edu.au
search maths.wu.edu.au wu.edu.au
nameserver 192.168.10.1
nameserver 192.168.12.1

   Cet exemple spcifie que le nom de domaine par dfaut  ajouter aux
   noms non qualifis (c'est--dire sans domaine) est maths.wu.edu.au, et
   que si l'hte n'est pas trouv dans ce domaine on peut aussi essayer
   le domaine wu.edu.au directement. Deux entres de serveurs de noms
   sont fournies, chacune d'elles pouvant tre appele par le solveur de
   noms.

  /etc/hosts

   Le fichier /etc/hosts est l'endroit o vous mettez les noms et les
   adresses IP des htes locaux. Si vous mettez un hte dans ce fichier,
   alors vous n'avez pas  interroger le serveur de nom de domaine pour
   obtenir son adresse IP. L'inconvnient est que vous devez tenir votre
   fichier  jour si l'adresse de cet hte a chang. Dans un systme bien
   administr les seuls noms d'htes qui apparaissent habituellement sont
   l'interface loopback, et le nom des htes locaux.

# /etc/hosts
127.0.0.1      localhost loopback
192.168.0.1    ma.belle.machine

   Vous pouvez spcifier plus d'un nom d'hte, comme montr dans la
   premire entre (qui est standard pour l'interface loopback).

  Faire tourner un serveur de noms

   Si vous voulez faire tourner un serveur de nom local, vous pouvez le
   faire facilement. Voyez le DNS-HOWTO et tous les documents inclus dans
   votre version de _BIND_ (Berkeley Internet Name Domain).

5.6 Configurer votre interface loopback

   L'interface `loopback' est un type spcial d'interface qui permet de
   vous connecter  vous-mme. Il y a plusieurs raisons pour faire cela,
   par exemple si vous voulez faire des essais de logiciel rseau sans
   interfrer avec quelqu'un d'autre sur votre rseau. Par convention,
   l'adresse IP `127.0.0.1' lui a t assigne. Aussi quelle que soit la
   machine o vous tes, si vous ouvrez une connexion telnet vers
   127.0.0.1 vous atteindrez toujours l'hte local.

   Configurer l'interface loopback est simple et vous devez vous assurer
   de l'avoir fait (mais notez que cette tche est habituellement
   effectue par les scripts standards d'initialisation).

root# ifconfig lo 127.0.0.1
root# route add -host 127.0.0.1 lo

   Nous en dirons plus sur la commande _route_ dans le prochain
   paragraphe.

5.7 Routage

   Le routage est un vaste sujet. On peut crire de grandes quantits de
   textes sur ce sujet. La plupart d'entre vous ont besoin d'un simple
   routage, et certains mme de rien du tout. Je ne parlerai que des
   principes du routage. Si vous voulez plus d'informations je vous
   suggre de vous reporter aux rfrences fournies en dbut du document.

   Commenons par une dfinition. Qu'est-ce que le routage IP ? Voici
   celle que j'utilise :

     Le routage IP est le processus par lequel un hte, ayant des
     connexions rseau multiples, dcide du chemin par lequel dlivrer
     les datagrammes IP qu'il a reus.

   Il peut tre utile d'illustrer cela par un exemple. Imaginez un
   routeur dans un bureau : il peut avoir un lien PPP sur l'Internet, un
   certain nombre de segments Ethernet alimentant les stations de travail
   et un second lien PPP vers un autre bureau. Lorsque le routeur reoit
   un datagramme de l'une de ses connexions, le routage est le mcanisme
   utilis pour dterminer vers quelle interface il doit renvoyer ce
   datagramme. De simples htes ont besoin aussi de routage, tous les
   htes Internet ayant deux priphriques rseau, l'un tant l'interface
   loopback dcrite auparavant et l'autre est celui qui est utilis pour
   parler avec le reste du monde, soit un lien Ethernet, soit une
   interface srie PPP ou SLIP.

   Ok, alors comment marche le routage ? Chaque hte possde une liste
   spciale de rgles de routage, appele une table de routage. Cette
   table contient des colonnes qui contiennent au moins trois champs, le
   premier tant une adresse de destination, le deuxime tant le nom de
   l'interface vers lequel le datagramme doit tre rout et le troisime,
   qui est optionnel, l'adresse IP d'une autre machine qui transportera
   le datagramme vers sa prochaine destination sur le rseau passerelle.
   Sur Linux vous pouvez voir cette table en utilisant la commande
   suivante :

user% cat /proc/net/route

   ou bien en utilisant l'une des commandes suivantes :

user% /sbin/route -n
user% /sbin/netstat -r

   Le processus de routage est plutt simple : un datagramme entrant est
   reu, l'adresse de destination est examine et compare avec chaque
   entre de la table. L'entre qui correspond le mieux  cette adresse
   est choisie, et le datagramme est renvoy vers l'interface spcifie.
   Si le champ passerelle est rempli, alors le datagramme est renvoy
   vers cet hte via l'interface spcifie, sinon l'adresse de
   destination est suppose comme tant sur le rseau support par
   l'interface.

   Pour manipuler ce tableau, une commande spciale est utilise. Cette
   commande prend des arguments et les convertit en appels systme pour
   demander au noyau d'ajouter, supprimer ou modifier des entres dans la
   table de routage. Cette commande s'appelle `_route_'.

   Un exemple simple. Imaginez que vous ayez un rseau Ethernet. On vous
   a dit que c'est un rseau classe C avec une adresse de 192.168.1.0. On
   vous fournit une adresse IP 192.168.1.10 pour votre usage et on vous a
   dit que 192.168.1.1 est un routeur connect  l'Internet.

   La premire tape est de configurer l'interface comme indiqu plus
   haut. Vous utiliserez la commande :

root# ifconfig eth0 192.168.1.10 netmask 255.255.255.0 up

   Maintenant vous avez besoin d'ajouter une entre dans la table de
   routage pour indiquer au noyau que les datagrammes destins aux htes
   dont les adresses correspondent  192.168.1.* doivent tre dirigs
   vers le priphrique Ethernet. Vous utiliserez une commande comme ceci
   :

root# route add -net 192.168.1.0 netmask 255.255.255.0 eth0

   Notez l'utilisation de l'argument `-net' pour indiquer au programme
   route que cette entre est une route rseau. Un autre choix peut tre
   `-host' qui est une route spcifique d'une adresse IP.

   Cette route vous permettra d'tablir des connexions IP avec tous les
   htes sur votre segment Ethernet. Mais qu'en est-il des htes IP qui
   n'y sont pas ?

   Ce serait compliqu d'ajouter des routes pour chaque rseau
   destinataire, aussi il y a une astuce utilise pour simplifier la
   tche. L'astuce est appele route par `default'. La route par defaut
   s'adapte  toutes les destinations possibles, mais pas trs bien, de
   telle sorte que si il y a une entre qui correspond  l'adresse
   requise elle sera utilise  la place de la route par defaut. L'ide
   de la route par defaut est simplement de pouvoir dire `et tout le
   reste va ici'. Dans l'exemple que j'ai invent, on utilisera une
   entre telle que :

root# route add default gw 192.168.1.1 eth0

   L'argument `gw' indique  la commande route que le prochain argument
   est l'adresse IP, ou le nom, d'une passerelle (gateway) ou d'une
   machine routeur vers qui tous les datagrammes correspondant  cette
   entre seront dirigs pour routage ultrieur.

   Ainsi votre configuration complte sera :

root# ifconfig eth0 192.168.1.10 netmask 255.255.255.0 up
root# route add -net 192.168.1.0 netmask 255.255.255.0 eth0
root# route add default gw 192.168.1.1 eth0

   Si vous regardez bien vos fichiers `rc' concernant le rseau vous en
   trouverez au moins un trs semblable  celui-ci. C'est une
   configuration courante.

   Examinons maintenant une configuration un peu plus complique.
   Imaginons que nous configurions le routeur examin auparavant, celui
   qui avait un lien PPP vers l'Internet et des segments LAN alimentant
   des stations de travail dans le bureau. Supposons que ce routeur ait 3
   segments Ethernet et un lien PPP. Notre configuration de routage
   ressemblerait  ceci :

root# route add -net 192.168.1.0 netmask 255.255.255.0 eth0
root# route add -net 192.168.2.0 netmask 255.255.255.0 eth1
root# route add -net 192.168.3.0 netmask 255.255.255.0 eth2
root# route add default ppp0

   Chacune des stations de travail utilisera le format plus simple dcrit
   ci-dessus, seul le routeur aura besoin d'indiquer les routes rseau
   sparment car pour les stations de travail le mcanisme de routage
   par defaut les capturera toutes, laissant au routeur le soin de les
   sparer de manire approprie. Vous pouvez vous demander pourquoi la
   route par dfaut n'utilise pas `gw'. La raison en est trs simple :
   les protocoles de lien srie comme PPP et SLIP ont seulement deux
   htes sur leur rseau, un  chaque bout. Spcifier  l'hte que
   l'autre bout de la liaison est une passerelle est sans objet et
   redondant, car il n'a pas d'autre choix, aussi vous n'avez pas 
   indiquer de passerelle pour ce type de connexions rseau. Les autres
   types comme Ethernet, arcnet ou token ring ont besoin que l'on indique
   une passerelle car ces rseaux supportent un grand nombre d'htes.

  Alors, que fait le programme _routed_ ?

   La configuration de routage dcrite ci-dessus est bien adapte aux
   rseaux simples o il n'y a que des chemins uniques entre les
   destinations. Lorsque vous avez un rseau plus complexe les choses
   deviennent plus compliques. Heureusement pour la plupart d'entre
   vous, ce ne sera pas le cas.

   Le gros problme est qu'avec le `routage manuel' ou `routage statique'
   comme dcrit ci-dessus, si une machine ou un lien tombe en panne dans
   le rseau, alors la seule faon de diriger vos datagrammes vers un
   autre chemin, s'il existe, est d'intervenir manuellement et d'excuter
   les commandes adquates. Naturellement c'est lourd, lent, peu pratique
   et source de risques. Des techniques varies ont t dveloppes pour
   rgler automatiquement les tables de routage dans le cas d'incidents
   sur un rseau o il y a plusieurs routes possibles, toutes ces
   techniques tant regroupes sous le nom de `protocoles de routage
   dynamique'.

   Vous avez peut-tre entendu parler des plus courants. Ce sont RIP
   (Routing Information Protocol) et OSPF (Open Shortest Path First
   Protocol). RIP est trs souvent utilis sur les petits ou moyens
   rseaux d'entreprise. L'OPSF est plus moderne et plus apte  grer de
   grands rseaux et mieux adapt dans le cas o il y a un grand nombre
   de chemins possibles  travers le rseau. Les implmentations usuelles
   de ces protocoles sont : `_routed_' - RIP, et `_gated_' - RIP, OSPF et
   autres. Le programme `_routed_' est normalement fourni avec votre
   distribution Linux ou est inclus dans la paquetage `NetKit' dcrit
   auparavant.

   Un exemple pour vous montrer comment et o vous pouvez utiliser un
   protocole de routage dynamique ressemblerait  ceci :

    192.168.1.0 /                         192.168.2.0 /
       255.255.255.0                         255.255.255.0
     -                                     -
     |                                     |
     |   /-----\                 /-----\   |
     |   |     |ppp0   //    ppp0|     |   |
eth0 |---|  A  |------//---------|  B  |---| eth0
     |   |     |     //          |     |   |
     |   \-----/                 \-----/   |
     |      \ ppp1             ppp1 /      |
     -       \                     /       -
              \                   /
               \                 /
                \               /
                 \             /
                  \           /
                   \         /
                    \       /
                     \     /
                  ppp0\   /ppp1
                     /-----\
                     |     |
                     |  C  |
                     |     |
                     \-----/
                        |eth0
                        |
                   |---------|
                   192.168.3.0 /
                      255.255.255.0

   Nous avons trois routeurs A, B et C. Chacun supporte un segment
   Ethernet avec un rseau IP de classe C (masque de rseau
   255.255.255.0). Chaque routeur a galement une liaison PPP vers chacun
   des autres routeurs. Ce rseau forme un triangle.

   Il est vident que la table de routage sur le routeur A ressemble 
   ceci :

root# route add -net 192.168.1.0 netmask 255.255.255.0 eth0
root# route add -net 192.168.2.0 netmask 255.255.255.0 ppp0
root# route add -net 192.168.3.0 netmask 255.255.255.0 ppp1

   Cela fonctionnera bien jusqu' ce que le lien entre A et B tombe en
   panne. Si cette liaison est dfaillante, alors l'entre de routage
   montre que les htes sur le segment A ne peuvent pas atteindre les
   htes sur le segment B car leurs datagrammes seront dirigs sur le
   lien ppp0 du routeur A qui est rompu. Ils pourront encore continuer 
   parler aux htes du segment C, et les htes du segment C pourront
   toujours parler  ceux du segment B car la liaison reste intacte.

   Mais.., si A peut parler  C et si C peut toujours parler  B,
   pourquoi A ne routerait-il pas ses datagrammes pour B via C, et
   laisser ensuite C les envoyer  B ? C'est exactement le type de
   problmes que les protocoles de routage dynamique comme RIP sont en
   mesure de rsoudre. Si chacun des routeurs A, B et C utilisent un
   dmon de routage (NdT: dmon est une francisation familire du vocable
   informatique anglais daemon, qui signifie Disk And Extension MONitor,
   c'est  dire qui n'est pas invoqu manuellement mais attend en tche
   de fond que quelque chose se passe, que quelque condition se produise.
   Ce terme fut introduit au dpart sous CTSS (Compatible Time Sharing
   System), un anctre du systme MULTICS, lui-mme parent d'UNIX (voir
   la traduction de Ren Cougnenc de `Le systme Linux' de M. Welsh et L.
   Kaufman chez O'Reilly International Thomson), alors leurs tables de
   routage seront automatiquement rgles pour reflter le nouvel tat du
   rseau mme si l'une des liaisons est dfectueuse. Configurer un tel
   rseau est simple, sur chaque routeur vous devez seulement faire deux
   choses. Dans ce cas, pour le routeur A :

root# route add -net 192.168.1.0 netmask 255.255.255.0 eth0
root# /usr/sbin/routed

   Le dmon de routage `_routed_' trouve automatiquement tous les ports
   actifs vers le rseau quand il dmarre et coute tous les messages sur
   chacun des priphriques rseau ce qui lui permet de dterminer et de
   mettre  jour sa table de routage.

   C'tait une trs brve explication du routage dynamique et de son
   utilisation. Si vous voulez d'avantage d'explications reportez-vous
   aux rfrences listes en dbut de document.

   Les points importants relatifs au routage dynamique sont :
    1. Vous n'avez besoin d'utiliser un dmon de routage dynamique que
       quand votre machine Linux peut choisir entre plusieurs routes pour
       une destination donne. C'est la cas par exemple lorsque vous
       envisagez d'utiliser IP masquerade.
    2. Le dmon de routage dynamique modifiera automatiquement votre
       table de routage pour tenir compte des changements survenus dans
       votre rseau.
    3. RIP est adapt aux rseaux de petite et moyenne taille.

5.8 Configurer vos serveurs rseau et les services.

   Les serveurs de rseau et les services sont des programmes qui
   permettent  un utilisateur distant de devenir utilisateur de votre
   machine Linux. Les programmes serveurs sont  l'coute des ports
   rseau. Les ports rseau permettent die demander un service
   particulier  un hte particulier et de faire la diffrence entre une
   connexion telnet entrante et une connexion ftp entrante. L'utilisateur
   distant tablit une connexion rseau avec votre machine puis le
   programme serveur, ou dmon de rseau,  l'coute du port, accepte la
   connexion et s'excute. Il y a deux faons d'oprer pour les dmons de
   rseau. Les deux sont couramment utiliss en pratique. Ce sont :

   _autonome_
          le programme dmon coute le port rseau dsign et lorsqu'il y
          a une connexion, il prend lui-mme la connexion en charge pour
          fournir le service.

   _esclave du serveur inetd _
          le serveur _inetd_ est un programme dmon spcial spcialis
          dans la conduite des connexions rseau. Il possde un fichier
          de configuration qui indique quel programme doit tre utilis
          lorsqu'une connexion entrante est reue. Chacun des ports
          service doit tre configur soit avec le protocole tcp, soit
          avec le protocole udp. Les ports sont dcrits dans un autre
          fichier dont nous parlerons plus tard.

   Il y deux fichiers importants que vous devez configurer. Ce sont
   /etc/services qui assigne des noms aux numros de port et
   /etc/inetd.conf qui sert pour la configuration du dmon de rseau
   _inetd_ .

  /etc/services

   Le fichier /etc/services est une simple base de donnes qui associe
   des noms comprhensibles par l'homme  des ports service
   comprhensibles par la machine. Son format est tout  fait simple. Le
   fichier est un fichier texte dont chaque ligne reprsente une entre
   de la base de donnes. Chaque entre comprend trois champs spars par
   des caractres espace ou tabulation. Ces champs sont :
nom      port/protocole        alias     # commentaire

   _nom_
          un simple mot qui reprsente le service dcrit.

   _port/protocole_
          ce champ est divis en deux.

   _port_
          un nombre qui spcifie le numro de port o le service dsign
          sera disponible. La plupart des services ont des numros
          assigns. Ils sont dcrits dans la RFC-1340.

   _protocole_
          c'est soit tcp soit udp. Il est important de noter qu'une
          entre comme 18/tcp est trs diffrente de 18/udp et qu'il n'y
          a pas de raisons techniques que le mme service existe sur les
          deux. Normalement le bon sens prvaut et c'est vraiment pour un
          service particulier disponible  la fois sur tcp et udp que
          vous verrez une entre pour les deux..

   _alias_
          autre nom qui peut tre utilis pour dsigner ce service.

   Tout texte apparaissant aprs le caractre `#' est ignor et trait
   comme commentaire.

  Exemple de fichier /etc/services.

   Toutes les distributions rcentes de Linux fournissent un bon fichier
   /etc/services. Juste au cas o vous construiriez tout depuis le
   dpart, voici une copie du fichier /etc/services fourni avec
   l'ancienne distribution Debian .

# /etc/services:
# $Id: NET4-HOWTO.sgml,v 1.1.1.1 2003/01/03 02:38:54 traduc Exp $
#
# Network services, Internet style
#
# Notez que c'est la politique actuelle de l'IANA d'assigner un seul numro
# de port  la fois pour TCP et UDP; ainsi, la plupart des ports ont deux
#entres mme si le protocole ne supporte pas UDP.
# Mis  jour d'aprs la RFC 1340, ``Assigned Numbers'' (Juillet 1992).
# Il n'y a pas tous les ports, seulement les plus courants.

tcpmux          1/tcp                           # TCP port service multiplexer
echo            7/tcp
echo            7/udp
discard         9/tcp           sink null
discard         9/udp           sink null
systat          11/tcp          users
daytime         13/tcp
daytime         13/udp
netstat         15/tcp
qotd            17/tcp          quote
msp             18/tcp                          # message send protocol
msp             18/udp                          # message send protocol
chargen         19/tcp          ttytst source
chargen         19/udp          ttytst source
ftp-data        20/tcp
ftp             21/tcp
ssh             22/tcp                          # SSH Remote Login Protocol
ssh             22/udp                          # SSH Remote Login Protocol
telnet          23/tcp
# 24 - private
smtp            25/tcp          mail
# 26 - non assign
time            37/tcp          timserver
time            37/udp          timserver
rlp             39/udp          resource        # resource location
nameserver      42/tcp          name            # IEN 116
whois           43/tcp          nicname
re-mail-ck      50/tcp                          # Remote Mail Checking Protocol
re-mail-ck      50/udp                          # Remote Mail Checking Protocol
domain          53/tcp          nameserver      # name-domain server
domain          53/udp          nameserver
mtp             57/tcp                          # deprecated
bootps          67/tcp                          # BOOTP server
bootps          67/udp
bootpc          68/tcp                          # BOOTP client
bootpc          68/udp
tftp            69/udp
gopher          70/tcp                          # Internet Gopher
gopher          70/udp
rje             77/tcp          netrjs
finger          79/tcp
www             80/tcp          http            # WorldWideWeb HTTP
www             80/udp                          # HyperText Transfer Protocol
link            87/tcp          ttylink
kerberos        88/tcp          kerberos5 krb5  # Kerberos v5
kerberos        88/udp          kerberos5 krb5  # Kerberos v5
supdup          95/tcp
# 100 - reserve
hostnames       101/tcp         hostname        # usually from sri-nic
iso-tsap        102/tcp         tsap            # part of ISODE.
csnet-ns        105/tcp         cso-ns          # also used by CSO name server
csnet-ns        105/udp         cso-ns
rtelnet         107/tcp                         # Remote Telnet
rtelnet         107/udp
pop-2           109/tcp         postoffice      # POP version 2
pop-2           109/udp
pop-3           110/tcp                         # POP version 3
pop-3           110/udp
sunrpc          111/tcp         portmapper      # RPC 4.0 portmapper TCP
sunrpc          111/udp         portmapper      # RPC 4.0 portmapper UDP
auth            113/tcp         authentication tap ident
sftp            115/tcp
uucp-path       117/tcp
nntp            119/tcp         readnews untp   # USENET News Transfer Protocol
ntp             123/tcp
ntp             123/udp                         # Network Time Protocol
netbios-ns      137/tcp                         # NETBIOS Name Service
netbios-ns      137/udp
netbios-dgm     138/tcp                         # NETBIOS Datagram Service
netbios-dgm     138/udp
netbios-ssn     139/tcp                         # NETBIOS session service
netbios-ssn     139/udp
imap2           143/tcp                         # Interim Mail Access Proto v2
imap2           143/udp
snmp            161/udp                         # Simple Net Mgmt Proto
snmp-trap       162/udp         snmptrap        # Traps for SNMP
cmip-man        163/tcp                         # ISO mgmt over IP (CMOT)
cmip-man        163/udp
cmip-agent      164/tcp
cmip-agent      164/udp
xdmcp           177/tcp                         # X Display Mgr. Control Proto
xdmcp           177/udp
nextstep        178/tcp         NeXTStep NextStep       # NeXTStep window
nextstep        178/udp         NeXTStep NextStep       # server
bgp             179/tcp                         # Border Gateway Proto.
bgp             179/udp
prospero        191/tcp                         # Cliff Neuman's Prospero
prospero        191/udp
irc             194/tcp                         # Internet Relay Chat
irc             194/udp
smux            199/tcp                         # SNMP Unix Multiplexer
smux            199/udp
at-rtmp         201/tcp                         # AppleTalk routing
at-rtmp         201/udp
at-nbp          202/tcp                         # AppleTalk name binding
at-nbp          202/udp
at-echo         204/tcp                         # AppleTalk echo
at-echo         204/udp
at-zis          206/tcp                         # AppleTalk zone information
at-zis          206/udp
z3950           210/tcp         wais            # NISO Z39.50 database
z3950           210/udp         wais
ipx             213/tcp                         # IPX
ipx             213/udp
imap3           220/tcp                         # Interactive Mail Access
imap3           220/udp                         # Protocol v3
ulistserv       372/tcp                         # UNIX Listserv
ulistserv       372/udp
#
# services spcifiques  UNIX
#
exec            512/tcp
biff            512/udp         comsat
login           513/tcp
who             513/udp         whod
shell           514/tcp         cmd             # no passwords used
syslog          514/udp
printer         515/tcp         spooler         # line printer spooler
talk            517/udp
ntalk           518/udp
route           520/udp         router routed   # RIP
timed           525/udp         timeserver
tempo           526/tcp         newdate
courier         530/tcp         rpc
conference      531/tcp         chat
netnews         532/tcp         readnews
netwall         533/udp                         # -for emergency broadcasts
uucp            540/tcp         uucpd           # uucp daemon
remotefs        556/tcp         rfs_server rfs  # Brunhoff remote filesystem
klogin          543/tcp                         # Kerberized `rlogin' (v5)
kshell          544/tcp         krcmd           # Kerberized `rsh' (v5)
kerberos-adm    749/tcp                         # Kerberos `kadmin' (v5)
#
webster         765/tcp                         # Network dictionary
webster         765/udp
#
# D'aprs ``Assigned Numbers'' :
#
#> Les Ports Enregistrs ne sont pas contrls par l'IANA et peuvent tre
#> utiliss sur la plupart des systmes par des processus ordinaires
#> ou des programmes excuts par des utilisateurs ordinaires.
#
#> Les ports sont utiliss dans le TCP [45,106] pour nommer les extrmits
#> des connexions logiques qui transportent les conversations de longue
#> dure. Pour offrir des services  des utilisateurs non connus, un port
#> de service pour contact a t dfini. Cette liste spcifie le port utilis
#> par le processus serveur ainsi que son port de contact. Comme l'IANA ne peut
#> contrler l'usage de ces ports, on donne ici une liste d'utilisation
#> de ces ports pour tre agrable  la communaut.
#
ingreslock      1524/tcp
ingreslock      1524/udp
prospero-np     1525/tcp                # Prospero non-privileged
prospero-np     1525/udp
rfe             5002/tcp                # Radio Free Ethernet
rfe             5002/udp                # Actually uses UDP only
bbs             7000/tcp                # BBS service
#
#
# services Kerberos (Project Athena/MIT)
# Notez que ceux-ci sont pour Kerberos v4, et ne sont pas officiels. Les sites
# tournant sous v4 doivent utiliser ceux-ci et annuler les entres v5 ci-dessus
.
#
kerberos4       750/udp         kdc     # Kerberos (server) udp
kerberos4       750/tcp         kdc     # Kerberos (server) tcp
kerberos_master 751/udp                 # Kerberos authentication
kerberos_master 751/tcp                 # Kerberos authentication
passwd_server   752/udp                 # Kerberos passwd server
krb_prop        754/tcp                 # Kerberos slave propagation
krbupdate       760/tcp         kreg    # Kerberos registration
kpasswd         761/tcp         kpwd    # Kerberos "passwd"
kpop            1109/tcp                # Pop with Kerberos
knetd           2053/tcp                # Kerberos de-multiplexor
zephyr-srv      2102/udp                # Zephyr server
zephyr-clt      2103/udp                # Zephyr serv-hm connection
zephyr-hm       2104/udp                # Zephyr hostmanager
eklogin         2105/tcp                # Kerberos encrypted rlogin
#
# Services non officiels mais ncessaires (pour NetBSD)
#
supfilesrv      871/tcp                 # SUP server
supfiledbg      1127/tcp                # SUP debugging
#
# Services protocole de dlivrance de datagrammes
#
rtmp            1/ddp                   # Routing Table Maintenance Protocol
nbp             2/ddp                   # Name Binding Protocol
echo            4/ddp                   # AppleTalk Echo Protocol
zip             6/ddp                   # Zone Information Protocol
#
# Services Debian GNU/Linux
rmtcfg          1236/tcp                # Gracilis Packeten remote config serve
r
xtel            1313/tcp                # french minitel
cfinger         2003/tcp                # GNU Finger
postgres        4321/tcp                # POSTGRES
mandelspawn     9359/udp        mandelbrot      # network mandelbrot

# Services locaux

   Dans la ralit, le fichier augmente toujours en taille au fur et 
   mesure que de nouveaux services apparaissent. Si vous craignez que
   votre copie soit incomplte, je vous suggre de copier un nouveau
   fichier /etc/services provenant d'une distribution rcente.

  /etc/inetd.conf

   Le fichier /etc/inetd.conf est le fichier de configuration du serveur
   dmon _inetd_ . Il sert  dire  _inetd_ ce qu'il doit faire lorsqu'il
   reoit une demande de connexion pour un service particulier. Pour les
   services o vous acceptez une connexion vous devez dire  _inetd_ quel
   dmon serveur de rseau doit tourner, et comment.

   Son format est aussi trs simple. C'est un fichier texte dont chaque
   ligne dcrit un service que vous voulez fournir. Tout texte suivant un
   `#' est ignor et considr comme commentaire. Chaque ligne contient
   sept champs spars par un nombre quelconque d'espaces (espace ou
   tabulation). Le format gnral est comme suit :

service  type_de_socket  protocole  drapeaux  utilisateur  chemin  arguments

   _service_
          est le nom de service applicable  cette configuration, pris
          dans le fichier /etc/services.

   _type_de_socket_
          ce champ dcrit le type de socket que cette entre considre
          comme pertinent, les valeurs permises sont : stream, dgram,
          raw, rdm, ou seqpacket. C'est un peu technique par nature, mais
          par exprience, presque tous les services bass sur tcp
          utilisent stream et presque tous les services bass sur udp
          utilisent dgram. Il n'y a que quelques types de serveurs dmons
          spciaux utilisant d'autres valeurs.

   _protocole_
          le protocole considr comme valide pour cette entre. Il doit
          correspondre  l'entre approprie dans le fichier
          /etc/services et sera donc soit tcp soit udp. Les serveurs
          bass sur Sun RPC (Remote Procedure Call) utilisent rpc/tcp ou
          rpc/udp.

   _drapeaux_
          il n'y a en fait que deux valeurs pour ce champ. Celles-ci
          disent  _inetd_ si le programme serveur rseau libre le
          socket aprs dmarrage, et donc si _inetd_ peut prendre en
          compte une des prochaines demandes de connexion, ou bien si
          _inetd_ doit attendre qu'un autre dmon serveur tournant dj
          prenne en charge la nouvelle demande de connexion. C'est encore
          compliqu, mais en pratique tous les serveurs tcp doivent avoir
          cette entre positionne sur nowait et la plupart des serveurs
          udp ont cette entre positionne sur wait. Attention il y a
          quelques exceptions notables, laissez vous guider par l'exemple
          suivant si vous n'tes pas srs.

   _utilisateur_
          ce champ dcrit quel compte utilisateur extrait de /etc/passwd
          sera considr comme propritaire du dmon rseau lorsqu'il est
          lanc. C'est trs utile lorsque vous voulez vous protger
          contre les trous de scurit. Vous pouvez mettre nobody comme
          utilisateur pour une entre si bien que dans le cas o le
          rseau comporte une brche, les dommages ventuels seront
          minimiss. Cependant habituellement ce champ est rgl sur
          root, car beaucoup de serveurs ont besoin des privilges de
          root pour tourner correctement.

   _chemin_de_serveur_
          ce champ est le chemin rel du programme  excuter pour cette
          entre.

   _arguments_
          ce champ correspond au reste de la ligne et est optionnel. Il
          sert  indiquer les arguments de commande que vous voulez
          passer au programme serveur au lancement.

  Exemple de fichier /etc/inetd.conf

   Comme pour le fichier /etc/services, toutes les distributions modernes
   incluent un bon fichier /etc/inetd.conf pour pouvoir travailler. Ici,
   pour tre complet , vous trouverez le fichier /etc/inetd.conf de la
   distribution Debian.

# /etc/inetd.conf:  voir inetd(8) pour d'autres informations.
#
# Base de donnes pour la configuration d'un serveur Internet
#
#
# Modifi pour Debian par Peter Tobias <tobias@et-inf.fho-emden.de>
#
# <service_name> <sock_type> <proto> <flags> <user> <server_path> <args>
#
# Services internes
#
#echo           stream  tcp     nowait  root    internal
#echo           dgram   udp     wait    root    internal
discard         stream  tcp     nowait  root    internal
discard         dgram   udp     wait    root    internal
daytime         stream  tcp     nowait  root    internal
daytime         dgram   udp     wait    root    internal
#chargen        stream  tcp     nowait  root    internal
#chargen        dgram   udp     wait    root    internal
time            stream  tcp     nowait  root    internal
time            dgram   udp     wait    root    internal
#
# Services standards.
#
telnet  stream  tcp     nowait  root    /usr/sbin/tcpd  /usr/sbin/in.telnetd
ftp     stream  tcp     nowait  root    /usr/sbin/tcpd  /usr/sbin/in.ftpd
#fsp    dgram   udp     wait    root    /usr/sbin/tcpd  /usr/sbin/in.fspd
#
# Shell, login, exec et talk sont des protocoles BSD.
#
shell   stream  tcp     nowait  root    /usr/sbin/tcpd  /usr/sbin/in.rshd
login   stream  tcp     nowait  root    /usr/sbin/tcpd  /usr/sbin/in.rlogind
#exec   stream  tcp     nowait  root    /usr/sbin/tcpd  /usr/sbin/in.rexecd
talk    dgram   udp     wait    root    /usr/sbin/tcpd  /usr/sbin/in.talkd
ntalk   dgram   udp     wait    root    /usr/sbin/tcpd  /usr/sbin/in.ntalkd
#
# Services Mail, news et uucp.
#
smtp    stream  tcp     nowait  root    /usr/sbin/tcpd  /usr/sbin/in.smtpd
#nntp   stream  tcp     nowait  news    /usr/sbin/tcpd  /usr/sbin/in.nntpd
#uucp   stream  tcp     nowait  uucp    /usr/sbin/tcpd  /usr/lib/uucp/uucico
#comsat dgram   udp     wait    root    /usr/sbin/tcpd  /usr/sbin/in.comsat
#
# Pop et autres
#
#pop-2  stream  tcp     nowait  root    /usr/sbin/tcpd  /usr/sbin/in.pop2d
#pop-3  stream  tcp     nowait  root    /usr/sbin/tcpd  /usr/sbin/in.pop3d
#
# `cfinger' est le serveur finger GNU de Debian.  (NOTE : L'implmentation
# habituelle du dmon `finger' permet de le faire tourner avec `root'.)
#
#cfinger stream tcp     nowait  root    /usr/sbin/tcpd  /usr/sbin/in.cfingerd
#finger stream  tcp     nowait  root    /usr/sbin/tcpd  /usr/sbin/in.fingerd
#netstat        stream  tcp     nowait  nobody  /usr/sbin/tcpd  /bin/netstat
#systat stream  tcp     nowait  nobody  /usr/sbin/tcpd  /bin/ps -auwwx
#
# Le service tftp est fourni principalement pour dmarrer. La plupart des sites
# l'utilisent seulement sur les machines servant de `serveurs de boot'.
#
#tftp   dgram   udp     wait    nobody  /usr/sbin/tcpd  /usr/sbin/in.tftpd
#tftp   dgram   udp     wait    nobody  /usr/sbin/tcpd  /usr/sbin/in.tftpd /boo
t
#bootps dgram   udp     wait    root    /usr/sbin/bootpd        bootpd -i -t 12
0
#
# Services Kerberos (ils doivent probablement tre corrigs)
#
#klogin         stream  tcp     nowait  root    /usr/sbin/tcpd  /usr/sbin/in.rl
ogind -k
#eklogin        stream  tcp     nowait  root    /usr/sbin/tcpd  /usr/sbin/in.rl
ogind -k -x
#kshell         stream  tcp     nowait  root    /usr/sbin/tcpd  /usr/sbin/in.rs
hd -k
#
# Services tournant UNIQUEMENT sur Kerberos (doivent tre probablement corrigs
)
#
#krbupdate      stream tcp      nowait  root    /usr/sbin/tcpd  /usr/sbin/regis
terd
#kpasswd        stream  tcp     nowait  root    /usr/sbin/tcpd  /usr/sbin/kpass
wdd
#
# Services RPC
#
#mountd/1       dgram   rpc/udp wait    root    /usr/sbin/tcpd  /usr/sbin/rpc.m
ountd
#rstatd/1-3     dgram   rpc/udp wait    root    /usr/sbin/tcpd  /usr/sbin/rpc.r
statd
#rusersd/2-3    dgram   rpc/udp wait    root    /usr/sbin/tcpd  /usr/sbin/rpc.r
usersd
#walld/1        dgram   rpc/udp wait    root    /usr/sbin/tcpd  /usr/sbin/rpc.r
walld
#
# Fin de inetd.conf.
ident           stream  tcp     nowait  nobody  /usr/sbin/identd       identd -
i

5.9 Autres fichiers de configuration ayant un rapport avec le rseau

   Il y a beaucoup de fichiers relatifs  la configuration rseau sous
   Linux susceptibles de vous intresser. Vous n'aurez jamais  modifier
   ces fichiers, mais il est utile de les dcrire pour que vous sachiez
   ce qu'ils contiennent et quelle est leur utilit.

  /etc/protocols

   Le fichier /etc/protocols est une base de donnes qui donne la
   relation des numros id de protocole avec leurs noms. Il est utilis
   par les programmeurs pour leur permettre de spcifier les protocoles
   par leur nom dans les programmes et aussi par quelques programmes tels
   que _tcpdump_ pour pouvoir afficher en sortie des noms au lieu de
   chiffres. La syntaxe gnrale de ce fichier est :

nom du protocole     numro    alias

   Le fichier /etc/protocols fourni avec la distribution Debian est le
   suivant :

# /etc/protocols:
# $Id: NET4-HOWTO.sgml,v 1.1.1.1 2003/01/03 02:38:54 traduc Exp $
#
# Protocoles Internet (IP)
#
#       d'aprs: @(#)protocols  5.1 (Berkeley) 4/17/89
#
# Mise  jour pour NetBSD basee sur la RFC 1340, Assigned Numbers (July 1992).

ip      0       IP              # internet protocol, pseudo protocol number
icmp    1       ICMP            # internet control message protocol
igmp    2       IGMP            # Internet Group Management
ggp     3       GGP             # gateway-gateway protocol
ipencap 4       IP-ENCAP        # IP encapsulated in IP (officially ``IP'')
st      5       ST              # ST datagram mode
tcp     6       TCP             # transmission control protocol
egp     8       EGP             # exterior gateway protocol
pup     12      PUP             # PARC universal packet protocol
udp     17      UDP             # user datagram protocol
hmp     20      HMP             # host monitoring protocol
xns-idp 22      XNS-IDP         # Xerox NS IDP
rdp     27      RDP             # "reliable datagram" protocol
iso-tp4 29      ISO-TP4         # ISO Transport Protocol class 4
xtp     36      XTP             # Xpress Tranfer Protocol
ddp     37      DDP             # Datagram Delivery Protocol
idpr-cmtp       39      IDPR-CMTP       # IDPR Control Message Transport
rspf    73      RSPF            # Radio Shortest Path First.
vmtp    81      VMTP            # Versatile Message Transport
ospf    89      OSPFIGP         # Open Shortest Path First IGP
ipip    94      IPIP            # Yet Another IP encapsulation
encap   98      ENCAP           # Yet Another IP encapsulation

  /etc/networks

   Le fichier /etc/networks a une fonction similaire au fichier
   /etc/hosts. Il fournit une simple base de donnes de noms de rseau
   avec des adresses. Son format diffre en ce qu'il n'y a que deux
   champs par ligne, et que ces champs sont cods comme ceci :

 Nom du rseau   adresse de rseau

   Un exemple :

loopnet    127.0.0.0
localnet   192.168.0.0
amprnet    44.0.0.0

   Lorsque vous utilisez une commande comme _route_, si une destination
   est un rseau, et que ce rseau a une entre dans le fichier
   /etc/networks la commande affichera alors le nom du rseau en lieu et
   place de son adresse.

5.10 Scurit rseau et contrle d'accs

   Laissez-moi dbuter ce paragraphe en vous mettant en garde que la
   scurisation de votre machine et du rseau contre les attaques
   pernicieuses est un art complexe. Je ne me considre pas du tout comme
   un expert dans ce domaine et bien que les mcanismes que je vais
   dcrire puissent vous aider, si vous tes proccups par la scurit,
   alors je vous recommande d'effectuer vous-mme des recherches sur le
   sujet. Il existe beaucoup de bonnes rfrences sur l'Internet qui
   traitent du sujet, y compris Security-HOWTO

   Une importante rgle pratique est : `_N'utilisez pas de serveurs dont
   vous n'avez pas l'utilit_'. Beaucoup de distributions arrivent avec
   plein de services configurs et dmarrant automatiquement. Pour
   assurer quand mme un minimum de scurit vous devriez aller dans
   votre fichier /etc/inetd.conf et retirez (_placez un `#' au dbut de
   la ligne_) toute entre que vous ne comptez pas utiliser. De bons
   candidats sont : shell, login, exec, uucp, ftp, et les services
   informatifs tels que finger, netstat and systat.

   Il y a plein de sortes de scurit et de mcanismes de contrle
   d'accs ; je vais dcrire les plus lmentaires.

  /etc/ftpusers

   Le fichier /etc/ftpusers est un mcanisme simple qui vous permet
   d'interdire l'accs de votre machine  certains utilisateurs de ftp.
   Il est lu par le programme dmon (_ftpd_) lorsqu'une connexion ftp est
   reue. Le fichier est une simple liste d'utilisateurs qui ne peuvent
   pas se connecter. Il ressemble  :

# /etc/ftpusers - utilisateurs ne pouvant pas se connecter par ftp
root
uucp
bin
mail

  /etc/securetty

   Le fichier /etc/securetty vous permet de spcifier sur quels fichiers
   de priphriques tty root a le droit de se connecter. Le fichier
   /etc/securetty est lu par le programme de connexion (habituellement
   _/bin/login_). Son format est une liste de fichiers de priphriques
   tty autoriss (sur tous les autres root ne peut se connecter) :

# /etc/securetty - consoles ou root peut se connecter
tty1
tty2
tty3
tty4

  Le mcanisme de contrle d'accs des htes _tcpd_.

   Le programme _tcpd_ que vous avez vu dans le fichier /etc/inetd.conf
   fournit les mcanismes de contrle d'accs et de connexion aux
   services qu'il a pour but de protger.

   Lorsqu'il est invoqu par le programme _inetd_, il lit deux fichiers
   contenant les rgles d'accs et il autorise ou interdit l'accs au
   serveur qu'il protge.

   Il cherche dans ces deux fichiers jusqu' ce qu'il trouve une
   correspondance. S'il n'en trouve pas il suppose que l'accs est
   autoris. Il recherche dans l'ordre suivant : /etc/hosts.allow,
   /etc/hosts.deny. Je dcrirai chacun d'eux plus tard. Pour une
   description complte rfrez-vous aux pages de manuel appropries
   (hosts_access(5) est un bon point de dpart).

  /etc/hosts.allow

   Le fichier /etc/hosts.allow est un fichier de configuration du
   programme _/usr/sbin/tcpd_. Il contient les htes dont l'accs est
   _autoris (allowed)_ et qui peuvent donc utiliser un service de votre
   machine.

   Le format du fichier est trs simple :

# /etc/hosts.allow
#
# <liste des services>: <liste des htes> [: commande]

   _liste des services_
          c'est une liste de serveurs, spars par des virgules, auxquels
          les rgles d'accs s'appliquent. Exemples de serveur : ftpd,
          telnetd, et fingerd.

   _liste des htes_
          c'est une liste de noms d'htes, spars par des virgules (vous
          pouvez utiliser galement des adresses IP). Vous pouvez en plus
          spcifier des noms d'htes ou des adresses IP avec des jokers
          pour obtenir des groupes d'htes. Des exemples :
          gw.vk2ktj.ampr.org pour un hte spcifique, .uts.edu.au pour
          tous les htes se terminant par cette chane , 44. pour toutes
          les adresses IP commenant par ces chiffres. Il y a quelques
          expressions pour simplifier la configuration, parmi lesquelles
          : ALL pour tous les htes, LOCAL pour tout hte dont le nom ne
          contient pas de `.' c'est  dire appartenant au mme domaine
          que votre machine, et PARANOID pour tout hte dont le nom ne
          correspond pas avec son adresse (tricherie dans le nom). Il y a
          enfin une expression qui peut tre utile. Il s'agit de EXCEPT
          qui vous permet de fournir une liste avec des exceptions. Nous
          verrons un exemple plus tard.

   _commande_
          c'est un paramtre optionnel. Ce paramtre est le nom complet
          d'une commande (avec son rpertoire) qui sera excute chaque
          fois qu'il y aura correspondance. Ce peut tre par exemple une
          commande qui essaiera d'identifier qui se connecte, ou de
          gnrer un message par courrier ou tout message d'alerte pour
          l'administrateur systme avertissant que quelqu'un est en train
          de se connecter. On peut y inclure des extensions, par exemple
          : %h donnera le nom de l'hte qui se connecte ou bien son
          adresse s'il n'a pas de nom , %d le programme dmon appel.

   Un exemple :

# /etc/hosts.allow
#
# Permet a tout le monde d'utiliser le courrier
in.smtpd: ALL
# telnet et ftp pour les hotes de mon domaine et my.host.at.home.
telnetd, ftpd: LOCAL, myhost.athome.org.au
# finger pour tout le monde, mais garde une trace de l'identite.
fingerd: ALL: (finger @%h | mail -s "finger from %h" root)

  /etc/hosts.deny

   Le fichier /etc/hosts.deny est un fichier de configuration du
   programme _/usr/sbin/tcpd_. Ce fichier contient les htes qui _n'ont
   pas l'autorisation_ d'accder  l'un des services de votre machine.

   Un exemple simple ressemblerait  ceci :

# /etc/hosts.deny
#
# Interdit l'acces aux hotes ayant des noms suspects
ALL: PARANOID
#
# Interdit l'acces a tous les hotes
ALL: ALL

   L'entre PARANOID est en fait redondante car l'autre entre interdit
   tous les cas. L'une ou l'autre entre devrait convenir, en fonction de
   vos besoins particuliers.

   Mettre ALL: ALL par dfaut dans le fichier /etc/hosts.deny puis
   autoriser certains services, en liaison avec les htes que vous avez
   choisis, dans le fichier /etc/hosts.allow, est la configuration la
   plus sre.

  /etc/hosts.equiv

   Le fichier hosts.equiv est utilis pour concder  certains htes des
   droits d'accs leur permettant d'avoir un compte sur votre machine
   sans fournir de mot de passe. Cela est utile dans un environnement
   scuris o vous contrlez toutes les machines, sinon ce peut tre
   trs risqu. Votre machine est aussi sre que le moins sr de vos
   htes de confiance. Pour augmenter la scurit, n'utilisez pas cette
   possiblit et encouragez vos utilisateurs  ne pas utiliser le fichier
   .rhosts.

  Configurer votre dmon _ftp_ correctement

   Beaucoup de sites sont intresss  avoir un serveur _ftp_ anonyme
   pour permettre aux autres de transfrer et de rcuprer des fichiers
   sans avoir besoin d'une identification spciale. Si vous dcidez
   d'offrir ce service soyez certains de configurer votre dmon _ftp_ de
   manire adquate pour les accs anonymes. La plupart des pages de
   manuel ddies  ftpd(8) dcrivent tous les dtails pour y arriver.
   Vous devez toujours vous assurer que vous avez bien suivi les
   instructions. Un rgle importante est de ne pas utiliser une copie de
   votre fichier /etc/passwd dans le rpertoire /etc du compte anonyme.
   Soyez srs d'avoir limin tous les dtails des comptes excepts ceux
   qui sont ncessaires, autrement vous serez vulnrables vis  vis de
   ceux qui matrisent les techniques de mise en pices des mots de
   passe.

  Pare-feu (Firewall) sur le rseau

   Ne pas permettre aux datagrammes d'atteindre votre machine ou les
   serveurs est un excellent moyen de scurisation. Ceci est abord en
   profondeur dans Firewall-HOWTO et (de manire plus concise) plus loin
   dans ce document.

  Autres suggestions

   Voici d'autres suggestions, potentiellement religieuses,  prendre en
   considration :

   _sendmail_
          en dpit de sa popularit, le dmon _sendmail_ apparat avec
          une effrayante rgularit dans les mises en garde concernant la
          scurit. Faites comme vous voulez, mais j'ai choisi de ne pas
          l'utiliser.

   _NFS et autres services Sun RPC_
          soyez circonspects avec eux. Il y a toutes sortes d'exploits
          possibles avec ces services. Il est difficile de trouver une
          option pour les services tels que NFS, mais si vous les
          configurez, soyez prudents envers ceux  qui vous accordez des
          droits.

6. Informations sur IP et Ethernet

   Cette section traite d'informations spcifiques sur IP et Ethernet.
   Les sous-sections ont t rassembles car je pense que ce sont les
   plus intressantes de ce qui tait appel autrefois ``Technologies
   spcifiques''. Toute personne ayant un rseau local doit pouvoir tirer
   bnfice de ces bonnes choses.

6.1 Ethernet

   Les noms de priphriques Ethernet sont `eth0', `eth1', `eth2' etc. La
   premire carte dtecte par le noyau devient `eth0' et le reste est
   nomm dans l'ordre de dtection.

   par dfaut, le noyau Linux ne dtecte qu'un seul dispositif Ethernet,
   vous devez donc donner des arguments sur la ligne de commande pour
   forcer le noyau  dtecter des autres cartes.

   Pour savoir comment faire marcher votre carte Ethernet sous Linux
   rfrez-vous au Ethernet-HOWTO.

   Une fois que vous avez compil convenablement votre noyau pour
   supporter les cartes Ethernet, la configuration des cartes est aise.

   Typiquement vous faites ainsi (ce que la plupart des distributions
   font automatiquement pour vous, si vous les avez configures pour
   supporter votre carte ethernet) :

root# ifconfig eth0 192.168.0.1 netmask 255.255.255.0 up
root# route add -net 192.168.0.0 netmask 255.255.255.0 eth0

   La plupart des pilotes Ethernet ont t dvelopps par Donald Becker,
   becker@CESDIS.gsfc.nasa.gov.

6.2 EQL - galiseur de charge  lignes multiples

   Le nom du priphrique EQL est `eql'. Avec les sources standards du
   noyau vous ne pouvez avoir qu'un seul priphrique EQL par machine.
   EQL permet d'utiliser plusieurs lignes point  point telles que PPP,
   SLIP ou PLIP comme si c'tait un seul lien logique de transport
   tcp/ip. C'est souvent moins cher d'utiliser plusieurs lignes  faible
   dbit que d'avoir une ligne  haut dbit.

   _Options de compilation du noyau_ :

Network device support --->
    [*] Network device support
    <*> EQL (serial line load balancing) support

   Pour supporter ce mcanisme la machine  l'autre bout de la ligne doit
   galement supporter EQL. Linux, Livingstone Portmasters et de nouveaux
   serveurs de ligne supportent des systmes compatibles.

   Pour configurer EQL vous avez besoin des outils eql, disponibles sur :
   metalab.unc.edu.

   La configuration est plutt directe. Vous commencez par configurer
   l'interface eql. C'est exactement comme un autre priphrique rseau.
   Vous configurez l'adresse IP et le mtu en utilissant l'outil _ifconfig_
   , comme ceci :

root# ifconfig eql 192.168.10.1 mtu 1006

   Ensuite vous devez initialiser manuellement chacune des lignes que
   vous allez utiliser. Ce peut tre toute combinaison de priphriques
   rseau point  point. La faon d'initialiser les connexions dpend du
   type de lien, voyez les paragraphes appropris pour d'autres
   informations.

   Enfin vous devez associer le lien srie et le dispositif EQL, cela
   s'appelle `asservissement' (enslaving) et est ralis avec la commande
   _eql_enslave_ comme suit :

root# eql_enslave eql sl0 28800
root# eql_enslave eql ppp0 14400

   Le paramtre `_estimated speed_' que vous fournissez  _eql_enslave_
   ne fait rien directement. Il est utilis par le pilote EQL pour
   dterminer comment les datagrammes vont se rpartir sur ce
   priphrique, aussi vous pouvez rgler l'quilibrage des lignes en
   jouant avec cette valeur.

   Pour librer une ligne d'un priphrique EQL vous utilisez la commande
   _eql_emancipate_ comme ci-dessous :

root# eql_emancipate eql sl0

   Vous ajoutez le routage comme vous le feriez pour tout lien point 
   point, sauf que vos routes doivent se rapporter au dispositif eql
   plutt qu'aux priphriques sries eux-mmes. Typiquement vous devriez
   utiliser :

root# route add default eql

   Le pilote EQL fut dvelopp par Simon Janes, simon@ncm.com.

6.3 Enregistrement IP (IP Accounting) (pour Linux-2.0)

   Les possibilits d'enregistrement IP du noyau Linux vous permettent de
   recueillir et d'analyser les donnes d'utilisation du rseau. Les
   donnes collectes comprennent le nombre de paquets et le nombre
   d'octets en cumul depuis la dernire remise  zro. Vous avez  votre
   disposition une grande varit de rglages pour obtenir les donnes
   que vous dsirez. Cette option a t enleve du 2.1.102, car l'ancien
   dispositif pare-feu bas sur ipfwadm a t remplac par
   ``ipfwchains''.

   _Options de compilation noyau_ :

Networking options  --->
    [*] IP: accounting

   Aprs avoir compil et install le noyau vous devez utiliser la
   commande _ipfwadm_ pour configurer l'enregistrement IP. Il y a
   diffrentes possibilits pour choisir les informations  enregistrer.
   J'ai pris un exemple simplifi qui pourrait vous tre utile; lisez
   plutt la page de manuel _ipfwadm_ pour plus d'informations.

   Scenario : Vous avez un rseau Ethernet qui est reli  l'Internet via
   une liaison PPP. Sur l'Ethernet vous avez une machine qui offre un
   grand nombre de services et vous voulez savoir quel trafic est
   engendr par le trafic ftp et ww, aussi bien que le trafic total tcp
   et udp.

   Vous pouvez utiliser une commande qui ressemble  ceci, qui se
   prsente comme un script shell :

        #!/bin/sh
        #
        # Donne les rglages d'enregistrement
        ipfwadm -A -f
        #
        # Met en place les raccourcis
        localnet=44.136.8.96/29
        any=0/0
        # Ajoute des rglages pour le segment Ethernet local
        ipfwadm -A in  -a -P tcp -D $localnet ftp-data
        ipfwadm -A out -a -P tcp -S $localnet ftp-data
        ipfwadm -A in  -a -P tcp -D $localnet www
        ipfwadm -A out -a -P tcp -S $localnet www
        ipfwadm -A in  -a -P tcp -D $localnet
        ipfwadm -A out -a -P tcp -S $localnet
        ipfwadm -A in  -a -P udp -D $localnet
        ipfwadm -A out -a -P udp -S $localnet
        #
        # Rglages par dfaut
        ipfwadm -A in  -a -P tcp -D $any ftp-data
        ipfwadm -A out -a -P tcp -S $any ftp-data
        ipfwadm -A in  -a -P tcp -D $any www
        ipfwadm -A out -a -P tcp -S $any www
        ipfwadm -A in  -a -P tcp -D $any
        ipfwadm -A out -a -P tcp -S $any
        ipfwadm -A in  -a -P udp -D $any
        ipfwadm -A out -a -P udp -S $any
        #
        # Liste les rglages
        ipfwadm -A -l -n
        #

   Les noms ``ftp-data'' et ``www'' se rfrent aux lignes du fichier
   /etc/services. La dernire commande liste chacune des rgles
   d'enregistrement et affiche le total.

   Il est important de noter, lorsque l'on analyse les enregistrement IP,
   que _les totaux sont incrments  chaque fois_, donc pour connaitre
   les diffrences vous devez excuter les oprations mathmatiques
   ncessaires. Par exemple si je veux savoir combien de donnes ne
   venaient pas de ftp, telnet, rlogin ou www je dois soustraire les
   totaux individuels correspondant  chaque port.

root# ipfwadm -A -l -n
IP accounting rules
 pkts bytes dir prot source               destination          ports
    0     0 in  tcp  0.0.0.0/0            44.136.8.96/29       * -> 20
    0     0 out tcp  44.136.8.96/29       0.0.0.0/0            20 -> *
   10  1166 in  tcp  0.0.0.0/0            44.136.8.96/29       * -> 80
   10   572 out tcp  44.136.8.96/29       0.0.0.0/0            80 -> *
  252 10943 in  tcp  0.0.0.0/0            44.136.8.96/29       * -> *
  231 18831 out tcp  44.136.8.96/29       0.0.0.0/0            * -> *
    0     0 in  udp  0.0.0.0/0            44.136.8.96/29       * -> *
    0     0 out udp  44.136.8.96/29       0.0.0.0/0            * -> *
    0     0 in  tcp  0.0.0.0/0            0.0.0.0/0            * -> 20
    0     0 out tcp  0.0.0.0/0            0.0.0.0/0            20 -> *
   10  1166 in  tcp  0.0.0.0/0            0.0.0.0/0            * -> 80
   10   572 out tcp  0.0.0.0/0            0.0.0.0/0            80 -> *
  253 10983 in  tcp  0.0.0.0/0            0.0.0.0/0            * -> *
  231 18831 out tcp  0.0.0.0/0            0.0.0.0/0            * -> *
    0     0 in  udp  0.0.0.0/0            0.0.0.0/0            * -> *
    0     0 out udp  0.0.0.0/0            0.0.0.0/0            * -> *
#

6.4 Enregistrement IP (IP Accounting) (pour Linux-2.2)

   On accde au nouveau code d'enregistrement par des ``chanes IP
   pare-feu''. Voir La page d'accueil des chanes IP pour plus
   d'informations. Entre autres vous devrez utiliser _ipchains_ au lieu
   de _ipfwadm_ pour configurer vos filtres. (d'aprs
   Documentations/Changes dans les sources du dernier noyau).

6.5 IP Aliasing

   Il y a des applications o tre en mesure d'affecter plusieurs
   adresses IP  un seul priphrique rseau pourrait tre utile.
   Certains fournisseurs d'accs  l'Internet utilise souvent cette
   possibilit pour fournir des offres www et ftp ` la carte' pour leurs
   clients. Vous pouvez vous rfrer au mini-HOWTO IP-Aliasing pour plus
   d'informations.

   _Options de compilation du noyau_ :

Networking options  --->
    ....
    [*] Network aliasing
    ....
    <*> IP: aliasing support

   Aprs avoir compil et install le noyau avec le support IP_Alias, la
   configuration est trs simple. Les alias sont ajouts aux
   priphriques rseau virtuels associs au priphrique rseau rel.
   Une simple convention de noms s'applique pour priphriques : <nom de
   priphrique> : <numro de priphrique virtuel>, par ex. eth0:0,
   ppp0:10 etc. Notez que le pilote de priphrique ifname:number ne peut
   tre configur _qu'aprs_ le rglage de l'interface principale.

   Par exemple, supposons que vous ayez un rseau Ethernet avec
   simultanment deux sous-rseaux IP et que vous vouliez que votre
   machine ait un accs direct aux deux, vous pouvez faire quelque chose
   comme ceci :

        root# ifconfig eth0 192.168.1.1 netmask 255.255.255.0 up
        root# route add -net 192.168.1.0 netmask 255.255.255.0 eth0

        root# ifconfig eth0:0 192.168.10.1 netmask 255.255.255.0 up
        root# route add -net 192.168.10.0 netmask 255.255.255.0 eth0:0

   Pour supprimer un alias vous ajoutez simplement un `-' au bout de son
   nom et et vous faites aussi simplement que a :

       root# ifconfig eth0:0- 0

   Toutes les routes associes avec cet alias seront enleves
   automatiquement.

6.6 IP Pare-feu (Firewall) (pour Linux-2.0)

   Le pare-feu IP et les publications le concernant sont traits de
   manire plus appronfondies dans le document Firewall-HOWTO. Le
   pare-feu IP vous permet de scuriser votre machine contre les accs
   rseau non-autoriss en filtrant, ou acceptant, des datagrammes venant
   de, ou allant vers, des adresses IP de votre choix. Il y a diffrentes
   rgles : le filtrage en entre, le filtrage en sortie, et le filtrage
   en retransmission. Les rgles en entre s'appliquent aux datagrammes
   qui sont reus par un dispositif rseau. Les rgles en sortie
   s'appliquent aux datagrammes qui sont mis par un dispositif rseau.
   Les rgles en retransmission s'appliquent aux datagrammes qui ne sont
   pas pour cette machine, c'est  dire les datagrammes qui seront
   rerouts.

   _Options de compilation noyau_ :

Networking options  --->
    [*] Network firewalls
    ....
    [*] IP: forwarding/gatewaying
    ....
    [*] IP: firewalling
    [ ] IP: firewall packet logging

   La configuration du pare-feu IP est ralise en utilisant la commande
   _ipfwadm_. Comme mentionn plus haut, la scurit n'est pas ma
   spcialit, aussi, bien que je vous prsente un exemple utilisable par
   vous-mme, faites des recherches et mettez au point vos propres
   rglages si la scurit est importante pour vous.

   Vraisemblablement l'utilisation la plus courante du pare-feu IP est
   lorsque vous utilisez votre machine Linux comme routeur et passerelle
   pare-feu et que vous voulez protger votre rseau local contre les
   accs extrieurs non autoriss.

   La configuration suivante est due  Arnt Gulbrandsen,
   <agulbra@troll.no>.

   L'exemple dcrit une configuration de pare-feu pour une machine Linux
   /pare-feu/routeur illustre par ce diagramme :

-                                   -
 \                                  | 172.16.37.0
  \                                 |   /255.255.255.0
   \                 ---------      |
    |  172.16.174.30 | Linux |      |
NET =================|  f/w  |------|    ..37.19
    |    PPP         | router|      |  --------
   /                 ---------      |--| Mail |
  /                                 |  | /DNS |
 /                                  |  --------
-                                   -

   Les commandes suivantes doivent tre normalement places dans un
   fichier rc de telle sorte qu'elles seront dmarres automatiquement 
   chaque redmarrage du systme. Pour une scurit maximum, elles
   devront tre effectues aprs la configuration des interfaces rseau,
   mais avant le montage de ces interfaces pour viter que quelqu'un
   puisse se connecter pendant que la machine pare-feu reboute.

        #!/bin/sh

        # Nettoie la table des rgles de 'Forwarding'
        # Change le rglage par dfaut en 'accept'
        #
        /sbin/ipfwadm -F -f
        /sbin/ipfwadm -F -p accept
        #
        # .. et pour 'Incoming'
        #
        /sbin/ipfwadm -I -f
        /sbin/ipfwadm -I -p accept

        # En premier, dvrouille l'interface PPP
        # J'aimerais bien utiliser '-a deny' au lieu de '-a reject -y' mais
        # il serait alors impossible d'tablir des connexions galement sur
        # cette interface. L'utilisation de -o fait en sorte que tous
        # les datagrammes rejets sont enregistrs. Cela occupe de l'espace
        # disque avec pour compensation la connaissance sur l'attaque due
        #  une erreur de configuration.
        #
        /sbin/ipfwadm -I -a reject -y -o -P tcp -S 0/0 -D 172.16.174.30

        # Rejette certains types de paquets visiblement faux:
        # Rien ne doit venir des adresses multicast/anycast/broadcast s
        #
        /sbin/ipfwadm -F -a deny -o -S 224.0/3 -D 172.16.37.0/24
        #
        # et aucune chose venant du rseau loopback ne doit tre vu sur l'air
        #
        /sbin/ipfwadm -F -a deny -o -S 127.0/8 -D 172.16.37.0/24

        # accepte les connexions entrantes SMTP et DNS, mais seules pour
        # le serveur  de courrier et le serveur de noms
        #
        /sbin/ipfwadm -F -a accept -P tcp -S 0/0 -D 172.16.37.19 25 53
        #
        # DNS utilise UDP aussi bien que TCP, ce qui l'autorise donc quand
        # le serveur de noms est interrog
        #
        /sbin/ipfwadm -F -a accept -P udp -S 0/0 -D 172.16.37.19 53
        #
        # mais pas de "rponses" arrivant sur les ports dangereux tels que
        # NFS et l'extension NFS de Larry McVoy. Si vous utilisez squid
        # ajoutez son port ici.
        #
        /sbin/ipfwadm -F -a deny -o -P udp -S 0/0 53 \
                -D 172.16.37.0/24 2049 2050

        # les rponses aux autres ports utilisateurs sont autorises
        #
        /sbin/ipfwadm -F -a accept -P udp -S 0/0 53 \
                -D 172.16.37.0/24 53 1024:65535

        # Rejette les connexions entrantres vers identd
        # Nous utilisons 'reject' dans ce cas en sorte qu'il soit dit  l'hte
        # entrant de ne pas persvrer, sinon nous devrons attendre que
        # identd s'arrte.
        #
        /sbin/ipfwadm -F -a reject -o -P tcp -S 0/0 -D 172.16.37.0/24 113

        # Accepte des connexions sur des services en provenance des rseaux
        # 192.168.64 et 192.168.65, qui sont des amis de confiance.
        #
        /sbin/ipfwadm -F -a accept -P tcp -S 192.168.64.0/23 \
                -D 172.16.37.0/24 20:23

        # accepte et laisse passer tout ce qui vient de l'intrieur
        #
        /sbin/ipfwadm -F -a accept -P tcp -S 172.16.37.0/24 -D 0/0

        # rejette la plupart des autres connexions TCP entrantes et les
        # enregistre (ajoutez 1:1023 si ftp ne fonctionne pas)
        #
        /sbin/ipfwadm -F -a deny -o -y -P tcp -S 0/0 -D 172.16.37.0/24

        # ... pour UDP galement
        #
        /sbin/ipfwadm -F -a deny -o -P udp -S 0/0 -D 172.16.37.0/24

   De bonnes configurations pare-feu sont difficiles  faire. Cet exemple
   peut tre un bon point de dpart pour vous. La page de manuel _ipfwadm_
   vous aidera pour savoir comment utiliser cet outil. Si vous voulez
   configurer un pare-feu, demandez autour de vous et recueillez des avis
   venant de sources de confiance et prenez contact avec quelqu'un qui
   est  l'extrieur pour tester votre configuration et en vrifier la
   fiabilit.

6.7 Pare-feu IP (pour Linux-2.2)

   On accde au nouveau code d'enregistrement par des ``chanes pare-feu
   IP''. Voir La page d'accueil des chanes IP pour plus d'informations.
   Entre autres vous devrez utiliser _ipchains_ au lieu de _ipfwadm_ pour
   configurer vos filtres. (D'aprs Documentations/Changes dans les
   sources du dernier noyau).

   Nous sommes conscients du fait que ce n'est malheureusement plus
   d'actualit et nous oeuvrons actuellement pour que cette section soit
   plus  jour. Vous pouvez en esprer une en Aot 1999.

6.8 Encapsulation IPIP

   Pourquoi vouloir encapsuler des paquets IP dans d'autres paquets IP?
   Cela semble bizarre si vous n'avez jamais vu d'applications
   auparavant. Il y a deux endroits o c'est utilis : le Mobile-IP et
   l'IP-Multicast. C'est dans un environnement qui est peut-tre le plus
   largement utilis et qui est le moins connu : le radio-amateurisme.

   _Options de compilation du noyau_ :

Networking options  --->
    [*] TCP/IP Networking
    [*] IP: forwarding/gatewaying
    ....
    <*> IP tunelling

   Les priphriques IP tunnel s'appellent `tunl0', `tunl1', etc..

   "Mais pourquoi ?" D'accord. D'accord. Les rgles de routage classiques
   spcifient qu'un rseau IP comprend une adresse IP et un masque de
   rseau. Ceci fournit un ensemble d'adresses contigus qui peuvent
   toutes tre routes par l'intermdiaire d'une seule entre de routage.
   Cela marche, mais signifie que vous ne pouvez utiliser une seule
   adresse uniquement lorsque vous tes connect  un point du rseau
   auquelle elle appartient. Dans la plupart des cas, il n'y a pas de
   problmes, mais si vous tes en mouvement alors vous ne pouvez pas
   rester connect au mme endroit tout le temps. L'encapsulation IP/IP (
   IP tunneling) vous permet de passer outre cette contrainte en
   permettant aux paquets destins  votre adresse d'tre envelopps et
   redirigs vers une autre adresse. Si vous savez que vous allez oprer
   depuis un autre rseau IP pour quelques temps, vous pouvez rgler une
   machine qui est chez vous pour accepter des paquets destins  votre
   adresse IP et les rediriger vers l'adresse que vous allez utiliser
   provisoirement.

  Une configuration de rseau avec tunneling.

 192.168.1.24                         192.168.2.24

     -                                    -
     |      ppp0 =           ppp0 =       |
     |  aaa.bbb.ccc.ddd  fff.ggg.hhh.iii  |
     |                                    |
     |   /-----\                 /-----\  |
     |   |     |        //       |     |  |
     |---|  A  |------//---------|  B  |  |
     |   |     |    //           |     |  |
     |   \-----/                 \-----/  |
     |                                    |
     -                                    -

   Ce diagramme montre une autre raison possible d'utiliser
   l'encapsulation IPIP : le rseau priv virtuel. Cet exemple prsuppose
   que vous ayez deux machines chacune avec une seule connexion Internet.
   Chaque hte a une seule adresse IP. Derrire chacune de ces machines
   se trouve des rseaux privs locaux configurs avec des adresses IP
   rserves. Supposez que vous vouliez permettre  chacun des htes du
   groupe A de se connecter  n'importe quel hte du groupe B, comme
   s'ils taient vraiment connects  l'Internet via un routage rseau.
   L'encapsulation IPIP vous permettra de le faire.  noter que
   l'encapsulation ne vous permettra pas de faire en sorte que chacun des
   htes des rseaux A et B puissent parler  n'importe qui sur
   l'Internet, vous aurez toujours besoin de choses comme le masquage IP
   pour pouvoir le faire. L'encapsulation est normalement accomplie par
   une machine fonctionnant comme routeur.

   Le routeur Linux `A' sera configur comme suit :

        #!/bin/sh
        PATH=/sbin:/usr/sbin
        mask=255.255.255.0
        remotegw=fff.ggg.hhh.iii
        #
        # configuration thernet
        ifconfig eth0 192.168.1.1 netmask $mask up
        route add -net 192.168.1.0 netmask $mask eth0
        #
        # ppp0 configuration (start ppp link, set default route)
        pppd
        route add default ppp0
        #
        # configuration du priphrique de tunneling
        ifconfig tunl0 192.168.1.1 up
        route add -net 192.168.2.0 netmask $mask gw $remotegw tunl0

   Le routeur Linux `B' sera configur comme suit :

        #!/bin/sh
        PATH=/sbin:/usr/sbin
        mask=255.255.255.0
        remotegw=aaa.bbb.ccc.ddd
        #
        # configuration thernet
        ifconfig eth0 192.168.2.1 netmask $mask up
        route add -net 192.168.2.0 netmask $mask eth0
        #
        # ppp0 configuration (start ppp link, set default route)
        pppd
        route add default ppp0
        #
        # configuration du priphrique de tunneling
        ifconfig tunl0 192.168.2.1 up
        route add -net 192.168.1.0 netmask $mask gw $remotegw tunl0

   La commande :

root# route add -net 192.168.1.0 netmask $mask0 gw $remotegw tunl0

   dit : `Envoyer tous les datagrammes destins  192.168.1.0/24 dans un
   paquet d'encapsulation ayant pour adresses de destination
   aaa.bbb.ccc.ddd'.

   Notez que les configurations sont inverses  l'autre bout. Le
   priphrique tunnel utilise `gw' dans la commande route comme
   _destination_ du paquet IP o se trouve le datagramme qu'il doit
   router. Cette machine doit savoir comment `dsencapsuler' les paquets
   IPIP, c'est  dire qu'elle doit aussi tre configure comme
   priphrique tunnel.

  Une configuration d'hte pour l'encapsulation IPIP.

   Ce n'est pas tout un rseau que vous aurez  router. Vous pouvez par
   exemple ne router qu'une seule adresse IP. Dans ce cas vous devrez
   configurer le priphrique tunl sur la machine `distante' avec sa
   propre adresse IP et  l'extrmit A n'utiliser qu'une route hte
   (avec Proxy Arp) plutt qu'une route rseau via le priphrique
   tunnel. Refaisons et modifions notre configuration de manire
   approprie. Maintenant nous avons seulement l'hte `B' qui veut agir
   comme si il tait  la fois connect  l'Internet et galement au
   rseau distant support par l'hte `A' :

 192.168.1/24

     -
     |      ppp0 =                ppp0 =
     |  aaa.bbb.ccc.ddd      fff.ggg.hhh.iii
     |
     |   /-----\                 /-----\
     |   |     |       //        |     |
     |---|  A  |------//---------|  B  |
     |   |     |     //          |     |
     |   \-----/                 \-----/
     |                      aussi: 192.168.1.12
     -

   Le routeur Linux `A' sera configur comme suit :

        #!/bin/sh
        PATH=/sbin:/usr/sbin
        mask=255.255.255.0
        remotegw=fff.ggg.hhh.iii
        #
        # configuration thernet
        ifconfig eth0 192.168.1.1 netmask $mask up
        route add -net 192.168.1.0 netmask $mask eth0
        #
        # configuration de ppp0 (dmarre le lien ppp link, rgle la route par
        # dfaut)
        pppd
        route add default ppp0
        #
        # configuration du priphrique de tunneling
        ifconfig tunl0 192.168.1.1 up
        route add -host 192.168.1.12 gw $remotegw tunl0
        #
        # Proxy ARP pour l'hte distant
        arp -s 192.168.1.12 xx:xx:xx:xx:xx:xx pub

   L'hte Linux `B' sera configur comme suit :

        #!/bin/sh
        PATH=/sbin:/usr/sbin
        mask=255.255.255.0
        remotegw=aaa.bbb.ccc.ddd
        #
        # configuration de ppp0 (dmarre le lien ppp, rgle la route par dfaut
)
        pppd
        route add default ppp0
        #
        # configuration du priphrique de tunelling
        ifconfig tunl0 192.168.1.12 up
        route add -net 192.168.1.0 netmask $mask gw $remotegw tunl0

   Ce type de configuration est vraiment typique d'une application
   IP-Mobile, o un simple hte veut seulement se balader sur l'Internet
   et maintenir une adresse IP utilisable tout le temps. Rfrez-vous au
   paragraphe Mobile-IP pour avoir plus d'informations et savoir comment
   faire en pratique.

6.9 IP Masquerade

   Beaucoup de gens ont une simple connexion par tlphone pour aller sur
   l'Internet. Presque tout le monde ne se voit offrir qu'une seule
   adresse IP par le founisseur d'accs avec ce type de configuration.
   Ceci est normalement suffisant pour permettre un accs complet au
   rseau. IP Masquerade est une astuce intelligente qui vous permet
   d'avoir plusieurs machines utilisant une seule adresse IP, en faisant
   croire aux autres htes qu'il n'y a que la machine supportant la
   connexion (NdT : d'o le terme masquerade=duperie, mascarade). Il y a
   qu'une seule mise en garde, qui est que la fonction masquage ne
   travaille pratiquement que dans un seul sens : les htes masqus
   peuvent appeler mais ne peuvent accepter ou recevoir des connexions
   rseau de la part d'htes loigns. Cela signifie que certains
   services rseau comme _talk_ ne peuvent fonctionner et que d'autres,
   comme _ftp_ doivent tre configurs pour fonctionner en mode passif
   (PASV). Heureusement la plupart des services rseau comme _telnet_,
   World Wide Web et _irc_ fonctionnent correctement.

   _Options de compilation du noyau_ :

Code maturity level options  --->
    [*] Prompt for development and/or incomplete code/drivers
Networking options  --->
    [*] Network firewalls
    ....
    [*] TCP/IP networking
    [*] IP: forwarding/gatewaying
    ....
    [*] IP: masquerading (EXPERIMENTAL)

   Normalement votre machine Linux supportant un lien SLIP ou PPP se
   comportera comme si elle tait toute seule. De plus elle peut avoir un
   autre priphrique rseau configur, par exemple une carte Ethernet,
   avec des adresses rseau rserve. Les htes masqus seront ceux du
   second rseau. Chacun de ces htes aura l'adresse IP du port Ethernet
   rgle comme passerelle ou routeur par dfaut.

   Une configuration typique ressemble  ceci :

-                                   -
 \                                  | 192.168.1.0
  \                                 |   /255.255.255.0
   \                 ---------      |
    |                | Linux | .1.1 |
NET =================| masq  |------|
    |    PPP/slip    | router|      |  --------
   /                 ---------      |--| hte |
  /                                 |  |      |
 /                                  |  --------
-                                   -

   _Masquerading avec IPFWADM_

   Les commandes adquates pour cette configuration sont :

# Routage rseau pour thernet
route add -net 192.168.1.0 netmask 255.255.255.0 eth0
#
# Route par dfaut pour le reste de l'internet.
route add default ppp0
#
# Fait en sorte que tous les htes du rseau 192.168.1/24  soient masqus.
ipfwadm -F -a m -S 192.168.1.0/24 -D 0.0.0.0/0

   _Masquerading avec IPCHAINS_

   Cela ressemble  l'utilisation avec IPFWADM mais la structure de la
   commande change:

         # Routage rseau pour ethernet
         route add -net 192.168.1.0 netmask 255.255.255.0 eth0
         #
         # Route par dfaut vers le reste de l'internet.
         route add default ppp0
         #
         # Fait en sorte que tous les htes sur le rseau 192.168.1/24 soient
         # masqus.
        ipchains -A forward -s 192.168.1.0/24 -j MASQ

   Vous pouvez obtenir plus d'informations sur IP Masquerade sur la Page
   d'informations sur l'IP Masquerade. Il existe galement un document
   _trs_ dtaill qui est le ``IP-Masquerade-mini-HOWTO'' (qui donne en
   plus des renseignements pour configurer d'autres systmes
   d'exploitation pour fonctionner avec un serveur de masquage linux).

6.10 IP Transparent Proxy

   IP transparent proxy est un procd qui vous permet de rediriger des
   serveurs ou des services destins  une autre machine vers les
   services de votre machine. Typiquement c'est utile lorsque vous avez
   une machine Linux routeur et qui fournit aussi un serveur proxy. Vous
   redirigerez toutes les connexions  ce service distant vers le serveur
   proxy local.

   _Options de compilation du noyau_ :

Code maturity level options  --->
        [*] Prompt for development and/or incomplete code/drivers
Networking options  --->
        [*] Network firewalls
        ....
        [*] TCP/IP networking
        ....
        [*] IP: firewalling
        ....
        [*] IP: transparent proxy support (EXPERIMENTAL)

   La configuration du dispositif transparent proxy est ralis en
   utilisant la commande _ipfwadm_.

   Par exemple :

ipfwadm -I -a accept -D 0/0 telnet -r 2323

   Cet exemple fera en sorte que toutes les tentatives de connexion vers
   le port telnet (23), de n'importe quel hte, seront rediriges vers le
   port 2323 de ce mme hte. Si vous utilisez un service sur ce port,
   vous pouvez rediriger des connexions telnet, les enregistrer ou
   excuter tout ce qui bon vous semble.

   Un exemple plus intressant est la redirection de tout le trafic http
   au travers d'un cache local. Cependant, le protocole utlis par les
   serveurs proxy diffre du protocole natif de http : quand un client se
   connecte  www.server.com:80 et demande chemin/page, quand il se
   connecte au cache local il contacte proxy.local.domain:8080 et
   recherche www.server.com/chemin/page.

   Pour filtrer une demande http au travers du proxy local, vous devez
   pouvoir adapter le protocole en insrant un petit serveur, appel
   transproxy (vous pouvez le trouver sur la toile). Vous pouvez choisir
   de faire tourner transproxy sur le port 8081, et excuter la commande
   :

ipfwadm -I -a accept -D 0/0 80 -r 8081

   Alors le programme transproxy recevra toutes les connexions devant
   aller vers des serveurs externes et les passera au proxy local aprs
   avoir corrig les diffrences de protocole.

6.11 IPv6

    peine pensez-vous avoir commenc  comprendre comment fonctionne le
   rseau IP, que les rgles ont chang! IPv6 est l'abbrviation de
   version 6 du `Protocole Internet' (version 6 de IP). Il fut dvelopp
   initialement pour calmer les inquitudes de la communaut Internet
   quant  la pnurie ventuelle d'adresses IP. Les adresses IPv6 ont 16
   octets de long (128 bits). IPv6 inclut un certain nombre d'autres
   changements, la plupart du temps des simplifications, qui rendront les
   rseaux IPv6 plus facilement grables que les rseaux IPv4.

   Linux a dj une implmentation IPv6 qui marche, mais pas encore
   compltement, dans la srie des noyaux 2.2.*.

   Si vous voulez essayer cette prochaine gnration de technologie
   Internet, ou si vous voulez un renseignement, lisez le document
   IPv6-FAQ qui se trouve sur www.terra.net.

6.12 IP Mobile

   Le terme "mobilit IP" dcrit la possibilit qu'un hte a de
   transfrer sa connexion rseau d'un point de l'Internet vers un autre
   sans changer d'adresse IP ou sans perdre la connectivit. Normalement
   quand un hte IP change de point de connexion, il change aussi
   d'adresse IP. La mobilit IP rsoud ce problme en allouant une
   adresse IP fixe  l'hte qui se dplace et en utilisant une
   encapsulation IP (tunneling) avec routage automatique pour s'assurer
   que les datagrammes qui lui sont destins seront routs vers l'adresse
   effectivement utilise  ce moment.

   Un projet est en cours en vue de fournir un paquetage complet d'outils
   Linux pour la mobilit IP. L'tat de ce projet et les outils peuvent
   tre obtenus sur : Linux Mobile IP Home Page.

6.13 Multicast

   L'IP Multicast permet de router simultanment des datagrammes IP vers
   un certain nombre d'htes se trouvant sur des rseaux diffrents. Ce
   mcanisme est exploit pour fournir sur l'Internet des applications
   prenant de la bande passante, telles que les transmissions audio et
   video et autres nouvelles applications.

   _Options de compilation du noyau_ :

Networking options  --->
        [*] TCP/IP networking
        ....
        [*] IP: multicasting

   Un ensemble d'outils et quelques modifications de la configuration
   rseau sont ncessaires. Pour plus d'informations sur le support
   multicast pour Linux, voyez le Multicast-HOWTO.html

6.14 NAT - Network Address Translation (Traduction d'adresse rseau)

   Le systme de traduction d'adresse rseau IP ressemble plutt au grand
   frre standardis du systme de masquage IP de Linux. Il est dcrit en
   dtail dans la RFC-1631 sur votre archive RFC la plus proche. NET
   fournit des possibilits que IP Masquerade ne sait pas faire, ce qui
   le rend plus apte  une utilisation de routeur pare-feu pour un rseau
   d'entreprise et des installations de plus grandes dimensions.

   Une implmentation alpha de NAT pour le noyau 2.0.29 de Linux a t
   dveloppe par Michael.Hasenstein,
   Michael.Hasenstein@informatik.tu-chemnitz.de. La documentaion et
   l'umplmentation de Michael se trouve sur :

   Linux IP Network Address Web Page

   Les noyaux 2.2.* rcents incluent galement quelques fonctions de NAT
   dans l'algorithme de routage.

6.15 Mise en forme du trafic - Changer la bande passante alloue

   Le metteur en forme de trafic est un pilote de priphrique qui cre
   de nouvelles interfaces; celles-ci sont limites au point de vue
   trafic selon les rglages de l'utilisateur, et se connectent aux
   priphriques de rseau physiques pour la transmission relle, et
   peuvent donc tre utilises comme route vers l'extrieur en vue de
   trafic rseau.

   Le metteur en forme fut introduit sur Linux-2.1.15 et ensuite sur
   Linux-2.0.36 (il apparut dans le 2.0.36-pre-patch-2 distribut par
   Alan Cox, l'auteur du dispositif de mise en forme et le mainteneur de
   Linux-2.0).

   Le metteur en forme de trafic ne peut tre compil qu'en tant que
   module, et se configure  l'aide du programme _shapecfg_ avec des
   commandes comme :

        shapecfg attach shaper0 eth1
        shapecfg speed shaper0 64000

   Ce metteur en forme de trafic ne peut contrler que la bande passante
   du trafic sortant, car les paquets sont transmis par le metteur en
   forme si l'on se rfre aux tables de routage; ainsi, le
   fonctionnement suivant ``un routage par adresse de dpart'' peut aider
    limiter la bande passante totale d'htes spcifiques utilsant un
   routeur Linux.

   Linux-2.2 possde dj le support pour un tel routage et si vous en
   avez besoin pour Linux-2.0, voyez le patch de Mike McLagan, sur
   ftp.invlogic.com. Lisez le fichier Documentationnetworking/shaper.txt
   pour plus d'informations.

   Si vous voulez faire (une tentative de) mise en forme pour les paquets
   entrants, essayez rshaper-1.01 (ou plus rcent), sur ftp.systemy.it.

6.16 Routage avec Linux-2.2

   La dernire version de Linux-2.2 permet un tas de rglages concernant
   le routage. Malheureusement, vous devez attendre la prochaine dition
   de cet HOWTO, ou bien lire les sources du noyau.

7. Utilisation du matriel courant pour PC

7.1 RNIS

   Le Rseau Numrique  Intgration de Service (RNIS) (en anglais ISDN:
   Integrated Services Digital Network) est une srie de normes donnant
   les spcifications d'un rseau de donnes numriques  usage gnral.
   Un `appel' RNIS cre un service synchrone de donnes point  point
   vers la destination. RNIS est gnralement dlivr sur une ligne 
   haut dbit divise en un certain nombre de canaux discrets. Il y a
   deux types de canaux, les `canaux B' qui transportent effectivement
   les donnes utilisateurs, et un canal unique appel `canal D' qui est
   utilis pour envoyer les informations de contrle pendant l'change
   RNIS en vue d'tablir des appels et autres fonctions. En Australie,
   par exemple, RNIS peut tre fourni sur une liaison 2 Mps qui est
   divise en 30 canaux B discrets de 64 kps et un canal D de 64 kps.
   N'importe quel nombre de canaux peuvent tre utiliss en mme temps et
   ceci dans toutes les combinaisons possibles. Vous pouvez par exemple
   tablir 30 appels diffrents de 64 kps vers 30 destinations
   diffrentes, ou bien 15 appels de 128 kps chacun vers 15 destinations
   diffrentes (2 canaux utiliss par appel), ou seulement un petit
   nombre d'appels, le reste tant inactif. Un canal peut tre utilis
   pour des appels entrant ou sortant. Le but initial de RNIS tait de
   permettre aux socits de Tlcommunications de fournir un seul
   service de donnes pouvant dlivrer soit le tlphone (avec une voix
   numrise) ou bien des services de donnes vers votre domicile ou
   votre bureau sans avoir  effectuer de changements pour obtenir une
   configuration spciale.

   Il y a plusieurs faons de connecter votre ordinateur  un service
   RNIS. L'une consiste  utiliser un dispositif appel `Adaptateur de
   Terminal' qui se branche sur l'unit de terminal rseau que votre
   oprateur de tlcommunications a install au moment de l'obtention de
   votre service RNIS, et qui prsente des interfaces sries. L'une de
   ces interfaces est utilise pour entrer les commandes pour tablir les
   appels et la configuration, et les autres sont relies aux
   priphriques rseau qui utiliseront les circuits de donnes quand la
   connexion sera faite. Linux peut travailler avec ce type de
   configuration sans modification, vous devez juste traiter le port de
   l'adaptateur de terminal comme vous traitez tout priphrique srie.
   Une autre faon, qui est la raison d'tre pour le support RNIS dans le
   noyau, vous permet d'installer une carte RNIS dans votre machine Linux
   et le logiciel Linux prend en charge les protocoles et fait les appels
   lui-mme.

   _Options de compilation noyau_ :

ISDN subsystem  --->
        <*> ISDN support
        [ ] Support synchronous PPP
        [ ] Support audio via ISDN
        < > ICN 2B and 4B support
        < > PCBIT-D support
        < > Teles/NICCY1016PC/Creatix support

   L'implmentation Linux de RNIS supporte diffrents types de cartes
   internes RNIS. Il y a celles numres dans les options de
   configuration noyau :
     * ICN 2B and 4B
     * Octal PCBIT-D
     * Teles ISDN-cards et compatibles

   Certaines de ces cartes ont besoin de logiciels devant tre
   tlchargs pour les rendre oprationnelles. Il y a un utilitaire
   spar pour le faire.

   Tous les dtails pour configurer le support RNIS Linux se trouvent
   dans le rpertoire /usr/src/linux/Documentation/isdn/ et un document
   FAQ ddi  _isdn4linux_ est disponible sur www.lrz-muenchen.de (vous
   pouvez cliquer sur le drapeau anglais pour obtenir la version
   anglaise).

   _Note au sujet de PPP_. L'ensemble des protocoles PPP peut travailler
   sur des lignes srie synchrone ou asynchrone. Le dmon PPP `_pppd_'
   couramment distribu pour Linux ne supporte que le mode asynchrone. Si
   vous dsirez utiliser les protocoles PPP avec votre service RNIS vous
   aurez besoin d'une version spciale. Les dtails pour la trouver se
   trouvent dans la documentation mentionne ci-dessus.

7.2 PLIP pour Linux-2.0

   Les noms de priphriques PLIP sont `plip0', `plip1', `plip2'.

   _Options de compilation du noyau_ :

Networking options  --->
    <*> PLIP (parallel port) support

   _PLIP_ (Parallel Line IP) est, comme SLIP, utilis pour fournir une
   connexion rseau _point  point_ entre deux machines, sauf qu'il est
   conu pour utiliser les ports parallles de votre machine au lieu des
   ports sries. Parce qu'il est possible de transmettre plus d'un bit en
   mme temps avec un port parallle, il est possible d'atteindre de plus
   hautes vitesses avec l'interface _PLIP_ qu'avec une sortie srie
   standard (un schma de cblage est donn plus loin dans ce document).
   De plus, mme le plus simple des ports parallles, le port imprimante,
   peut tre utilis, au lieu d'acheter un UART 16550AFN relativement
   cher pour vos ports sries. PLIP utilise beaucoup de CPU en
   comparaison d'une liaison srie et ce n'est srement pas un bon choix
   si vous avez la possibilit d'avoir des cartes thernet pas chres,
   mais a fonctionne lorsque rien d'autre n'est disponible, et a
   fonctionne trs bien.

   Les pilotes PLIP entrent en comptition avec les autres pilotes du
   matriel branch sur le port parallle. Si vous voulez utiliser les
   deux, vous devez alors les compiler en tant que modules pour pouvoir
   choisir quel port vous voulez utiliser pour PLIP et quel port pour
   l'imprimante. Voyez le document ``Modules-mini-HOWTO'' pour plus
   d'informations sur la configuration des modules noyau.

   Attention, notez que certains portables utilisent des circuits qui ne
   peuvent pas fonctionner avec PLIP car ils n'autorisent pas certaines
   combinaisons dont PLIP a besoin et que les imprimantes n'utilisent
   pas.

   L'interface Linux _PLIP_ est compatible avec le _Pilote PLIP Crynwyr
   Packet_ et ceci signifie que vous pouvez connecter votre machine Linux
   avec une machine DOS tournant avec n'importe quel logiciel TCP/IP via
   _PLIP_.

   Dans la srie des noyaux 2.0.* les pilotes de priphrique PLIP sont
   affects aux ports e/s et IRQ comme suit :

device  i/o addr    IRQ
------  --------    -----
plip0   0x3BC           5
plip1   0x378           7
plip2   0x278           2

   Si vos ports parallles ne correspondent pas aux combinaisons
   prcdentes alors vous pouvez changer les IRQ en utilisant la commande
   _ifconfig_ avec le paramtre `irq'. N'oubliez pas de valider les IRQ
   pour vos ports imprimantes dans votre ROM BIOS s'il supporte cette
   option. Un autre moyen consiste  spcifier les options ``io='' et
   ``irq='' sur la ligne de commande de insmod, si vous utilisez les
   modules. Par exemple :

root# insmod plip.o io=0x288 irq=5

   Le fonctionnement de PLIP est contrl par deux temporisations de
   dpassement de temps, dont les valeurs par dfaut devraient convenir
   la plupart du temps. Vous devrez peut-tre les augmenter si vous avez
   un ordinateur particulirement lent, auquel cas les valeurs devant
   tre augmentes se trouvent sur l'_autre_ ordinateur. Il existe un
   programme appel _plipconfig_ qui permet d'effectuer ces rglages sans
   recompiler le noyau. Il est fourni avec de nombreuses distributions
   Linux.

   Pour configurer une interface _plip_, vous devez invoquer les
   commandes suivantes (ou les _ajouter_  vos scripts d'initialisation)
   :

 root# /sbin/ifconfig plip1 localplip pointopoint remoteplip
 root# /sbin/route add remoteplip plip1

   Dans ce cas, le port utilis est celui qui a l'adresse 0x378 ;
   _localplip_ et _remoteplip_ sont les adresses IP utilises sur le cble
   PLIP. Je les mets personnellement dans la base de donnes /etc/host :

 # entres plip
 192.168.3.1 localplip
 192.168.3.2 remoteplip

   Le paramtre _pointopoint_ a la mme signification que pour SLIP,
   c'est--dire qu'il spcifie l'adresse de la machine  l'autre bout de
   la liaison.

   Dans la plupart des cas vous pouvez traiter l'interface _PLIP_ comme
   si elle tait une interface _SLIP_, sauf que ni _dip_ ni _slattach_ ne
   doivent, ou ne peuvent, tre utiliss.

   Plus d'information sur PLIP peut tre obtenu avec le document
   ``PLIP-mini-HOWTO''.

7.3 PLIP pour Linux2.2

   Durant le dveloppement des versions 2.1 du noyau, le support
   concernant les ports parallles s'est amlior.

   _Options de compilation du noyau_ :

General setup --->
    [*] Parallel port support
Network device support --->
    <*> PLIP (parallel port) support

   Le nouveau code concernant PLIP se comporte comme l'ancien ( on
   utilise les mmes commandes _ifconfig_ et _route_ comme dans le
   paragraphe prcdent), mais l'initialisation du systme est diffrente
   en raison du support port parallle amlior.

   Le ``premier'' priphrique PLIP est toujours appel ``plip0'',
   premier signifiant celui qui est dtect en premier par le systme,
   comme pour les priphriques Ethernet. Le port parallle utilis de
   fait est l'un de ceux qui sont disponibles, comme indiqu dans
   /proc/parport. Par exemple, si vous n'avez qu'un seul port parallle,
   vous n'aurez qu'un seul rpertoire appel /proc/parport/0.

   Si votre noyau ne dtecte pas l'IRQ utilise par votre port parallle,
   ``insmod plip'' chouera ; dans ce cas, vous crivez juste le chiffre
   adquat dans /proc/parport/0/irq et vous invoquez de nouveau _insmod_.

   Une information complte sur la gestion des ports parallles est
   disponible dans le fichier Documentation/parport.txt, qui se trouve
   dans les sources du noyau.

7.4 PPP

   Les noms de priphriques PPP sont `ppp0', `ppp1', etc. Les noms sont
   attribus squentiellement, le premier priphrique tant `0'.

   _Options de compilation du noyau_ :

Networking options  --->
    <*> PPP (point-to-point) support

   La configuration de PPP est discute en dtail dans le PPP-HOWTO.

  Maintenance d'une connexion permanente avec le rseau  l'aide de _pppd_

   Si vous tes suffisamment fortuns pour avoir une connexion
   semi-permanente avec le net et que vous vouliez que votre machine
   refasse la connexion PPP en cas de dconnexion, alors voici une astuce
   simple.

   Configurer PPP de sorte qu'il soit dmarr par l'utilisateur root en
   lanant la commande :

# pppd

   _Soyez certains_ d'avoir l'option `-detach' dans le fichier
   /etc/ppp/options. Puis, insrez la ligne suivante dans votre fichier
   /etc/inittab, avec les dfinitions des _getty_ :

pd:23:respawn:/usr/sbin/pppd

   Cela permettra au programme _init_ de dmarrer et de surveiller le
   programme _pppd_ , et de le redmarrer automatiquement s'il meurt.

7.5 Client SLIP

   Les fichiers de priphriques SLIP sont nomms `sl0', `sl1', etc. Le
   premier configur tant `0' et les autres s'incrmentant au fur et 
   mesure de leur configuration.

   _Options de compilation du noyau_ :

Network device support  --->
    [*] Network device support
    <*> SLIP (serial line) support
    [ ]  CSLIP compressed headers
    [ ]  Keepalive and linefill
    [ ]  Six bit SLIP encapsulation

   SLIP (Serial Line Internet Protocol) vous permet d'utiliser TCP/IP
   avec une ligne srie, ce peut tre un tlphone et un modem, ou tout
   autre ligne ddie. Bien sr pour utiliser SLIP vous devez avoir accs
    un _serveur SLIP_ dans votre entourage. Beaucoup d'universits et de
   socits fournissent des accs SLIP de par le monde.

   SLIP utilise les ports sries de votre machine pour transporter les
   datagrammes IP. Pour cela il doit prendre le contrle du priphrique
   srie. Les noms de priphriques SLIP sont _sl0_, _sl1_, etc. Comment
   ceux-ci correspondent avec vos priphriques srie ? Le code rseau
   utilise ce que l'on nomme un appel _ioctl_ (i/o control) pour
   transformer les priphriques srie en priphriques SLIP. Il y a deux
   programmes qui peuvent faire cela, ce sont _dip_ et _slattach_.

  dip

   _dip_ (Dialup IP) est un programme lgant capable de rgler la
   vitesse du dispositif srie, de demander  votre modem d'appeler
   l'autre extrmit de la ligne, de vous connecter automatiquement au
   serveur distant, de chercher des messages qui vous ont t envoys par
   le serveur et d'en extraire des informations telles que votre adresse
   IP et de faire le _ioctl_ ncessaire pour basculer votre port srie en
   mode SLIP. _dip_ est trs flexible quant  l'utilisation de scripts et
   grce  ceci vous pouvez automatiser vos procdures de connexion.

   On peut le trouver sur : metalab.unc.edu.

   Pour l'installer faites :

user% tar xvfz dip337o-uri.tgz
user% cd dip-3.3.7o
user% vi Makefile
root# make install

   Le fichier Makefile suppose l'existence d'un groupe nomm _uucp_, mais
   vous pouvez le changer en _dip_ ou _SLIP_, selon votre configuration.

  slattach

   _slattach_ au contraire de _dip_ est un programme trs simple, trs
   facile  utiliser, mais qui n'a pas la sophistication de _dip_. Il n'a
   pas la possiblit d'accepter des scripts, tout ce qu'il fait tant de
   configurer votre priphrique srie en priphrique SLIP. Il suppose
   que vous avez toutes les informations ncessaires et que la liaison
   srie est tablie avant de l'invoquer. _slattach_ est idal quand vous
   avez une liaison permanente avec votre serveur, comme un cble
   physique ou une ligne ddie.

  Quand utiliser quoi ?

   Vous devriez utiliser _dip_ lorsque votre liaison vers la machine qui
   est votre serveur SLIP est un modem, ou tout autre lien intermittent.
   Vous devriez utiliser _slattach_ quand vous avez une ligne ddie,
   peut-tre un cble, entre votre machine et le serveur et qu'il n'y a
   pas d'action spciale ncessaire pour garder la ligne en activit.
   Voir la section `Connexion SLIP permanente' pour plus de dtails.

   Configurer SLIP est analogue  la configuration d'une interface
   Ethernet (voir la section `Configurer un priphrique Ethernet'
   ci-dessus). Cependant, il existe quelques diffrences.

   Tout d'abord, les liens SLIP ne sont pas des rseaux Ethernet en ce
   sens qu'il n'y a que deux htes sur le rseau, un  chaque extrmit
   de la liaison.  la diffrence de l'Ethernet qui est disponible ds
   que vous tes cbl, avec SLIP, en fonction du type de lien que vous
   avez, vous serez amen  initialiser votre connexion rseau d'une
   manire spciale.

   Si vous utilisez _dip_, alors cela ne sera pas fait au moment du
   dmarrage de la machine, mais plus tard, quand vous serez prt 
   utiliser la liaison. Il est possible d'automatiser la procdure. Si
   vous utilisez _slattach_ vous voudrez probablement ajouter une section
   dans votre fichier _rc.inet1_. Ceci sera dcrit bientt.

   Il y a deux types principaux de serveurs SLIP : serveurs avec
   adressage IP dynamique et serveurs avec adressage IP statique. Presque
   tous les serveurs SLIP vous demanderont  la connexion d'utiliser un
   nom d'utilisateur et un mot de passe quand vous composez le numro.
   _dip_ peut prendre en charge la connexion automatiquement.

  Serveur SLIP statique avec une ligne tlphonique et DIP

   Le serveur SLIP statique est celui qui vous fournit une adresse IP qui
   reste exclusivement la vtre.  chaque fois que vous vous connectez 
   ce serveur, vous configurez votre port SLIP avec cette adresse. Le
   serveur SLIP statique rpond  votre appel par modem, vous demande
   probablement un nom d'utilisateur et un mot de passe, et ensuite
   dirige tous les datagrammes destins  votre adresse au travers de
   cette connexion. Si vous avez un serveur statique, alors vous mettez
   des entres pour votre nom d'hte et votre adresse IP (puisque vous
   savez ce qu'elle sera) dans votre fichier /etc/hosts. Vous devez aussi
   configurer d'autres fichiers comme : rc.inet2, host.conf, resolv.conf,
   /etc/HOSTNAME et rc.local. N'oubliez pas qu'en configurant rc.inet1,
   vous n'avez pas besoin d'ajouter de commandes spciales pendant la
   connexion SLIP puisque c'est _dip_ qui fait tout le dur labeur  votre
   place en configurant votre interface. Vous avez besoin de donner 
   _dip_ les informations adquates et il configure l'interface pour vous
   aprs avoir demand au modem d'tablir l'appel et de vous connecter au
   serveur.

   Si votre serveur SLIP fonctionne comme cela alors vous pouvez
   directement aller  la section `Utiliser Dip' pour apprendre 
   configurer _dip_ convenablement.

  Serveur SLIP dynamique avec une ligne tlphonique et DIP

   Le serveur SLIP _dynamique_ vous alloue une adresse IP de manire
   alatoire,  partir d'un groupe d'adresses,  chaque fois que vous
   vous connectez. Cela signifie qu'il n'y a aucune garantie d'avoir la
   mme adresse  chaque fois, et que celle-ci peut tre utilise par
   quelqu'un d'autre aprs la dconnexion. L'administrateur rseau qui a
   configur le serveur SLIP a assign un groupe d'adresses que le
   serveur SLIP peut utiliser quand il reoit un appel entrant. Il prend
   alors la premire adresse inutilise, guide l'appelant au travers du
   processus de connexion et envoie un message de bienvenue contenant
   l'adresse IP qu'il a alloue et continue d'utiliser cette adresse tout
   le temps de l'appel.

   Configurer ce type de serveur revient  configurer un serveur
   statique, sauf que vous devez ajouter une tape pour obtenir l'adresse
   IP alloue par le serveur puis configurer le priphrique SLIP avec
   celle-ci.

   Encore une fois, _dip_ fait le sale boulot et les nouvelles versions
   sont suffisamment lgantes pour non seulement tablir la connexion,
   mais aussi pour lire l'adresse IP inscrite dans le message de
   bienvenue et la stocker de telle sorte que vous puissiez configurer
   votre priphrique SLIP avec.

   Si votre serveur SLIP fonctionne ainsi, alors vous pouvez aller  la
   section `Utiliser DIP' pour savoir comment configurer _dip_ de manire
   adquate.

  Utiliser DIP

   Comme expliqu plus haut, _dip_ est un programme puissant qui
   simplifie et automatise le processus de composition d'un numro vers
   un serveur SLIP, se connecte dessus, dmarre la connexion et configure
   les priphriques SLIP  l'aide des commandes _ifconfig_ et _route_
   appropries.

   Essentiellement, pour utiliser _dip_ vous crivez un `script dip' qui
   est tout simplement une liste de commandes que _dip_ comprend et qui
   lui dit comment raliser chacune des actions que vous voulez qu'il
   fasse. Voyez le fichier sample.dip fourni avec _dip_ pour avoir une
   ide de la manire dont il travaille. _dip_ est vraiment un programme
   puissant, avec beaucoup d'options. Au lieu de regarder chacune
   d'elles, il vaut mieux jeter un coup d'oeil dans la page de manuel, le
   fichier README et les fichiers d'exemple qui sont fournis avec votre
   version de _dip_.

   Vous pouvez noter que le script sample.dip suppose que vous utilisez
   un serveur SLIP statique, aussi vous connaissez votre adresse IP 
   l'avance. Pour les serveurs SLIP dynamiques, les nouvelles versions de
   _dip_ incluent une commande que vous pouvez utiliser pour lire et
   configurer automatiquement votre priphrique SLIP avec l'adresse IP
   donne par le serveur dynamique. L'exemple suivant est une version
   modifie du fichier sample.dip fourni avec _dip337j-uri.tgz_ et qui
   est probablement un bon point de dpart pour vous. Vous pouvez le
   sauvegarder sous le nom de /etc/dipscript et l'diter pour l'adapter 
   votre configuration :

#
# sample.dip    Programme de support pour connexion IP.
#
#       Ce programme (devrait montrer) montre comment utiliser DIP
#       Il devrait fonctionner avec des serveurs dynamiques de type Annex,
#       et si vous utilsez un serveur avec adresse statique utilsez alors le
#       fichier sample.dip livr avec le paquetage dip337-uri.tgz.
#
#
# Version:      @(#)sample.dip  1.40    07/20/93
#
# Auteur:       Fred N. van Kempen, <waltje@uWalt.NL.Mugnet.ORG>
#

main:
# Aprs, postionner l'adresse et le nom de l'hte distant.
# Ma machine s'appelle 'xs4all.hacktic.nl' (== 193.78.33.42)
get $remote xs4all.hacktic.nl
# Positionne le masque de rseau sur sl0  255.255.255.0
netmask 255.255.255.0
# Rgle le port srie et la vitesse.
port cua02
speed 38400

# Reset le modem et la ligne de terminal.
# Cela semble poser problme  certains!
reset

# Notez! Valeurs "standards" prdfinies de "errlevel":
#  0 - OK
#  1 - CONNECT
#  2 - ERROR
#
# Vous pouvez les changer en faisant un grep dans *.c avec "addchat()"...

# On se prpare pour numroter.
send ATQ0V1E1X4\r
wait OK 2
if $errlvl != 0 goto modem_trouble
dial 555-1234567
if $errlvl != 1 goto modem_trouble

# Nous sommes connects. Nous nous enregistrons sur le systme.
login:
sleep 2
wait ogin: 20
if $errlvl != 0 goto login_trouble
send MYLOGIN\n
wait ord: 20
if $errlvl != 0 goto password_error
send MYPASSWD\n
loggedin:

# Maintenant nous sommes enregistrs.
wait SOMEPROMPT 30
if $errlvl != 0 goto prompt_error

# Demande au serveur de basculer en mode SLIP
send SLIP\n
wait SLIP 30
if $errlvl != 0 goto prompt_error

# Obtenir et ajuster notre adresse IP grce au serveur.
# Ici nous supposons qu'aprs le basculement du serveur en mode SLIP, celui-ci
# nous donne l'adresse IP
#   mode that it prints your IP address
get $locip remote 30
if $errlvl != 0 goto prompt_error

# rglage des paramtres SLIP.
get $mtu 296
# S'assurer que "route add -net default xs4all.hacktic.nl" sera fait
default

# Dire bonjour, et en avant!
done:
print CONNECTED $locip ---> $rmtip
mode CSLIP
goto exit

prompt_error:
print TIME-OUT waiting for sliplogin to fire up...
goto error

login_trouble:
print Trouble waiting for the Login: prompt...
goto error

password:error:
print Trouble waiting for the Password: prompt...
goto error

modem_trouble:
print Trouble occurred with the modem...
error:
print CONNECT FAILED to $remote
quit

exit:
exit

   L'exemple prcdent suppose que vous appeliez un serveur SLIP
   _dynamique_ ; si vous appelez un serveur SLIP _statique_, alors le
   fichier sample.dip founi avec _dip337j-uri.tgz_ devrait vous convenir.

   Quand on donne  _dip_ la commande _get $local_, il cherche dans le
   texte venant de l'extrmit de la ligne une chane de caractres
   ressemblant  une adresse IP, c'est  dire des ensembles de nombres
   spars par des caractres `.'. Cette modification fut mise en place
   plus spcialement pour les serveurs SLIP _dynamiques_, afin que le
   processus de lecture de l'adresse IP fournie par le serveur soit
   automatis.

   L'exemple ci-dessus cre automatiquement une route par dfaut via
   votre liaison SLIP, et si ce n'est pas ce que vous voulez, car vous
   avez une connexion Ethernet qui devrait tre votre route par dfaut,
   alors enlevez la commande _default_ du script. Aprs que le script ait
   fini de tourner, tapez la commande _ifconfig_, et vous verrez que vous
   avez un priphrique _sl0_. C'est votre priphrique SLIP. Si le
   besoin s'en fait sentir, vous pouvez modifier manuellement sa
   configuration, aprs que la commande _dip_ soit finie, en utilisant
   les commandes _ifconfig_ et _route_.

   Notez que _dip_ vous permet de choisir parmi diffrents protocoles en
   utilisant la commande mode, l'exemple le plus courant tant _cSLIP_
   pour utiliser SLIP avec compression. Notez encore que les deux
   extrmits de la liaison doivent tre d'accord, aussi assurez-vous que
   ce que vous avez choisi est en accord avec les rglages du serveur.

   L'exemple montr ci-dessus est plutt robuste et devrait faire face 
   la plupart des erreurs. Rfrez-vous  la page de manuel de _dip_ pour
   plus d'informations. Naturellement, vous pouvez, par exemple, modifier
   le script pour raliser des choses comme recomposer le numro vers le
   serveur si la connexion n'a pas t faite au bout d'un certain temps,
   ou mme essayer une srie de serveurs si vous avez accs  plus d'un
   d'entre eux.

  Connexion permanente SLIP utilisant une ligne et slattach

   Si vous avez deux machines relies par un cble, ou si vous tes
   suffisamment riche pour avoir une ligne ddie, ou un autre type de
   connexion permanente entre votre machine et une autre, alors vous
   n'avez pas besoin de vous casser la tte avec _dip_ pour rgler votre
   liaison srie. _slattach_ est un utilitaire trs simple  utiliser et
   vous permet d'avoir les fonctionnalits juste ncessaires pour
   configurer votre connexion.

   Puisque votre connexion est permanente, vous ajoutez quelques
   commandes dans votre fichier rc.inet1. Tout ce dont vous avez besoin
   pour une connexion permanente est de vous assurer que vous avez
   configur votre priphrique srie  la bonne vitesse et basculer
   votre priphrique srie en mode SLIP. _slattach_ vous permet de faire
   ceci avec une seule commande. Ajoutez ce qui suit  votre fichier
   rc.inet1 :

#
# Attache une connexion SLIP statique sur une ligne ddie
#
#  configure /dev/cua0  la vitesse de 19.2kbps et cslip
/sbin/slattach -p cslip -s 19200 /dev/cua0 &
/sbin/ifconfig sl0 IPA.IPA.IPA.IPA pointopoint IPR.IPR.IPR.IPR up
#
# Fin de SLIP statique.

   O :

   _IPA.IPA.IPA.IPA_
          reprsente votre adresse IP.

   _IPR.IPR.IPR.IPR_
          reprsente l'adresse IP de l'hte distant.

   _slattach_ alloue le premier priphrique SLIP disponible au
   priphrique srie spcifi. _slattach_ dmarre avec _sl0_. Par
   consquent la premire commande _slattach_ relie le priphrique _sl0_
   au priphrique spcif, puis _sl1_ la fois suivante, etc.

   _slattach_ vous permet de configurer un certain nombre de protocoles
   grce  l'argument -p. Dans votre cas vous utilisez soit _SLIP_ soit
   _cSLIP_ suivant que vous voulez utiliser la compression ou non. Note :
   les deux extrmits doivent tre d'accord sur l'utilisation de la
   compression.

7.6 Serveur SLIP

   Vous avez peut-tre une machine connecte au rseau et vous aimeriez
   que d'autres personnes puissent s'y connecter pour y chercher des
   services de rseau, alors vous devez configurer votre machine comme
   serveur. Si vous voulez utiliser SLIP comme protocole de ligne srie,
   vous avez trois possiblits pour configurer votre machine Linux comme
   serveur SLIP. Ma prfrence est la premire prsente, _sliplogin_,
   car elle semble la plus facile  configurer et  comprendre, mais je
   prsenterai un rsum pour chacune, ainsi vous pourrez dcider par
   vous-mme.

  Serveur SLIP utilisant _sliplogin_

   _sliplogin_ est un programme que vous pouvez utiliser  la place du
   shell normal de connexion pour les utilisateurs SLIP, et qui convertit
   la ligne terminal en ligne SLIP. Il vous permet de configurer votre
   machine Linux soit en _serveur  adresse statique_ (les utilisateurs
   obtiennent toujours la mme adresse  chaque connexion), soit en
   _serveur  adresse dynamique_ (les utilisateurs obtiennent une adresse
   qui n'est pas forcment la mme que lors de la connexion prcdente).

   L'appelant se connecte comme sur un terminal standard, en donnant son
   nom d'utilisateur et son mot de passe, mais au lieu d'avoir une invite
   de shell aprs la connexion, _sliplogin_ est excut et cherche dans
   son fichier de configuration une entre dont le nom correspond  celui
   de l'appelant. S'il en dtecte une, il configure la ligne avec 8 bits
   de donnes, et utilise un appel _ioctl_ pour basculer celle-ci en
   ligne SLIP. Quand ce processus est fini, la dernire tape de la
   configuration prend place, _sliplogin_ invoquant un script qui
   configure l'interface SLIP avec l'adresse IP adquate, ainsi que le
   masque de rseau et positionne le routage appropri. Ce script est
   appel habituellement /etc/slip.login, mais tout comme _getty_, si
   certains appelants ncessitent une initialisation spciale, alors vous
   pouvez crer des scripts de configuration appels
   /etc/slip.login.loginname qui seront utiliss  la place du script par
   dfaut.

   Il y a quelques fichiers que vous devez configurer pour que _sliplogin_
   travaille pour vous. Je dcrirai comment et o obtenir les logiciels
   et comment chacun est configur. Ces fichiers sont :

     * /etc/passwd, pour l'acceptation des utilisateurs entrants;
     * /etc/slip.hosts, qui contient une information spcifique de chaque
       utilisateur entrant;
     * /etc/slip.login, qui s'occupe de la configuration du routage;
     * /etc/slip.tty, requis uniquement si vous configurez votre serveur
       avec _allocation d'adresse dynamique_ : il contient une table des
       adresses  allouer.
     * /etc/slip.logout, qui contient les commandes de `nettoyage' aprs
       une dconnexion volontaire ou intempestive.

  O obtenir _sliplogin_

   Votre distribution contient peut-tre dj le paquetage; si ce n'est
   pas le cas alors _sliplogin_ peut tre obtenu sur metalab.unc.edu. Le
   fichier tar contient  la fois les sources, les binaires prcompils
   et une page de manuel.

   Pour s'assurer que seuls les utilisateurs autoriss pourront faire
   tourner le programme _sliplogin_, vous devez ajouter une entre dans
   votre fichier /etc/group similaire  la suivante :

 ..
slip::13:radio,fred
 ..

   Lorsque vous installez le paquetage _sliplogin_, Makefile change le
   groupe du programme _sliplogin_ en slip, et cela signifie que seuls
   les utilisateurs qui appartiennent  ce groupe pourront l'excuter.
   L'exemple donn ci-dessus ne permet qu'aux utilisateurs radio et fred
   de pouvoir faire tourner le programme _sliplogin_.

   Pour installer les binaires dans le rpertoire /sbin et les pages de
   manuel dans la section 8, faites :

root# cd /usr/src
root# gzip -dc .../sliplogin-2.1.1.tar.gz | tar xvf -
root# cd sliplogin-2.1.1
root# <..editez le Makefile si vous n'utilisez pas les shadow passwords..>
root# make install

   Si vous voulez recompiler les binaires avant de les installer, faites
   make clean avant de faire make install. Si vous voulez installer les
   binaires autre part, vous devez diter le fichier Makefile et le
   modifier en consquence.

   Lisez les fichiers README qui sont inclus dans le paquetage pour plus
   d'informations.

  Configurer /etc/passwd pour utiliser SLIP

   Normalement vous devez crer des noms d'utilisateurs spciaux, pour
   ceux qui appellent avec SLIP, dans votre fichier /etc/passwd. Une
   convention souvent suivie est d'utiliser le _nom d'utilisateur_ de
   l'appelant prfixe avec la lettre capitale `S'. Ainsi, par exemple,
   si l'appelant s'appelle radio alors vous pouvez crer une entre dans
   le fichier /etc/passwd ressemblant  ceci :

Sradio:FvKurok73:1427:1:radio SLIP login:/tmp:/sbin/sliplogin

   Le nom du compte n'a pas rellement d'importance, du moment qu'il ait
   une signification pour vous.

   Note : l'appelant n'a pas besoin de rpertoire home spcial car il
   n'utilisera pas de shell sur la machine, ds lors /tmp est un bon
   choix. Notez bien que _sliplogin_ est utilis  la place du shell de
   connexion normal.

  Configurer /etc/slip.hosts

   Le fichier /etc/slip.hosts est le fichier o _sliplogin_ cherche les
   entres correspondant au nom de connexion pour obtenir les dtails de
   configuration. C'est le fichier o sont indiqus l'adresse IP et le
   masque de rseau qui seront assigns  l'appelant et configurs pour
   leur usage. Des exemples d'entres pour deux utilisateurs, une
   statique pour radio et l'autre dynamique pour albert ressemblent 
   ceci :

#
Sradio   44.136.8.99   44.136.8.100  255.255.255.0  normal      -1
Salbert  44.136.8.99   DYNAMIC       255.255.255.0  compressed  60
#

   Les entres du fichier /etc/slip.hosts sont :

    1. Le nom de connexion de l'appelant.
    2. L'adesse IP de la machine serveur, donc de la machine contenant ce
       fichier.
    3. L'adresse IP qui sera attribue  l'appelant. Si le champ vaut
       DYNAMIC alors l'adresse IP sera alloue suivant les informations
       contenues dans le fichier /etc/slip.tty dcrit plus loin. _Note :_
       vous devez utiliser au moins la version 1.3 de sliplogin pour que
       cela fonctionne.
    4. Le masque de rseau assign  la machine appelante, en notation
       dcimale, par exemple 255.255.255.0 pour un masque de rseau de
       classe C.
    5. Un rglage du mode SLIP qui active/dsactive la compression. Les
       valeurs autorises sont "normal" et "compressed".
    6. Un paramtre de dlai qui spcifie combien de temps la ligne peut
       rester inactive (aucun datagramme reu) avant une dconnexion
       automatique. Une valeur ngative dsactive cette possiblit.
    7. arguments optionnels.

   Note : Vous pouvez mettre soit les noms d'htes soit les adresses IP
   en notation dcimale pointe pour les champs 2 et3. Si vous utilisez
   les noms d'htes, alors ces htes doivent tre rsolubles, c'est 
   dire que votre machine est capable de dterminer une adresse IP pour
   ces noms d'htes, autrement le script chouera pendant l'appel. Vous
   pouvez le tester en faisant telnet vers un nom d'hte : si vous
   obtenez le message `_Trying nnn.nnn.nnn..._' alors votre machine est
   capable de trouver une adresse ip pour ce nom d'hte. Si vous obtenez
   le message `_Unknown host_', alors il n'en a pas. Dans ce cas essayez
   d'utiliser l'adress IP en notation dcimale pointe ; ou bien voyez du
   ct de votre configuration de solveur de noms (voir la section
   Rsolution de noms).

   Les modes les plus courants de SLIP sont :

   _normal _
          mode SLIP normal non compress.

   _compressed _
          mode avec compression van Jacobsen des en-ttes (cSLIP)

   Bien sr ils sont mutuellement exclusifs, vous devez utiliser l'un ou
   l'autre. Pour plus d'informations sur les options disponibles, voir
   les pages de manuels.

  Configurer le fichier /etc/slip.login.

   Aprs que _sliplogin_ ait explor le fichier /etc/slip.hosts et ait
   trouv une entre qui convient, il essaye d'excuter le fichier
   /etc/slip.login pour effectivement configurer l'interface SLIP avec
   son adresse IP et son masque de rseau.

   L'exemple de fichier /etc/slip.login fourni avec le paquetage
   _sliplogin_ ressemble  ceci :

#!/bin/sh -
#
#       @(#)slip.login  5.1 (Berkeley) 7/1/90
#
# fichier gnrique de connexion pour une ligne SLIP. Invoqu par sliplogin
# avec les paramtres:
#     $1       $2       $3    $4, $5, $6 ...
# unit SLIP vitesse    pid   arguments tirs de slip.host
#
/sbin/ifconfig $1 $5 pointopoint $6 mtu 1500 -trailers up
/sbin/route add $6
arp -s $6 <hw_addr> pub
exit 0
#

   Notez que ce script utilise seulement les commandes _ifconfig_ et
   _route_ pour configurer le priphrique SLIP avec sa propre adresse IP,
   l'adresse IP de l'hte distant , le masque de rseau puis cre une
   route vers l'adresse distante via le priphrique SLIP. C'est--dire
   la mme chose que si vous utilisiez la commande _slattach_.

   Notez aussi l'utilisation de _Proxy ARP_ pour s'assurer que les htes
   placs sur le mme segment thernet que la machine serveur sauront
   comment atteindre l'hte qui s'est connect. Le champ <hw_addr> doit
   tre l'adresse matrielle de la carte Ethernet de la machine. Si votre
   machine serveur n'est pas sur un rseau Ethernet, vous pouvez ignorer
   cette ligne.

  Configurer le fichier /etc/slip.logout

   Quand la connexion s'est arrte, assurez-vous que le priphrique
   srie soit revenu  son tat normal de telle sorte que les appelants
   suivants puissent se connecter correctement. Ceci est accompli en
   utilisant le fichier /etc/slip.logout. Il est de format trs simple et
   est appel avec le mme argument que le fichier /etc/slip.login.

#!/bin/sh -
#
#               slip.logout
#
/sbin/ifconfig $1 down
arp -d $6
exit 0
#

   Tout ce qu'il fait est de `mettre  zro' l'interface qui supprimera
   la route prcdemment cre. Il utilise aussi la commande _arp_ pour
   supprimer tout arp proxy en place, encore une fois vous n'avez pas
   besoin de la commande _arp_ dans le script si votre machine serveur ne
   possde pas de port Ethernet.

  Configurer le fichier /etc/slip.tty

   Si vous utilisez une allocation d'adresse ip dynamique (tous les htes
   configurs avec le mot-cl DYNAMIC dans le fichier /etc/slip.hosts)
   alors vous devez configurer le fichier /etc/slip.tty pour lister les
   adresses qui seront assignes aux ports. Vous n'aurez besoin de ce
   fichier que si vous voulez que votre serveur alloue des adresses aux
   utilisateurs de manire dynamique.

   Ce fichier est un tableau qui liste les priphriques _tty_ supportant
   les connexions SLIP entrantes et l'adresse ip qui sera assigne aux
   utilisateurs se connectant  ceux-ci.

   Son format est le suivant :

# slip.tty    mappage d'adresses tty -> IP pour SLIP dynamique
# format: /dev/tty?? xxx.xxx.xxx.xxx
#
/dev/ttyS0      192.168.0.100
/dev/ttyS1      192.168.0.101
#

   Ce que dit ce tableau est que les appelants qui se connectent sur le
   port /dev/ttyS0 et dont le champ adresse dans le fichier
   /etc/slip.hosts vaut sur DYNAMIC auront l'adresse 192.168.0.100.

   De cette manire vous n'avez besoin d'allouer qu'une seule adresse par
   port pour tous les utilisateurs n'ayant pas besoin d'adresse fixe.
   Ceci vous permet d'avoir le nombre minimum d'adresses ncessaires pour
   viter du gaspillage.

  Serveur Slip utilisant _dip_

   Tout d'abord laissez-moi dire que certaines informations ci-dessous
   proviennent des pages de manuel de _dip_, o la manire de faire
   tourner Linux comme serveur SLIP est brivement dcrite. Faites
   attention aussi que ce qui suit est fond sur le paquetage
   _dip337o-uri.tgz_ et ne s'applique vraisemblablement pas  d'autres
   versions de _dip_.

   _dip_ possde un mode de traitement des donnes d'entre qui permet de
   localiser automatiquement un utilisateur entrant et qui configure la
   ligne srie comme lien SLIP suivant les informations trouves dans le
   fichier /etc/diphosts. Ce mode est activ en invoquant _dip_ avec
   _diplogin_. Voil donc comment utiliser _dip_ comme serveur SLIP, en
   crant des comptes spciaux o _diplogin_ est utilis comme shell de
   connexion.

   La premire chose  faire est de crer un lien symbolique comme suit :

# ln -sf /usr/sbin/dip /usr/sbin/diplogin

   Ensuite vous devez ajouter des entres  la fois dans vos fichiers
   /etc/passwd et /etc/diphosts. Les entres que vous devez y mettre sont
   formates comme suit :

   Pour configurer Linux comme serveur SLIP avec _dip_, vous devez crer
   quelques comptes SLIP spciaux pour les utilisateurs, o _dip_ (en
   mode d'entre) est utilis comme shell de connexion. Une convention
   suggre est d'avoir tous les comptes SLIP commenant avec la lettre
   `S' majuscule, par exemple `Sfredm'.

   Un exemple d'entre dans /etc/passwd pour un utilisateur SLIP
   ressemble  ceci :

Sfredm:ij/SMxiTlGVCo:1004:10:Fred:/tmp:/usr/sbin/diplogin
^^         ^^        ^^  ^^   ^^   ^^   ^^
|          |         |   |    |    |    \__ diplogin comme shell de connexion
|          |         |   |    |    \_______ Rpertoire personnel
|          |         |   |    \____________ Nom complet d'utilisateur
|          |         |   \_________________ GID
|          |         \_____________________ UID
|          \_______________________________ Mot de passe chiffr
\__________________________________________ Nom de connexion Slip

   Aprs la connexion de l'utilisateur, le programme _login_ (s'il trouve
   et accepte l'utilisateur) excute la commande _diplogin_. _dip_,
   lorsqu'il est invoqu en tant que _diplogin_ sait qu'il sera
   automatiquement utilis comme shell de connexion. Quand il est dmarr
   comme _diplogin_ la premire chose qu'il fait est d'utiliser l'appel
   de la fonction _getuid()_ pour obtenir l'identificateur de
   l'utilisateur appelant. Il regarde ensuite dans le fichier
   /etc/diphosts pour trouver la premire entre qui corresponde soit 
   l'utilisateur soit au priphrique _tty_ o l'appel est entr et se
   configure lui-mme de manire approprie. Par un choix judicieux :
   soit de donner  l'utilisateur une entre dans le fichier diphosts,
   soit de laisser  l'utilisateur la configuration par dfaut, vous
   pouvez construire votre serveur de telle manire que vous puissiez
   faire cohabiter des utilisateurs ayant des adresses alloues
   statiquement ou dynamiquement.

   _dip_ ajoutera automatiquement une entre `Proxy-ARP' si elle est
   invoque en mode d'entre, aussi vous n'avez pas  vous soucier
   d'ajouter de telles entres manuellement.

  Configurer /etc/diphosts

   /etc/diphosts est utilis par _dip_ pour examiner des configurations
   prtablies concernant des htes loigns. Ceux-ci peuvent tre des
   htes se connectant sur votre machine, ou bien des machines sur
   lesquelles vous vous connectez.

   Le format gnral de /etc/diphosts est :

 ..
Suwalt::145.71.34.1:145.71.34.2:255.255.255.0:SLIP uwalt:CSLIP,1006
ttyS1::145.71.34.3:145.71.34.2:255.255.255.0:Dynamic ttyS1:CSLIP,296
 ..

   Les champs sont :
    1. nom de connexion : comme retourn par getpwuid(getuid()) ou bien
       le nom de tty.
    2. inutilis : pour compatibilit avec passwd
    3. Adresse distante : adresse IP de l'appelant, soit numrique soit
       nominative
    4. Adresse locale : adresse IP de cette machine, soit numrique soit
       nominative.
    5. Masque de rseau : en notation dcimale pointe
    6. Commentaires : vous y mettez ce que vous voulez.
    7. protocole : Slip, CSlip, etc.
    8. MTU : nombre dcimal

   Un exemple d'entre /etc/net/diphosts pour un hte distant peut tre :

Sfredm::145.71.34.1:145.71.34.2:255.255.255.0:SLIP uwalt:SLIP,296

   qui spcifie une liaison SLIP avec une adresse distante de 145.71.34.1
   et un MTU de 296, ou :

Sfredm::145.71.34.1:145.71.34.2:255.255.255.0:SLIP uwalt:CSLIP,1006

   qui spcifie une liaison compatible cSLIP avec une adresse distante de
   145.71.34.1 et un MTU de 1006.

   Ds lors, tous les utilisateurs  qui vous permettez d'avoir une
   connexion avec allocation d'adresse IP statique auront une entre dans
   /etc/diphosts. Si vous voulez que des utilisateurs qui appellent sur
   un port particulier aient leur adresse alloue dynamiquement, vous
   devez avoir une entre pour le priphrique tty, mais pas d'entre
   pour l'utilisateur lui-mme. Vous devez vous souvenir de configurer au
   moins une entre pour chaque priphrique tty que vos utilisateurs
   entrants utiliseront pour tre srs qu'une configuration adquate soit
   disponible, indpendamment du modem sur lequel ils se connectent.

   Quand un utilisateur se connecte, il recevra une invite normal de
   login et une demande de mot de passe, pour lesquels il devra entrer
   son identificateur SLIP et son mot de passe. Si tout est correct,
   l'utilisateur ne verra pas de message spcial, il devra juste basculer
   en mode SLIP chez lui et ensuite il sera connect et configur avec
   les paramtres contenus dans le fichier diphosts.

  Serveur SLIP utilisant l'ensemble _dSLIP_

   Matt Dillon <dillon@apollo.west.oic.com> a crit un paquetage qui
   permet des liaisons SLIP non seulement entrantes mais aussi sortantes.
   Le paquetage de Matt est une combinaison de petits programmes et de
   scripts qui prennent en charge les connexions  votre place. Vous
   aurez besoin de _tcsh_ car au moins l'un des scripts en a besoin. Matt
   fournit une copie binaire de l'utilitaire _expect_ car il est aussi
   ncessaire pour l'un des scripts. Il serait prfrable d'avoir une
   certaine exprience de _expect_ pour que ce paquetage soit utile pour
   vous, mais que cela ne vous dcourage pas.

   Matt a crit une bonne procdure d'installation dans le fichier
   README, aussi je ne me fatiguerai pas  la rpter.

   Vous pouvez rcuprer le paquetage _dSLIP_ sur son site d'origine :

   _apollo.west.oic.com_

/pub/linux/dillon_src/dSLIP203.tgz

   ou bien sur :

   _metalab.unc.edu_

/pub/Linux/system/Network/serial/dSLIP203.tgz

   Lisez le fichier README et crez les entres /etc/passwd et /etc/group
   _avant_ de faire make install.

8. Autres technologies rseau

   Les paragraphes suivants traitent de sujets spcifiques concernant des
   technologies lies au rseau. Les informations qui y sont contenues ne
   s'appliquent pas forcment aux autres types de technologies rseau.
   Les sujets sont traits par ordre alphabtique.

8.1 ARCNet

   Les noms de fichier priphriques de ARCNet sont `arc0e', `arc1e',
   `arc2e' ... ou bien `arc0s', `arc1s', `arc2s', etc. La premire carte
   dtecte par le noyau devient `arc0e' ou `arc0s' et les autres sont
   nommes en suivant dans l'ordre de leur dtection. La lettre finale
   dpend de votre choix : soit un format d'encapsulation de paquets
   Ethernet, soit un format de paquets suivant RFC1051.

   _Options de compilation du noyau_ :

Network device support  --->
    [*] Network device support
    <*> ARCnet support
    [ ]   Enable arc0e (ARCnet "Ether-Encap" packet format)
    [ ]   Enable arc0s (ARCnet RFC1051 packet format)

   Si vous avez construit convenablement votre noyau pour supporter votre
   carte Ethernet, alors la configuration de la carte est facile.

   Typiquement vous devriez utiliser quelque chose comme ceci :

root# ifconfig arc0e 192.168.0.1 netmask 255.255.255.0 up
root# route add -net 192.168.0.0 netmask 255.255.255.0 arc0e

   Merci de vous rfrer aux documents
   /usr/src/linux/Documentation/networking/arcnet.txt et
   /usr/src/linux/Documentation/networking/arcnet-hardware.txt pour
   d'autres informations.

   Le support ARCNet fut dvelopp par Avery Pennarun,
   apenwarr@foxnet.net.

8.2 Appletalk (AF_APPLETALK)

   Le support Appletalk ne possde pas de noms de priphriques
   spcifiques car il utilise les priphriques rseau existants.

   _Options de compilation noyau_ :

Networking options  --->
    <*> Appletalk DDP

   Le support Appletalk permet  votre machine Linux de dialoguer avec
   les rseaux Apple. Son utilisation principale est de pouvoir partager
   des ressources, comme les imprimantes et les disques, entre vos
   ordinateurs Linux et Apple. Un logiciel supplmentaire est requis, il
   s'appelle _netatalk_. Wesley Craig netatalk@umich.edu reprsente une
   quipe appele le `Research Systems Unix Group'  l'universit du
   Michigan. Celle-ci a labor le paquetage _netatalk_, qui fournit un
   logiciel implmentant la pile protocole Appletalk et quelques
   utilitaires. Soit ce paquetage _netatalk_ vous a t fourni avec votre
   distribution Linux, soit vous pouvez le rcuprer par ftp depuis le
   site University of Michigan

   Pour construire et installer le paquetage, vous faites :

user% cd /usr/src
user% tar xvfz .../netatalk-1.4b2.tar.Z
- Vous pouvez diter le fichier `Makefile'  ce stade, plus
prcisment pour changer la valeur de la variable
 DESTDIR qui dfinit l'endroit o les fichiers seront
installs plus tard.
 Le rpertoire par dfaut, /usr/local/atalk, semble
 trs raisonnable.
user% make
- puis, en temps que root :
root# make install

  Configurer le support Appletalk.

   La premire chose  faire pour que tout fonctionne est de vrifier que
   les entres adquates sont prsentes dans le fichier /etc/services.
   Ces entres sont :

rtmp    1/ddp   # Routing Table Maintenance Protocol
nbp     2/ddp   # Name Binding Protocol
echo    4/ddp   # AppleTalk Echo Protocol
zip     6/ddp   # Zone Information Protocol

   L'tape suivante consiste  crer les fichiers de configuration
   Appletalk dans le rpertoire /usr/local/atalk/etc (ou bien  l'endroit
   o vous avez install le paquetage).

   Le premier fichier  crer est /usr/local/atalk/etc/atalkd.conf.
   Initialement ce fichier ne ncessite qu'une ligne qui indique le
   priphrique supportant le rseau sur lequel sont vos machines Apple :

eth0

   Le programme dmon Appletalk ajoutera d'autres dtails quand il
   tournera.

  Exporter un systme de fichiers Linux avec Appletalk.

   Vous pouvez exporter des systmes de fichiers depuis votre machine
   Linux vers le rseau en sorte qu'une machine Apple puisse les
   partager.

   Pour cela vous devez configurer le fichier
   /usr/local/atalk/etc/AppleVolumes.system. Il y a une autre fichier de
   configuration appel /usr/local/atalk/etc/AppleVolumes.default qui a
   exactement le mme format et qui dcrit quels systmes de fichiers les
   utilisateurs connects pourront recevoir avec des privilges
   d'invits.

   Tous les dtails, qui vous diront comment configurer ces fichiers et
   avec quelles options, peuvent tre trouvs dans la page de manuel de
   _afpd_.

   Un simple exemple :

/tmp Scratch
/home/ftp/pub "Public Area"

   Ce qui exportera votre systme de fichiers /tmp comme volume
   AppleShare `Scratch' et votre rpertoire public ftp comme volume
   AppleShare `Public Area'. Les noms de volume ne sont pas obligatoires,
   le programme dmon pouvant les choisir pour vous, mais a ne cote
   rien de les spcifier quand mme.

  Tester Appletalk.

   Pour tester si le programme fonctionne correctement, allez sur une des
   machines Apple, droulez le menu Pomme, cliquez sur AppleShare, et
   votre bote Linux devrait apparatre.

  Autres informations

   Pour en savoir plus sur la configuration de Appletalk pour Linux,
   rfrez vous  la page de Anders Brownworth _Linux Netatalk-HOWTO_ sur
   thehamptons.com.

8.3 ATM

   Werner Almesberger <werner.almesberger@lrc.di.epfl.ch> dirige un
   projet en vue de fournir un support Mode de Transfert Asynchrone
   (Asynchronous Transfer Mode) pour Linux. Les informations sur l'tat
   du projet se trouvent sur : lrcwww.epfl.ch.

8.4 AX25 (AF_AX25)

   Les noms de priphriques AX.25 sont `sl0', `sl1', etc. avec les
   noyaux 2.0.* ou `ax0', `ax1', etc. avec les noyaux 2.1.*.

   _Options de compilation du noyau_ :

Networking options  --->
    [*] Amateur Radio AX.25 Level 2

   Les protocoles AX25, Netrom et Rose sont couverts par le document
   AX25-HOWTO. Ces protocoles sont utiliss par les radio-amateurs du
   monde entier pour l'exprimentation packet-radio.

   L'essentiel du travail d'implmentation de ces protocoles a t
   ralis par Jonathon Naylor, jsn@cs.nott.ac.uk.

8.5 DECNet

   Le support pour DECNet est en cours d'laboration. Vous devriez le
   voir apparaitre dans l'un des prochains noyaux 2.1.*.

8.6 FDDI (Fiber Distributed Data Interface)

   Les noms de priphriques FDDI sont `fddi0', `fddi1', `fddi2' etc. La
   premire carte dtecte par le noyau s'appelle `fddi0' et le reste est
   nomm dans l'ordre de dtection.

   Larry Stefani, lstefani@ultranet.com, a dvelopp un pilote pour les
   cartes Digital Equipment Corporation FDDI EISA et PCI.

   _Options de compilation noyau_ :

Network device support  --->
    [*] FDDI driver support
    [*] Digital DEFEA and DEFPA adapter support

   Lorsque vous avez construit et install votre noyau pour supporter le
   pilote FDDI, la configuration de l'interface FDDI est presque
   identique  celle d'une interface Ethernet. Vous devez spcifier le
   nom de l'interface FDDI approprie dans les commandes _ifconfig_ et
   _route_.

8.7 Relais de trames (Frame Relay)

   Les noms de priphriques de `relais de trames' sont `dlci00',
   `dlci01' etc pour les systmes d'encapsulation DLCI et `sdla0',
   `sdla1' etc pour les FRAD(s) (Frame Relay Access Device).

   Le relais de trames est une nouvelle technologie rseau conue pour
   s'adapter au trafic de transmission de donnes `par  coups' ou de
   nature intermittente. Vous vous connectez  un rseau de ce type en
   utilisant un dispositif d'accs par relais de trames (FRAD). Les
   supports Linux relais de trames supportent IP par-dessus celui-ci
   comme dcrit dans la RFC-1490.

   _Options de compilation noyau_ :

Network device support  --->
    <*> Frame relay DLCI support (EXPERIMENTAL)
    (24)   Max open DLCI
    (8)   Max DLCI per device
    <*>   SDLA (Sangoma S502/S508) support

   Mike McLagan, mike.mclagan@linux.org, a dvelopp le support Frame
   Relay et les outils de configuration.

    l'heure actuelle le seul FRAD support est Sangoma Technologies
   S502A, S502E et S508.

   Pour configurer les systmes FRAD et DLCI aprs avoir reconstruit
   votre noyau, vous aurez besoin des outils de configuration. Ils sont
   disponibles sur ftp.invlogic.com. Compiler et installer les outils est
   trs facile, mais le manque de fichier Makefile au premier niveau
   oblige  le faire  la main :

user% tar xvfz .../frad-0.15.tgz
user% cd frad-0.15
user% for i in common dlci frad; make -C $i clean; make -C $i; done
root# mkdir /etc/frad
root# install -m 644 -o root -g root bin/*.sfm /etc/frad
root# install -m 700 -o root -g root frad/fradcfg /sbin
root# install -m 700 -o root -g root dlci/dlcicfg /sbin

   Notez que ces commandes utilisent la syntaxe du shell _sh_, et si vous
   utilisez _csh_ (comme _tcsh_), la boucle _for_ sera diffrente.

   Aprs l'installation vous devez crer un fichier /etc/frad/router.conf
   Vous pouvez utiliser cet exemple, qui est une version modifie de l'un
   des fichiers donn en exemple :

# /etc/frad/router.conf
# C'est un modle de configuration pour relais de trames.
# Tout y est inclus. Les valeurs par dfaut sont fondes sur le code
# fourni avec les pilotes DOS de la carte Sangoma S502A.
#
# Une ligne avec '#' est un commentaire
# Les blancs sont ignors (vous pouvez utiliser des tabulations aussi).
# Les sections [] inconnues et les entres inconnues sont ignores.
#

[Devices]
Count=1                 # nombre de priphriques  configurer
Dev_1=sdla0             # nom d'un priphrique
#Dev_2=sdla1            # nom d'un priphrique

# Ce qui est spcifie ici s'applique  tous les priphriques, et peut tre
# mis  jour pour chaque carte individuelle.
#
Access=CPE
Clock=Internal
KBaud=64
Flags=TX
#
# MTU=1500              # Taille maximum de l'unit de transfert 4096 par dfau
t
# T391=10               # valeur de T391  5 - 30, 10 par dfaut
# T392=15               # valeur de T392  5 - 30, 15 par dfaut
# N391=6                # valeur de N391  1 - 255, 6 par dfaut
# N392=3                # valeur de N392  1 - 10,  3 par dfaut
# N393=4                # valeur de N393  1 - 10,  4 par dfaut

# On spcifie ici les valeurs par dfaut pour toutes les cartes
# CIRfwd=16             # CIR forward   1 - 64
# Bc_fwd=16             # Bc forward    1 - 512
# Be_fwd=0              # Be forward    0 - 511
# CIRbak=16             # CIR backward  1 - 64
# Bc_bak=16             # Bc backward   1 - 512
# Be_bak=0              # Be backward   0 - 511


#
#
# Configurations spcifiques
#
#

#
#  Sangoma S502E
#
[sdla0]
Type=Sangoma            # Type de priphrique  configurer, actuellement seul
                        # SANGOMA est reconnu
#
# Spcifique des types 'Sangoma'
#
# cartes S502A, S502E, S508
Board=S502E
#
# Le nom du logiciel de carte en essai pour Sangoma
# Testware=/usr/src/frad-0.10/bin/sdla_tst.502
#
# Le nom du logiciel de carte FR
# Firmware=/usr/src/frad-0.10/bin/frm_rel.502
#
Port=360                # Port pour cette carte particulire
Mem=C8                  # Adresse de fentre mmoire, A0-EE, dpend de la carte
IRQ=5                   # numro d'IRQ, pas ncessaire pour S502A
DLCIs=1                 # Nombre de DLCI attachs  ce priphrique
DLCI_1=16               # numro du premier DLCI, de 16  991
# DLCI_2=17
# DLCI_3=18
# DLCI_4=19
# DLCI_5=20
#
# Ce qui est spcifie ici s'applique au priphrique seulement,
# et remplace les valeurs par dfaut
#
# Access=CPE            # CPE ou NODE,  CPE par dfaut
# Flags=TXIgnore,RXIgnore,BufferFrames,DropAborted,Stats,MCI,AutoDLCI
# Clock=Internal        # Externe ou Interne, Interne par dfaut
# Baud=128              # Dbit spcifi du CSU/DSU attach
# MTU=2048              # Taille maximum de l'unit de transfert 4096 par dfau
t
# T391=10               # valeur de T391   5 - 30, 10 par dfaut
# T392=15               # valeur de T392   5 - 30, 15 par dfaut
# N391=6                # valeur de N391   1 - 255, 6 par dfaut
# N392=3                # valeur de N392   1 - 10,  3 par dfaut
# N393=4                # valeur de N393   1 - 10,  4 par dfaut

#
# Le second periphrique est une autre carte
#
# [sdla1]
# Type=FancyCard        # Type de priphrique  configurer.
# Board=                # Type de carte Sangoma
# Key=Value             # valeurs spcifiques pour ce type de priphrique


#
# Paramtres de configuration DLCI par dfaut.
# Peuvent tre crass par des configurations spcifiques
#
CIRfwd=64               # CIR forward   1 - 64
# Bc_fwd=16             # Bc forward    1 - 512
# Be_fwd=0              # Be forward    0 - 511
# CIRbak=16             # CIR backward  1 - 64
# Bc_bak=16             # Bc backward   1 - 512
# Be_bak=0              # Be backward   0 - 511

#
# Configuration DLCI
# Optionnel. La convention d'appellation est
# [DLCI_D<devicenum>_<DLCI_Num>]
#

[DLCI_D1_16]
# IP=
# Net=
# Mask=
# Drapeaux dfinis par Sangoma: TXIgnore,RXIgnore,BufferFrames
# DLCIFlags=TXIgnore,RXIgnore,BufferFrames
# CIRfwd=64
# Bc_fwd=512
# Be_fwd=0
# CIRbak=64
# Bc_bak=512
# Be_bak=0

[DLCI_D2_16]
# IP=
# Net=
# Mask=
# Drapeaux dfinis par Sangoma: TXIgnore,RXIgnore,BufferFrames
# DLCIFlags=TXIgnore,RXIgnore,BufferFrames
# CIRfwd=16
# Bc_fwd=16
# Be_fwd=0
# CIRbak=16
# Bc_bak=16
# Be_bak=0

   Lorsque vous avez construit votre fichier /etc/frad/router.conf, la
   seule tape restante est de configurer les priphriques eux-mmes.
   C'est un tout petit peu plus compliqu que la configuration normale
   d'un priphrique rseau; vous devez vous souvenir de monter le
   priphrique FRAD avant les priphriques d'encapsulation DLCI.

#!/bin/sh
# Configure le materiel frad et les parametres DLCI
/sbin/fradcfg /etc/frad/router.conf || exit 1
/sbin/dlcicfg file /etc/frad/router.conf
#
# Montage du dispositif FRAD
ifconfig sdla0 up
#
# Configure les interfaces d'encapsulation DLCI et le routage
ifconfig dlci00 192.168.10.1 pointopoint 192.168.10.2 up
route add -net 192.168.10.0 netmask 255.255.255.0 dlci00
#
ifconfig dlci01 192.168.11.1 pointopoint 192.168.11.2 up
route add -net 192.168.11.0 netmask 255.255.255.0 dlci00
#
route add default dev dlci00
#

8.8 IPX (AF_IPX)

   Le protocole IPX est la plupart du temps utilis dans les
   environnements rseaux locaux Novell NetWare(tm). Linux offre un
   support pour ce protocole, et peut tre configur pour agir comme
   extrmit rseau, ou comme routeur pour les environnements rseaux
   IPX.

   _Options de compilation du noyau_ :

Networking options  --->
    [*] The IPX protocol
    [ ] Full internal IPX network

   Le protocole IPX et le NCPFS sont traits en dtail dans le document
   IPX-HOWTO.

8.9 NetRom (AF_NETROM)

   Les noms de priphriques NetRom sont `nr0', `nr1', etc.

   _Options de compilation du noyau_ :

Networking options  --->
    [*] Amateur Radio AX.25 Level 2
    [*] Amateur Radio NET/ROM

   Les protocoles AX25, Netrom et Rose sont dcrits dans le document
   AX25-HOWTO. Ces protocoles sont utiliss par les radio-amateurs dans
   le monde entier pour l'exprimentation du packet-radio.

   L'essentiel du travail d'implmentation a t fait par Jonathon
   Naylor, jsn@cs.not.ac.uk.

8.10 Protocole Rose (AF_ROSE)

   Les noms de priphriques Rose sont `rs0', `rs1', etc. . Rose est
   disponible dans la srie des noyaux 2.1.*.

   _Options de compilation du noyau_ :

Networking options  --->
    [*] Amateur Radio AX.25 Level 2
    <*> Amateur Radio X.25 PLP (Rose)

   Les protocoles AX25, Netrom et Rose sont expliqus dans le AX25-HOWTO.
   Ces protocoles sont utiliss par les oprateurs radio-amateur du monde
   entier pour l'exprimentation du packet-radio.

   L'essentiel du travail d'implmentation de ces protocoles a t
   ralis par Jonathon Naylor, jsn@cs.not.ac.uk.

8.11 Support SAMBA - `NetBEUI', `NetBios', `CIFS'.

   SAMBA est une implmentation du protocole Session Management Block.
   Samba permet aux Systmes Microsoft et autres de monter et d'utiliser
   vos disques et imprimantes.

   SAMBA et sa configuration sont dcrits en dtail dans le SMB-HOWTO.

8.12 Support STRIP (Starmode Radio IP)

   Les noms de priphriques STRIP sont `st0', `st1', etc.

   _Options de compilation du noyau_ :

Network device support  --->
        [*] Network device support
        ....
        [*] Radio network interfaces
        < > STRIP (Metricom starmode radio IP)

   STRIP est un protocole conu spcialement pour un certain type de
   modems radio Metricom dans le cadre d'un projet de recherche conduit
   par l'Universit de Stanford appel MosquitoNet Project. Il y a un tas
   de choses intressantes  lire, mme si vous n'tes pas directement
   concern par le projet.

   Les radios Metricom se connectent sur un port srie et emploient la
   technologie  large bande spectrale et peuvent aller jusqu' 100kbps.
   Des informations sur ceux-ci sont disponibles sur : Le serveur web de
   Metricom.

    l'heure actuelle, les outils rseau habituels ne supportent pas le
   pilote STRIP, vous devez donc tlcharger des outils personnaliss 
   partir du serveur web MosquitoNet. Pour avoir des dtails sur les
   logiciels  utiliser allez voir : MosquitoNet STRIP Page.

   En rsum la configuration consiste  utiliser un programme _slattach_
   modifi pour rgler la discipline de ligne d'un priphrique srie
   pour SLIP, puis  configurer le priphrique `st[0-9]' rsultant comme
   vous le feriez pour Ethernet avec une exception importante : pour des
   raisons techniques STRIP ne supporte pas le protocole ARP , vous devez
   alors configurer manuellement les entres ARP pour chacun des htes de
   votre sous-rseau. Cela ne devrait pas tre trop contraignant.

8.13 Token Ring

   Le noms de priphriques Token ring sont `tr0', `tr1' etc. Token Ring
   est un protocole LAN standard IBM en vue d'viter les collisions en
   fournissant un mcanisme qui n'autorise qu'une seule station du LAN 
   transmettre  un moment donn. Un `jeton' est dtenu par une station 
   un moment donn, et celle-ci est la seule autorise  mettre. Lorque
   c'est fait, elle passe le jeton  la station suivante. Le jeton fait
   le tour de toutes les stations actives, d'o le nom de `Token Ring'
   (anneau  jeton).

   _Options de compilation du noyau_ :

Network device support  --->
        [*] Network device support
        ....
        [*] Token Ring driver support
        < > IBM Tropic chipset based adaptor support

   La configuration de token ring est identique  celle de l'Ethernet 
   l'exception du nom de priphrique rseau  configurer.

8.14 X.25

   X.25 est un protocole de circuit bas sur la commutation de paquets
   dfini par le C.C.I.T.T. (un groupe de normalisation reconnu par les
   compagnies de tlcommunications dans la plupart du monde). Une
   implmentation de X.25 et LAPB est en cours dans les noyaux rcents
   2.1.*.

   Jonathon Naylor jsn@cs.nott.ac.uk dirige le dveloppement et une liste
   de diffusion a t cre pour discuter des affaires relatives  X.25
   pour Linux. Pour y souscrire, envoyez un message  :
   majordomo@vger.rutgers.edu avec le texte "subscribe linux-x25" dans le
   corps du message.

   Les dernires versions des outils de configuration peuvent tre
   obtenues sur le site ftp de Jonathon  ftp.cs.nott.ac.uk.

8.15 Carte WaveLan

   Les noms de priphriques Wavelan sont `eth0', `eth1', etc.

   _Options de compilation du noyau_ :

Network device support  --->
        [*] Network device support
        ....
        [*] Radio network interfaces
        ....
        <*> WaveLAN support

   La carte WaveLAN est une carte LAN sans-fil  large bande. Elle
   ressemble beaucoup en pratique  une carte Ethernet et se configure
   presque de la mme manire.

   Vous pouvez avoir des informations sur la carte Wavelan sur
   Wavelan.com.

9. Cbles et cblages

   Ceux qui sont habiles du fer  souder peuvent vouloir fabriquer leurs
   propres cbles pour relier deux machines Linux. Les schmas de cblage
   suivants pourront les y aider.

9.1 Cble srie NULL Modem

   Tous les cbles NULL modem ne se ressemblent pas. Beaucoup ne font que
   faire croire  votre ordinateur que tous les signaux appropris sont
   prsents et changent les donnes de transmission et de rception.
   C'est bien, mais cela signifie que vous devez utiliser le contrle de
   flux logiciel (XON/XOFF) qui est moins efficace que le contrle de
   flux matriel. Le cble suivant donne la meilleure transmission de
   signal entre les deux machines et vous permet d'utiliser le contrle
   de flux matriel (RTS/CTS).

Pin Name  Pin                               Pin
Tx Data    2  -----------------------------  3
Rx Data    3  -----------------------------  2
RTS        4  -----------------------------  5
CTS        5  -----------------------------  4
Ground     7  -----------------------------  7
DTR        20 -\---------------------------  8
DSR        6  -/
RLSD/DCD   8  ---------------------------/-  20
                                         \-  6

9.2 Cble port parallle (cble PLIP)

   Si vous avez l'intention d'utiliser le protocole PLIP entre deux
   machines alors ce cble vous conviendra indpendamment du type de port
   parallle install.

Pin Name    pin            pin
STROBE      1*
D0->ERROR   2  ----------- 15
D1->SLCT    3  ----------- 13
D2->PAPOUT  4  ----------- 12
D3->ACK     5  ----------- 10
D4->BUSY    6  ----------- 11
D5          7*
D6          8*
D7          9*
ACK->D3     10 ----------- 5
BUSY->D4    11 ----------- 6
PAPOUT->D2  12 ----------- 4
SLCT->D1    13 ----------- 3
FEED        14*
ERROR->D0   15 ----------- 2
INIT        16*
SLCTIN      17*
GROUND      25 ----------- 25

   Notes :
     * Ne pas connecter les broches marques avec un astrisque `*'.
     * Les masses supplmentaires sont 18,19,20,21,22,23 et 24.
     * Si le cble que vous utilisez possde un blindage, il doit tre
       connect  une des prises DB-25 et _une seule_.

   _Attention : un cble PLIP mal branch peut dtruire votre carte
   contrleur_. Soyez attentifs et vrifiez chaque connexion deux fois
   pour tre sr de ne pas vous crer de travail inutile ou de gros
   ennuis. Bien que l'on puisse utiliser des cbles PLIP sur des longues
   distances, vitez-le si possible. Les spcifications du cble
   permettent d'avoir une longueur d'environ 1 mtre. Faites attention si
   vous utilisez de grandes longueurs, car les sources de champs
   magntiques levs comme la foudre, les lignes de puissance et les
   metteurs radio peuvent interfrer et parfois endommager votre carte
   contrleur. Si vous voulez vraiment connecter deux de vos ordinateurs
   sur une grande distance, utilisez plutt des cartes Ethernet et un
   cble coaxial.

9.3 Cblage Ethernet 10base2 (coaxial fin)

   10base2 est un standard de cblage Ethernet spcifiant l'utilisation
   d'un cble coaxial 52 ohms avec un diamtre d'environ 5 mm. Il faut se
   souvenir d'un nombre important de rgles quand on relie deux machines
   avec un cblage 10base2. La premire est que vous devez utiliser des
   terminaisons _ chaque extrmit_ du cble. Un terminateur est une
   rsistance de 52 ohms qui sert  s'assurer que le signal est absorb
   et non rflchi  l'extrmit du cble. Sans terminaison  chaque
   extrmit vous pourriez trouver que l'Ethernet n'est pas fiable ou ne
   marche pas du tout. Normalement vous utilisez des `T' pour
   interconnecter les machines, en sorte que vous finirez par avoir
   quelque chose qui ressemble  ceci :

 |==========T=============T=============T==========T==========|
            |             |             |          |
            |             |             |          |
          -----         -----         -----      -----
          |   |         |   |         |   |      |   |
          -----         -----         -----      -----

   Les `|'  chaque extrmit reprsentent une terminaison, les `======'
   reprsentent une longueur de cble coaxial avec des prises BNC en bout
   et les `T' reprsentent un connecteur en `T'. Gardez la longueur de
   cble entre les connecteurs en `T' et les cartes Ethernet aussi courte
   que possible, l'idal tant que ces connecteurs soient branchs
   directement sur la carte Ethernet.

9.4 Cblage Ethernet  paires torsades

   Si vous n'avez que deux cartes Ethernet avec paires torsades et que
   vous voulez les relier, vous n'avez pas besoin de rpartiteur. Vous
   pouvez cbler les deux cartes directement ensemble. Un schma montrant
   comment faire est inclus dans le document Ethernet-HOWTO

10. Glossaire des termes utiliss dans ce document.

   Ci-dessous une liste des termes les plus importants utiliss dans ce
   document.

   _ARP_
          C'est l'acronyme de _Address Resolution Protocol_ (protocole de
          rsolution d'adresses), permettant  une machine du rseau
          d'associer une adresse IP  une adresse matrielle.

   _ATM_
          C'est l'acronyme de _Asynchronous Transfer Mode_ (mode de
          transfert asynchrone). Un rseau ATM enveloppe les donnes en
          blocs de taille standard pour pouvoir les convoyer efficacement
          d'un point  un autre. ATM est une technologie rseau 
          commutation de paquets.

   _client_
          C'est habituellement le morceau de logiciel d'un systme du
          ct o se trouve l'utilisateur. Il y a des exceptions, par
          exemple, dans le systme de fentres X11 c'est en fait le
          serveur qui est avec l'utilisateur et le client qui est sur la
          machine distante. Le client est le programme ou l'extrmit
          d'un systme qui utilise le service fourni par un serveur. Dans
          le cas de systmes _d'gal  gal_ tels que _slip_ ou _ppp_ le
          client se trouve  l'extrmit qui a initialis la connexion,
          l'autre extrmit, tant considre comme le serveur.

   _datagramme_
          Un datagramme est un paquet discret de donnes qui contient les
          adresses, et qui est l'unit de base de transmission sur un
          rseau IP. On peut aussi l'appeler `paquet'.

   _DLCI_
          DLCI veut dire `Data Link Connection Identifier'(identifieur de
          connexion de liaison de donnes), et est utilis pour
          identifier une liaison virtuelle unique point  point via un
          rseau  relais de trames (Frame Relay). Les DLCI sont
          normalement assigns par le fournisseur de rseau  relais de
          trames.

   _Relais de trames_
          Frame Relay (Relais de trames) est une technologie rseau
          idale lorsque l'on a un trafic de nature cahotique ou
          sporadique. Les cots peuvent tre rduits quand on a de
          nombreux clients partageant la mme capacit rseau et on
          compte sur le fait que les clients utilisent le rseau  des
          instants diifrents.

   _Adresse matrielle_
          C'est un nombre qui identifie de manire unique un hte sur un
          rseau physique au niveau de la couche accs. Par exemple :
          _Adresses Ethernet_ et _Adresses AX.25_.

   _ISDN_
          C'est l'acronyme de _Integrated Services Digital
          Network_(Rseau Numrique  Intgration de Services=RNIS). Il
          fournit des moyens standardiss avec lesquels les compagnies de
          tlcommunications peuvent dlivrer soit de la voix soit des
          informations vers des clients. Techniquement c'est un rseau de
          donnes  commutation de paquets.

   _ISP_
          C'est l'acronyme de `Internet Service Provider' (fournisseur
          d'accs  l'Internet=FAI). Ce sont des organisations ou des
          socits qui fournissent une connexion rseau  l'Internet au
          public.

   _Adresse IP_
          C'est un nombre qui identifie de manire unique un hte TCP/IP
          sur le rseau. Cette adresse est code sur 4 octets et se
          prsente habituellement sous la forme appele "notation
          dcimale pointe", o chaque octet est sous forme dcimale,
          avec un point `.' entre chaque.

   _MSS_
          Le Maximum Segment Size (_MSS_) (Taille Maximum de Segment) est
          la plus grande quantit de donnes qui peut tre transmise en
          une seule fois. Si vous voulez viter des fragmentations MSS
          doit tre gal  l'en-tte MTU-IP.

   _MTU_
          Le Maximum Transmission Unit (_MTU_) (taille maximum de l'unit
          de transfert) est un paramtre qui dtermine le plus long
          datagramme pouvant tre transmis par une interface IP sans
          avoir besoin d'tre fragment en units plus petites. Le MTU
          doit tre plus grand que le datagramme le plus grand que vous
          voulez transmettre sans tre fragment. Note : ceci protge de
          la fragmentation uniquement de manire locale, d'autres liens
          sur le chemin peuvent avoir un MTU plus petit et les
          datagrammes seront fragments  cet endroit. Les valeurs
          typiques sont de 1500 octets pour une interface Ethernet, ou de
          576 octets pour une interface SLIP.

   _route_
          La _route_ est le chemin que les datagrammes suivent  travers
          le rseau pour atteindre leur destination.

   _serveur_
          C'est habituellement le morceau de logiciel ou l'extrmit d'un
          systme loign de l'utilisateur. Le serveur fournit un service
          vers un ou plusieurs clients. Des exemples de serveurs sont
          _ftp_, _Networked File System_ (NFS), ou _Domain Name Server_
          (DNS). Dans le cas de systmes _gal  gal_ comme _SLIP_ ou
          _PPP_ le serveur est considr comme tant l'extrmit de la
          liaison qui est appele et l'extrmit appeleante est le
          client.

   _fentre_
          La _fentre_ (window) est la plus grande quantit de donnes
          que l'extrmit rceptrice peut accepter  un certain moment.

11. Linux pour un fournisseur d'accs  l'Internet ?

   Si vous tes intresss par l'utilisation de Linux  des fins de
   fourniture d'accs Internet, je vous recommande de consulter la page
   ISP Linux pour une bonne liste de pointeurs vers les informations dont
   vous pourriez avoir besoin.

12. Remerciements

   Je voudrais remercier les personnes suivantes pour leur contribution 
   ce document (sans ordre particulier) : Terry Dawson, Axel Boldt, Arnt
   Gulbrandsen, Gary Allpike, Cees de Groot, Alan Cox, Jonathon Naylor,
   Claes Ensson, Ron Nessim, John Minack, Jean-Pierre Cocatrix, Erez
   Strauss.

13. Copyright.

   _Informations de copyright_

   Le document NET-3-HOWTO donne des informations concernant
   l'installation et la configuration du support rseau pour Linux.
   Copyright (c) 1997 Terry Dawson, 1998 Alessandro Rubini, 1999 {POET} -
   LinuxPorts

   Celui-ci est libre ; vous pouvez le redistribuer et/ou le modifier
   selon les termes de la GNU General Public License telle que publie
   par la Free Software Foundation ; soit avec la version 2 de la
   license, soit ( votre guise) avec une version ultrieure.

   Ce document est distribu avec l'espoir qu'il sera utile, mais SANS
   AUCUNE GARANTIE ; ni mme la garantie implicite de COMMERCIALISATION
   ou D'ADAPTATION DANS UN BUT PARTICULIER. Voir la GNU General Public
   License pour plus de dtails.

   Vous devriez recevoir une copie de la GNU General Public License avec
   ce document ; si ce n'est pas le cas, crivez  :

   Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139,
   USA.

14. Note du traducteur

   Voir les autres HOWTO traduits en franais. Lire galement le livre
   Administration rseau sous Linux, ditions O'Reilly. Enfin voyez le
   site www.linux-france.com o vous trouverez de trs bons articles
   dcrivant en dtail diffrents points voqus dans ce document.
