
Linux Networking HOWTO

Joshua Drake

   Copyright  2000 Commandprompt, Inc

   v1.7.0, 29 Dcembre 2000

   Ceci un document LinuxPorts.Com Document pour le LDP (Linux
   Documentation Project : Projet de Documentation pour Linux).Il a t
   soutenu en partie par le Open Source Documentation Fund.

   La version actuelle est la 1.7.0, qui est une mise  jour mineure avec
   quelques corrections grammaticales.

   (Traduction et trahison de Jacques.Chion@wanadoo.fr, un grand merci 
   Jean-Albert Ferrez, Bernard Choppy, ric Dumas et Jean-Paul Chiron
   pour leur aide).

   NdT : Dans cette version, l'auteur fait appel trs souvent  la
   gnrosit publique. Trop  mon got. J'ai laiss volontairement ces
   appels, car ce n'est pas le but d'un traducteur de dnaturer l'esprit
   d'un document.  vous de juger.
     _________________________________________________________________

   _Table of Contents_
   1. Comment puis-je apporter mon aide?

        1.1. Prter son concours au Net-HOWTO

   2. Historique du document

        2.1. Retour d'informations

   3. Comment utiliser ce document.

        3.1. Les conventions utilises dans ce document

   4. Informations gnrales concernant le rseau sous Linux.

        4.1. Informations sur la couche rseau de Linux.
        4.2. O obtenir des informations sur le rseau, non spcifiques
                de Linux.

   5. Informations gnrales concernant la configuration rseau

        5.1. De quoi ai-je besoin pour dmarrer ?
        5.2. O mettre les commandes de configuration ?
        5.3. Crer vos interfaces rseau
        5.4. Configurer une interface rseau. Noyaux 2.0 et 2.2
        5.5. Configurer votre solveur de noms
        5.6. Configurer votre interface loopback
        5.7. Routage
        5.8. Configurer vos serveurs rseau et les services.
        5.9. Autres fichiers de configuration ayant un rapport avec le
                rseau

        5.10. Scurit rseau et contrle d'accs

   6. Informations sur Ethernet

        6.1. Cartes Ethernet supportes
        6.2. Informations gnrales sur Ethernet
        6.3. Utiliser plusieurs cartes Ethernet sur la mme machine

   7. Informations relatives  l'IP

        7.1. Options au niveau du noyau
        7.2. EQL - galiseur de charge  lignes multiples
        7.3. Enregistrement IP (IP Accounting) (pour Linux-2.0)
        7.4. IP Aliasing
        7.5. IP Pare-feu (Firewall) (pour Linux-2.0)
        7.6. Encapsulation IPIP
        7.7. IP Masquerade
        7.8. IP Transparent Proxy
        7.9. IPv6
        7.10. Sources de documentation pour IPv6 sous Linux
        7.11. IP Mobile
        7.12. Multicast
        7.13. Mise en forme du trafic - Changer la bande passante alloue

   8. DHCP et DHCPD

        8.1. Rglage d'un client DHCP pour les utilisateurs de LinuxConf
        8.2. Rglage d'un serveur DHCP sous Linux

   9. Routage avanc avec Linux-2.2

        9.1. Les bases
        9.2. Ajouter une route avec les nouveaux outils ip
        9.3. Utiliser NAT avec le noyau 2.2

   10. Les commandes IP pour les noyaux 2.2 (travail en cours)

        10.1. ip

   11. Utilisation du matriel courant pour PC

        11.1. RNIS
        11.2. PLIP pour Linux-2.0
        11.3. PPP
        11.4. Client SLIP (Antique)

   12. Autres technologies rseau

        12.1. ARCNet
        12.2. Appletalk (AF_APPLETALK)
        12.3. ATM
        12.4. AX25 (AF_AX25)
        12.5. DECNet
        12.6. FDDI (Fiber Distributed Data Interface)
        12.7. Relais de trames (Frame Relay)
        12.8. IPX (AF_IPX)
        12.9. NetRom (AF_NETROM)
        12.10. Protocole Rose (AF_ROSE)
        12.11. Support SAMBA - `NetBEUI', `NetBios', `CIFS'.
        12.12. Support STRIP (Starmode Radio IP)
        12.13. Token Ring
        12.14. X.25
        12.15. Carte WaveLan

   13. Cbles et cblages

        13.1. Cble srie NULL Modem
        13.2. Cble port parallle (cble PLIP)
        13.3. Cblage Ethernet 10base2 (coaxial fin)
        13.4. Cblage Ethernet  paires torsades

   14. Glossaire des termes utiliss dans ce document.
   15. Auteurs :

        15.1. Actuels
        15.2. Passs

   16. Copyright.
     _________________________________________________________________

Chapter 1. Comment puis-je apporter mon aide?

   Nous essayons de fournir un ensemble d'informations pour la
   comprhension de toutes les implantations de rseaux sous Linux.
   Cependant, cela consomme du temps, et ce document n'est pas une source
   de revenu. Nous fournissons ces informations en esprant que ce sera
   utile  la communaut Linux et aux nouveaux convertis  Linux. Nous
   sommes toujours intresss par les retours d'information! Nous
   ajouterons autant que possible tout sujet pertinent dans ce document.
     _________________________________________________________________

1.1. Prter son concours au Net-HOWTO

   Si vous vouler apporter votre aide, il existe deux voies qui sont d'un
   trs grand secours.

     * Achetez un livre OpenBook! Si vous achetez des livres OpenDocs,
       OpenDocs Publishing rtrocdera une partie de la somme au Fond de
       Documentation Open Source (Open Source Documentation Fund).
       Celui-ci aide les auteurs financirement afin qu'ils continuent 
       crire de la documentation pour les projets Open Source.
     * _Contribuer financirement au document_. Avec cette contribution,
       vous pouvez mme demander ce que vous voudriez voir mis  jour,
       crit, ou dvelopp dans le document. Pour participer
       financirement, contactez s'il vous plat Command Prompt, Inc. ou
       Joshua Drake.
     * Si vous avez crit quelque chose sur un sujet auquel vous voudriez
       apporter votre contribution, envoyez un courrier lectronique 
       poet@linuxports.com
     _________________________________________________________________

Chapter 2. Historique du document

   Le premier document NET-FAQ fut crit par Matt Welsh et Terry Dawson.
   Il rpondait aux questions frquemment poses au sujet des rseaux
   sous Linux, au moment o le LPD (Linux Documentation Project)
   dmarrait tout juste. 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. 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.

   Si vous trouvez des erreurs ou bien si vous dsirez que l'on ajoute
   quelque chose, contactez nous.

   Ceci vous a intress ? Pourquoi ne pas donner 2,50 dollars?
     _________________________________________________________________

Chapter 3. Comment utiliser ce document.

   Ce document est organis de manire  tre lu progressivement. Les
   premires sections traitent d'informations sur le matriel et peuvent
   tre sautes si cela ne vous intresse pas. Puis vous trouverez une
   discussion gnrale sur les rseaux, et vous devez tre certains de
   l'avoir assimile avant de poursuivre vers les paragraphes plus
   spcifiques. Le reste traite l'aspect plus technique, et est regroup
   en trois parties principales : informations sur Ethernet et IP, les
   technologies concernant 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, ou presque, technologie
          dcrite plus loin et il est donc important que vous les ayez
          comprises. D'autre part, j'espre que de nombreux 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 convention spciale utilise dans ce document, mais
   vous devez faire attention  la faon dont les commandes sont
   spcifies. En consultant 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 super-utilisateur (root). Je
   prfre 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 l'utilisation
   de certaines options, faites tourner le programme une fois. Cela ne
   peut que vous aider.

   Ceci vous a intress? Pourquoi ne pas donner 2,50 dollars?
     _________________________________________________________________

Chapter 4. Informations gnrales concernant le rseau sous Linux.

4.1. Informations sur la couche rseau de Linux.

   Il existe 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 http://www.linuxports.com/.

   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.

   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

   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.

   Ceci vous a intress? Pourquoi ne pas donner 2,50 dollars?
     _________________________________________________________________

4.2. 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 :

   "_ Inter Networking 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. Un grand nombre sont des sites
   ftp, d'autres fournissent des accs WWW avec un moteur de recherche
   qui fouille dans les bases de donnes RFC avec des mots-cls
   particuliers.

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

   Ceci vous a intress? Pourquoi ne pas donner 2,50 dollars?
     _________________________________________________________________

Chapter 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 :
     _________________________________________________________________

5.1.1. Sources du noyau rcents (Optionnel).

    noter:

   La majorit des distributions actuelles sont livres avec l'option
   rseau active, de 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 gre 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 de nombreux 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, n'utilisez pas de noyau en dveloppement.
     _________________________________________________________________

5.1.2. Adresses IP : une explication.

   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 se peut 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 un `AND 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 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; (appele passerelle sous Windows)
          + 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
- - - - - - - - - - - - - - - - - - - - - - -

   Ceci vous a intress? Pourquoi ne pas donner 2,50 dollars?
     _________________________________________________________________

5.3. Crer vos interfaces rseau

   Sur un grand nombre 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 automatiquement
   cr par le gestionnaire de priphrique lors de son initialisation
   par le noyau. Par exemple le pilote Ethernet cre les interfaces
   eth[0..n] une par une lorsqu'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.

   Ceci vous a intress? Pourquoi ne pas donner 2,50 dollars?
     _________________________________________________________________

5.4. Configurer une interface rseau. Noyaux 2.0 et 2.2

   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.

   Avec les versions 2.2 du noyau, il y a un certain nombre d'options que
   nous n'avons pas numres ci-dessus. Parmi les plus intressantes,
   citons le tunneling et les options IPV6. Voici les paramtres ifconfig
   pour les noyaux 2.2.

   interface
          Le nom de l'interface. C'est habituellement le nom d'un
          gestionnaire de priphrique suivi par un numro d'unit, par
          exemple eth0 pour la premire interface Ethernet.

   up
          Ceci provoque l'activation de l'interface. C'est implicitement
          spcifi si un adresse est affecte  l'interface.

   down
          Ceci provoque la dsactivation de l'interface.

   [-]arp
          Active ou dsactive l'utilisation du protocole ARP sur
          l'interface considre.

   [-]promisc
          Active ou dsactive le mode promiscuous sur l'interface. S'il
          est choisi, tous les paquets du rseau seront reus par
          l'interface.

   [-]allmulti
          Active ou dsactive le mode all-multicast. S'il est choisi
          tous les paquets multicast du rseau seront reus par
          l'interface.

   metric N
          Ce paramtre positionne le paramtre metric de l'interface.

   mtu N
          Ce paramtre positionne le Maximum Transfer Unit (MTU) d'une
          interface.

   dstaddr addri
          Positionne l'adresse IP distante d'un lien point--point (tel
          que PPP). Ce mot-cl est maintenant obsolte; utilisez  la
          place le mot-cl pointopoint.

   netmask addr
          Positionne le masque de rseau IP de l'interface. Donne les
          valeurs par dfaut pour les classes habituelles de masque
          rseau A, B ou C (provenant de l'adresse IP de l'interface),
          mais on peut donner n'importe quelle valeur.

   add addr prefixlen
          Ajoute un adresse IPv6  l'interface.

   del addr prefixlen
          Enlve une adresse IPv6 de l'interface.

   tunnel aa.bb.cc.dd
          Cre un nouveau priphrique SIT (IPv6-in-IPv4), tunnelling
          vers une destination donne.

   irq addr
          Positionne l'interruption utilise par ce priphrique. Tous
          les priphriques ne sont pas capables de changer d'IRQ de
          manire dynamique.

   io_addr addr
          Positionne l'adresse d'entre-sortie du priphrique.

   mem_start addr
          Positionne l'adresse de dbut de la mmoire partage utilise
          par le priphrique. Seuls quelques priphriques en ont
          besoin.

   media type
          Positionne le port physique ou bien le type de matriel qui
          doit tre utilis par le priphrique. Tous les priphriques
          ne peuvent pas changer ce rglage, et ceux qui peuvent le faire
          diffrent quant aux valeurs qui peuvent leur tre assignes.
          Les valeurs typiques pour sont 10base2 (thin Ethernet), AUI
          (transceiver externe) et autres. La valeur spciale auto peut
          tre utilise pour dire au gestionnaire de priphrique de
          dtecter automatiquement le priphrique. Encore une fois tous
          les gestionnaires de priphrique ne peuvent faire ceci.

   [-]broadcast [addr]
          Si une adresse est donne en argument, positionne l'adresse de
          protocole de diffusion de l'interface. Autrement, positionne
          (ou efface) le drapeau IFF_BROADCAST de l'interface.

   [-]pointopoint [addr]
          Autorise le mode point--point pour l'interface, ce qui
          signifie qu'il existe un lien direct entre deux machines sans
          que quelqu'un d'autre puisse tre  l'coute. Si une adresse
          est donne comme argument, positionne l'adresse protocole 
          l'autre extrmit du lien, tout comme le faisait la commande
          dstaddr, devenue obsolte. Autrement, positionne ou efface le
          drapeau IFF_POINTTOPOINT de l'interface.

   hw class address
          Positionne l'adresse matrielle de l'interface, si le
          gestionnaire de priphrique supporte cela. Le mot-cl doit
          tre suivi par le nom de la classe matrielle et l'quivalent
          ASCII de l'adresse matrielle. Les classes matrielles
          actuellement supportes sont ether (Ethernet), ax25 5AMPR
          AX.25), ARCnet et netrom (AMPR NET/ROM).

   multicast
          Positionne le drapeau multicast de l'interface. Normalement on
          n'en a pas besoin tant donn que les gestionnaires de
          priphrique positionne eux-mmes le drapeau correctement.

   address
          L'adresse IP que l'on doit assigner  l'interface.

   txqueuelen length
          Positionne la longueur de la file de transmission du
          priphrique. Il est prfrable de la mettre  une valeure
          faible pour les priphriques les plus lents ayant une latence
          (liens modem, ISDN) pour empcher que les grosses masses de
          transferts comme telnet perturbent le trafic sur l'interface.

          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.

   Ceci vous a intress? Pourquoi ne pas donner 2,50 dollars?
     _________________________________________________________________

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.
     _________________________________________________________________

5.5.1. 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 et 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 beaucoup 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.
     _________________________________________________________________

5.5.2. 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_'. 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.
     _________________________________________________________________

5.5.3. /etc/resolv.conf

   Le fichier /etc/resolv.conf est le fichier principal de configuration
   de la rsolution de noms. 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.

   name server
          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
name server 192.168.10.1
name server 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.
     _________________________________________________________________

5.5.4. /etc/host.conf

   Le fichier /etc/host.conf sert  configurer certaines choses en vue de
   modifier le comportement du solveur de noms. Son format est dcrit en
   dtail dans la page de manuel `resolv+'. Dans le plupart des cas
   l'exemple suivant vous conviendra :


order hosts,bind
multi on

   Cette configuration indique au solveur de nom de vrifier en premier
   lieu le fichier /etc/hosts avant d'essayer un serveur de noms. Cela
   permet aussi au rsolveur de nom de renvoyer toutes les adresses
   valables d'un hte trouv dans le fichier /etc/hosts au lieu d'en
   donner simplement la premire.
     _________________________________________________________________

5.5.5. /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 si l'adresse de cet
   hte a chang, vous devez tenir votre fichier  jour. 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).
     _________________________________________________________________

5.5.6. Faire tourner un serveur de noms

   Si vous voulez faire tourner un serveur de nom local, vous pouvez le
   faire facilement. Voyez le le DNS-HOWTO ainsi que 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.

   Ceci vous a intress? Pourquoi ne pas donner 2,50 dollars?
     _________________________________________________________________

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 fonctionne 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 ?

   Il 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 `defaut'. 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' qui concernent 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.
     _________________________________________________________________

5.7.1. 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. Les htes sur le segment A (voir le diagramme ci-dessus) ne
   peuvent pas atteindre les htes sur le segment B : 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.

   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 de 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 existe deux fichiers importants qui doivent tre configurs :
   /etc/services qui assigne des noms aux numros de port et
   /etc/inetd.conf qui sert pour la configuration du dmon de rseau
   _inetd_ .
     _________________________________________________________________

5.8.1. /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..

   aliases
          Autres noms qui peuvent tre utiliss pour se rfrer  un
          service.

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

5.8.1.1. 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: Net-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.
     _________________________________________________________________

5.8.2. /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. Voici les valeurs qui sont autorises :
          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 de nombreux serveurs ont besoin des privilges de
          root pour tourner correctement.

   chemin_de_serveur
          ce champ est le vritable chemin d'accs au programme.

   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.
     _________________________________________________________________

5.8.2.1. 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 de nombreux fichiers relatifs  la configuration rseau sous
   Linux et qui sont 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.
     _________________________________________________________________

5.9.1. /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: Net-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
     _________________________________________________________________

5.9.2. /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

   Vous obtiendrez le nom du rseau (et NON son adresse) en utilisant une
   commande telle que _route_ dans l'exemple suivant : la destination est
   un rseau, et ce rseau possde une entre dans le fichier
   /etc/networks.
     _________________________________________________________________

5.10. Scurit rseau et contrle d'accs

   Laissez-moi commencer ce paragraphe en vous avertissant 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 un grand nombre d'excellentes rfrences sur
   l'Internet qui traitent du sujet, y compris le Security-HOWTO

   Une importante rgle pratique est : `_N'utilisez pas de serveurs dont
   vous n'avez pas besoin_'. Un grand nombre de distributions sont
   livres avec tout un tas de services dj 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.
     _________________________________________________________________

5.10.1. /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
     _________________________________________________________________

5.10.2. /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 o root peut se connecter
tty1
tty2
tty3
tty4
     _________________________________________________________________

5.10.3. 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).
     _________________________________________________________________

5.10.3.1. /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.orgi 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  tout le monde d'utiliser le courrier
in.smtpd: ALL
# telnet et ftp pour les htes 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'identit.
fingerd: ALL: (finger @%h | mail -s "finger from %h" root)
     _________________________________________________________________

5.10.3.2. /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.
     _________________________________________________________________

5.10.4. /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.
     _________________________________________________________________

5.10.5. Configurer votre dmon _ftp_ correctement

   Un grand nombre 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.
     _________________________________________________________________

5.10.6. 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 le Firewall-HOWTO et (de manire plus concise) plus
   loin dans ce document.
     _________________________________________________________________

5.10.7. 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.
     _________________________________________________________________

Chapter 6. Informations sur Ethernet

   Cette section traite d'informations spcifiques sur Ethernet et la
   configuration des cartes Ethernet.
     _________________________________________________________________

6.1. Cartes Ethernet supportes

6.1.1. 3Com

     * 3Com 3c501 - ` fuir comme la peste' (gestionnaire 3c501)
     * 3Com 3c503 (gestionnaire 3c503), 3c505 (gestionnaire 3c505), 3c507
       (gestionnaire 3c507), 3c509/3c509B (ISA) / 3c579 (EISA)
     * 3Com Etherlink III Vortex Ethercards (3c590, 3c592, 3c595, 3c597)
       (PCI), 3Com Etherlink XL Boomerang (3c900, 3c905) (PCI) et Cyclone
       (3c905B, 3c980) Ethercards (gestionnaire 3c59x) et 3Com Fast
       EtherLink Ethercard (3c515) (ISA) (gestionnaire 3c515)
     * 3Com 3ccfe575 Cyclone Cardbus (gestionnaire 3c59x)
     * 3Com 3c575 series Cardbus (gestionnaire 3c59x) (ALL PCMCIA ??)
     _________________________________________________________________

6.1.2. AMD, ATT, Allied Telesis, Ansel, Apricot

     * AMD LANCE (79C960) / PCnet-ISA/PCI (AT1500, HP J2405A,
       NE1500/NE2100)
     * ATT GIS WaveLAN
     * Allied Telesis AT1700
     * Allied Telesis LA100PCI-T
     * Allied Telesyn AT2400T/BT (module "ne")
     * Ansel Communications AC3200 (EISA)
     * Apricot Xen-II / 82596
     _________________________________________________________________

6.1.3. Cabletron, Cogent, Crystal Lan

     * Cabletron E21xx
     * Cogent EM110
     * Crystal Lan CS8920, Cs8900
     _________________________________________________________________

6.1.4. Danpex, DEC, Digi, DLink

     * Danpex EN-9400
     * DEC DE425 (EISA) / DE434/DE435 (PCI) / DE450/DE500 (gestionnaire
       DE4x5)
     * DEC DE450/DE500-XA (dc21x4x) (gestionnaire Tulip)
     * DEC DEPCA et EtherWORKS
     * DEC EtherWORKS 3 (DE203, DE204, DE205)
     * DECchip DC21x4x "Tulip"
     * DEC QSilver's (Gestionnaire Tulip)
     * Digi International RightSwitch
     * DLink DE-220P, DE-528CT, DE-530+, DFE-500TX, DFE-530TX
     _________________________________________________________________

6.1.5. Fujitsu, HP, ICL, Intel

     * Fujitsu FMV-181/182/183/184
     * HP PCLAN (sries 27245 et 27xxx)
     * HP PCLAN PLUS (27247B et 27252A)
     * HP 10/100VG PCLAN (J2577, J2573, 27248B, J2585) (ISA/EISA/PCI)
     * ICL EtherTeam 16i / 32 (EISA)
     * Intel EtherExpress
     * Intel EtherExpress Pro
     _________________________________________________________________

6.1.6. KTI, Macromate, NCR NE2000/1000, Netgear, New Media

     * KTI ET16/P-D2, ET16/P-DC ISA (fonctionne sans cavaliers et avec
       des options de configuration matrielles)
     * Macromate MN-220P (PnP or NE2000 mode)
     * NCR WaveLAN
     * NE2000/NE1000 (attention aux clnes)
     * Netgear FA-310TX (puce Tulip)
     * New Media Ethernet
     _________________________________________________________________

6.1.7. PureData, SEEQ, SMC

     * PureData PDUC8028, PDI8023
     * SEEQ 8005
     * SMC Ultra / EtherEZ (ISA)
     * SMC 9000 series
     * SMC PCI EtherPower 10/100 (gestionnaire DEC Tulip)
     * SMC EtherPower II (gestionnaire epic100.c)
     _________________________________________________________________

6.1.8. Sun Lance, Sun Intel, Schneider, WD, Zenith, IBM, Enyx

     * Adaptateurs Sun LANCEs (noyau kernel 2.2 et suivants)
     * Adaptateurs Sun Intel (noyaux kernel 2.2 et suivants)
     * Schneider et Koch G16
     * Western Digital WD80x3
     * Adaptateur intgr Zenith Z-Note / IBM ThinkPad 300
     * Ensemble Znyx 312 (gestionnaire Tulip)
     _________________________________________________________________

6.2. Informations gnrales sur 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.

   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 gestionnaires Ethernet furent dvelopps par Donald
   Becker, Donald Becker

   Ceci vous a intress? Pourquoi ne pas donner 2,50 dollars?
     _________________________________________________________________

6.3. Utiliser plusieurs cartes Ethernet sur la mme machine

6.3.1. Si le gestionnaire est sous forme de module (habituellement avec les
nouvelles distributions)

   Le module pourra normalement dtecter toutes les cartes installes.

   Les informations concernant la dtection sont stockes dans le fichier
   :

   _/etc/conf.modules. _

   Supposons qu'un utilisateur possde 3 cartes NE2000, une  l'adresse
   0x300, l'autre  0x240, et la dernire  0x220. Il faut ajouter les
   lignes suivantes au fichier /etc/conf.modules :

        alias eth0 ne
        alias eth1 ne
        alias eth2 ne
        options ne io=0x220,0x240,0x300

   Ceci enjoint au programme _modprobe_ de rechercher 3 cartes NE aux
   adresses spcifies. De plus cela donne l'ordre dans lequel on doit
   les trouver et quel priphrique leur est assign.

   La plupart des modules ISA acceptent des valeurs d'E/S spares par
   des virgules. Par exemple :

        alias eth0 3c501
        alias eth1 3c501
        options eth0 -o 3c501-0 io=0x280 irq=5
        options eth1 -o 3c501-1 io=0x300 irq=7

   L'option -o permet d'assigner un nom unique  chaque module. La raison
   en est que vous ne pouvez charger deux copies du mme module.

   L'option irq= sert  spcifier l'IRQ matriel et l'option io= 
   spcifier les diffrents ports entre-sortie.

   Par dfaut, le noyau Linux ne peut dtecter qu'un seul dispositif
   Ethernet, et vous devez passer des commandes pour forcer la dtection
   des autres cartes.

   Pour apprendre  faire fonctionner vos cartes ethernet sous Linux,
   voyez le Ethernet-HOWTO.
     _________________________________________________________________

Chapter 7. Informations relatives  l'IP

   Cette section traite d'informations spcifiques  l'IP.
     _________________________________________________________________

7.1. Options au niveau du noyau

   Cette section fournit des informations concernant la mise au point des
   options IP dans le noyau au moment de l'amorage.  titre d'exemples,
   de telles options peuvent tre _ip_forward_ ou _ip_bootp_agent_. Elles
   sont utilises en affectant une valeur  un fichier situ dans le
   rpertoire
   /proc/sys/net/ipv4/

   Le nom du fichier est le nom de la commande.

   Par exemple, pour obtenir _ip_forward__ enabled_ vous taperez
   echo 1 > /proc/sys/net/ipv4/ip_forward
     _________________________________________________________________

7.1.1. Liste des options IP gnrales.

     * _ip_forward_
       Si _ip_forward_ est rgl  0, il est dsactiv. Avec tout autre
       nombre, il est activ. Cette option est utilise en conjonction
       avec des techniques telles que le routage entre interfaces avec le
       masquage IP..
     * _ip_default_ttl_
       C'est la dure de vie d'un paquet IP. Par dfaut, elle est de 64
       ms.
     * _ip_addrmask_agent_
       - BOOLEN
       Rpond aux requtes ICMP ADDRESS MASK. Par dfaut TRUE (pour le
       routeur) et FALSE (pour l'hte)
     * _ip_bootp_agent_
       - BOOLEN
       Accepte des paquets ayant une adresse source du type 0.b.c.d et
       destin  cet hte, broadcast ou multicast. Sinon, ces paquets
       sont ignors. FALSE par dfaut.
     * _ip_no_pmtu_disc_
       - BOOLEN
       Dsactive la recherche du MTU du chemin. FALSE par dfaut.
     * _ip_fib_model_
       -NOMBRE ENTIER
       0 - (valeur par dfaut) Modle standard. Toutes les routes sont
       dans la classe MAIN
       1 - Les routes par dfaut vont dans la classe DEFAULT. Ce mode
       devrait tre trs pratique pour les petits fournisseurs d'accs
       appliquant une politique de routage.
       2 - Modle conforme  la RFC1812.
       Les routes interface sont dans la classe MAIN.
       Les routes gateway sont dans la classe DEFAULT.
     _________________________________________________________________

7.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 gestionnaire 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, 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. Ainsi vous devriez
   utiliser :

   root# route add default eql

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

   Ceci vous a intress? Pourquoi ne pas donner 2,50 dollars?
     _________________________________________________________________

7.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            * -> *
#
     _________________________________________________________________

7.3.1. 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).
     _________________________________________________________________

7.4. 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 gestionnaire 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.

   Ceci vous a intress? Pourquoi ne pas donner 2,50 dollars?
     _________________________________________________________________

7.5. IP Pare-feu (Firewall) (pour Linux-2.0)

   Le pare-feu IP et les publications le concernant sont traits de
   manire plus approfondie dans le 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.

   Utiliser votre machine Linux comme routeur et passerelle pare-feu pour
   protger votre rseau local contre les accs non autoriss (venant de
   l'extrieur) est vraisemblablement l'utilisation la plus courante d'un
   pare-feu IP.

   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 redmarre.

        #!/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.
     _________________________________________________________________

7.5.1. 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 1999.
     _________________________________________________________________

7.6. 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.
     _________________________________________________________________

7.6.1. 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.
     _________________________________________________________________

7.6.2. 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 s'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.
     _________________________________________________________________

7.7. IP Masquerade

   Un grand nombre 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 |
  /                                 |  |      |
 /                                  |   - - - -
-                                   -
     _________________________________________________________________

7.7.1. Masquerading avec IPFWADM (Noyaux 2.0.x)

   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
     _________________________________________________________________

7.7.2. 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).

   Pour obtenir des informations concernant les applications de IP
   Masquerade, voyez la page Applications IPMASK.
     _________________________________________________________________

7.8. 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.

   Ceci vous a intress? Pourquoi ne pas donner 2,50 dollars?
     _________________________________________________________________

7.9. 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.
   Les utilisateurs s'inquitaient d'une pnurie proche d'adresses IP
   pouvant tre alloues. Les adresse IPv6 sont codes sur 16 octets (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.*.

   Ceci vous a intress? Pourquoi ne pas donner 2,50 dollars?
     _________________________________________________________________

7.10. Sources de documentation pour IPv6 sous Linux

   IPv6-HOWTO

   IPv6 pour Linux.

   Projet RPM Linux IPv6

   FAQ/HOWTO IPv6

   Ceci vous a intress? Pourquoi ne pas donner 2,50 dollars?
     _________________________________________________________________

7.11. 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. Ceci vous a intress?
   Pourquoi ne pas donner 2,50 dollars?
     _________________________________________________________________

7.12. 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

   Ceci vous a intress? Pourquoi ne pas donner 2,50 dollars?
     _________________________________________________________________

7.13. Mise en forme du trafic - Changer la bande passante alloue

   Le metteur en forme de trafic est un gestionnaire 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.

   Ceci vous a intress? Pourquoi ne pas donner 2,50 dollars?
     _________________________________________________________________

Chapter 8. DHCP et DHCPD

   DHCP est l'acronyme de Dynamic Host Configuration Protocol
   (Protocole de configuration dynamique d'un hte). La cration de DHCP
   a rendu la configuration du rseau avec plusieurs htes extrmement
   simple. Au lieu de configurer chaque hte sparment vous pouvez
   assigner tous les paramtres communs  l'ensemble des htes utilisant
   un serveur DHCP.

   Chaque fois qu'un hte dmarre il diffuse un paquet sur le rseau. Ce
   paquet est un appel vers tous les serveurs DHCP situs sur le mme
   segment pour configurer l'hte.

   DHCP est extrmement utile pour assigner des choses comme l'adresse
   IP, le masque de rseau et la passerelle de chaque hte.
     _________________________________________________________________

8.1. Rglage d'un client DHCP pour les utilisateurs de LinuxConf

   Sous linux, dmarrez le programme linuxconf en tant que
   super-utilisateur. Ce programme est disponible avec toutes les
   versions de redhat et fonctionne sous X aussi bien qu'en mode console.
   Il fonctionne galement avec les distributions Suse et Caldera.

Select Networking
----------------->Basic Host Information
----------------->Select Enable
----------------->Set Config Mode DHCP

   Ceci vous a intress? Pourquoi ne pas donner 2,50 dollars?
     _________________________________________________________________

8.2. Rglage d'un serveur DHCP sous Linux

   _Rcuprez DHCPD s'il n'est pas dj install sur votre machine._
   Tlcharger DHCPD

   _Note Brve: SOYEZ CERTAINS D'AVOIR L'OPTION MULTICAST INSTALLE DANS
   LE NOYAU._

   _Si vous n'avez pas de distribution binaire pour votre version de
   linux, vous devrez compiler DHCPD._

   ditez /etc/rc.d/rc.local pour prendre en compte l'ajout d'une route
   vers 255.255.255.255.

   _Extrait du fichier README de DHCPd :_

   Afin que dhcpd fonctionne correctement avec des clients difficiles
   (par exemple Windows 95), il doit tre en mesure d'envoyer des paquets
   vers l'adresse 255.255.255.255. Malheureusement, Linux insiste pour
   changer l'adresse 255.255.255.255 en l'adresse de diffusion du
   sous-rseau local (ici, 192.5.5.223). Il en rsulte une violation du
   protocole DHCP, et alors que de nombreux clients DHCP ne s'aperoive
   pas de ce problme, d'autres (par ex, tous les clients DHCP Microsoft)
   le font. Les clients ayant ce problme apparatront comme ne voyant
   pas les messages DHCPOFFER venant du serveur.

   Sous le compte root, tapez ce qui suit :

   route add -host 255.255.255.255 dev eth0

   Si le message suivant apparait :

   255.255.255.255: Unknown host

   Essayez d'ajouter la ligne suivante  votre fichier /etc/hosts :

   255.255.255.255 dhcp

   Puis ressayez :

   route add -host dhcp dev eth0
     _________________________________________________________________

8.2.1. Options de DHCPD

   Maintenant vous devez configurer DHCPd. Pour cela vous devez crer ou
   diter le fichier /etc/dhcpd.conf. Il existe une interface graphique
   pour la configuration de dhcpd sous linuxconf. On configure et rgle
   ainsi DHCPD trs facilement.

   Si vous voulez le configurer  la main, suivez les instructions qui
   suivent. Je suggre de le faire au moins une fois  la main. Cela vous
   aidera pour faire des diagnostiques, ce qu'une interface graphique ne
   peut vous offrir. Malheureusement Microsoft n'y croit pas.

   Le plus facile est d'assigner des adresses IP de manire alatoire.
   Ci-dessous un exemple de fichier de configuration montrant le type de
   rglage.

# Exemple de /etc/dhcpd.conf
# (ajoutez vos commentaires ici)
default-lease-time 1200;
max-lease-time 9200;
option subnet-mask 255.255.255.0;
option broadcast-address 192.168.1.255;
option routers 192.168.1.254;
option domain-name-servers 192.168.1.1, 192.168.1.2;
option domain-name "mydomain.org";
subnet 192.168.1.0 netmask 255.255.255.0 {
range 192.168.1.10 192.168.1.100;
range 192.168.1.150 192.168.1.200;
}

   Cela permet au serveur DHCP d'assigner au client une adresse IP
   comprise entre 192.168.1.10 et 192.168.1.100 ou bien 192.168.1.150 et
   192.168.1.200.

   Une adresse IP sera alloue pendant 1200 secondes si le client ne
   demande pas plus. Autrement l'allocation maximum permise sera 9200
   secondes. Le serveur envoie les paramtres suivants au client :

   Utilisez 255.255.255.0 comme masque de sous-rseau Utilisez
   192.168.1.255 comme adresse de diffusion Utilisez 192.168.1.254 comme
   passerelle par dfaut Utilisez 192.168.1.1 et 192.168.1.2 comme
   serveurs DNS.

   Si vous spcifiez un serveur WINS pour vos clients Windows, vous devez
   insrer l'option suivante dans le fichier dhcpd.conf.

   option netbios-name-servers 192.168.1.1;

   Vous pouvez aussi assigner des adresses IP spcifiques bases sur une
   adresse ethernet _MAC_, par exemple

  host haagen {
     hardware ethernet 08:00:2b:4c:59:23;
     fixed-address 192.168.1.222;
}

   Cela assignera l'adresse IP 192.168.1.222 au client ayant une adresse
   ethernet _MAC_ de 08:00:2b:4c:59:23.
     _________________________________________________________________

8.2.2. Dmarrage du serveur

   Dans la plupart des cas, l'installation de DHCP ne cre pas le fichier
   dhcpd.leases. Ds lors, avant de dmarrer le serveur, vous devez crer
   un fichier vide :

   _touch /var/state/dhcp/dhcpd.leases_

   Pour dmarrer le serveur DHCP, tapez simplement (ou bien insrez-le
   dans les scripts de dmarrage)

   _/usr/sbin/dhcpd_

   Cela dmarre dhcpd sur le dispositif eth0. Si vous devez le dmarrer
   sur un autre dispositif, tapez simplement

   _/usr/sbin/dhcpd eth1_

   Si vous voulez tester une configuration bizarre vous pouvez dmarrer
   dhcpd en mode dbogage. En tapant la commande suivante, vous pourrez
   voir exactement ce qui se passe sur le serveur.

   _/usr/sbin/dhcpd -d -f_

   _Dmarrez un client_ et jetez un coup d'oeil sur la console du
   serveur. Vous verrez apparatre un grand nombre de messages de
   dbogage.

   _C'est fini_
     _________________________________________________________________

Chapter 9. Routage avanc avec Linux-2.2

   Le noyau 2.2 a accru les possibilits de routage de Linux de manire
   certaine. Malheureusement la documentation pour exploiter ces
   nouvelles possibilits est presque impossible  trouver, mme si elle
   existe.

   J'y ai pass un peu de temps et ai t en mesure de faire un petit
   quelque chose. J'en mettrai plus quand j'aurai le temps et l'aide
   ncessaire pour comprendre tout ce qui a t dit.

   Dans les versions du noyau 2.0 et antrieures, Linux utilise la
   commande _route_ standard pour positionner les routes dans une seule
   table de routage. Si vous aviez tap _netstat -rn_  l'invite vous
   auriez pu voir un exemple.

   Dans les noyaux rcents (2.1 et au-del) vous avez une autre option.
   Cette option est autorise et vous permet d'avoir plusieurs tables de
   routage. Les nouvelles rgles donnent beaucoup plus de souplesse sur
   la faon de manipuler les paquets. Vous pouvez choisir entre des
   routes bases non seulement sur l'adresse de destination, mais aussi
   l'adresse de dpart, TOS, ou un priphrique de rception.
     _________________________________________________________________

9.1. Les bases

   _Afficher la table de routage :_

   ip route

   Maintenant sur ma machine cela donne la sortie suivante :

207.149.43.62 dev eth0  scope link
207.149.43.0/24 dev eth0  proto kernel  scope link  src 207.149.43.62
default via 207.149.43.1 dev eth0

   La premire ligne :

   _207.149.43.62 dev eth0 scope link_ est la route vers l'interface

   La deuxime :

   _207.149.43.0/24 dev eth0 proto kernel scope link src 207.149.43.62_
   est la route qui dit _tout ce qui va vers 207.149.43.0 doit aller vers
   207.149.43.62_.

   La troisime :

   _default via 207.149.43.1 dev eth0_ est la route par dfaut.
     _________________________________________________________________

9.1.1. Utiliser les informations

   Maintenant que nous avons vu une table de routage de base, voyons
   comment l'utiliser. Tout d'abord lisez name="the Policy routing text."
   Si vous tes embts, ne vous en faites pas -- c'est un texte confus.
   Il vous donne tout ce que les nouvelles tables de routage peuvent
   faire.
     _________________________________________________________________

9.2. Ajouter une route avec les nouveaux outils ip

   Dans la section prcdente, nous avons mentionn comment afficher la
   table de routage et comment comprendre les bases. Impeccable, la
   sortie ressemble de trs prs  la syntaxe que nous devons utiliser
   pour mettre en place la table de routage correspondant exactement 
   nos besoins.

ip route add 207.149.43.62 dev eth0  scope link
ip route add 207.149.43.0/24 dev eth0 proto kernel scope link src 207.149.43.62
ip route add 127.0.0.0/8 dev lo  scope link
ip route add default via 207.149.43.1 dev eth0

   Comme vous pouvez le constater, les entres et sorties sont presque
   les mmes, sauf le _ip route add_ au dbut de chaque ligne.

   _Note:_ Je suis conscient que la documentation sur le routage avec les
   noyaux 2.2 fait cruellement dfaut. Dans les faits, je pense que TOUT
   LE MONDE en est conscient. Si vous avez une petite exprience,
   contactez-nous s'il vous plat  poet@linuxports.com nous aimerions
   obtenir les informations que vous avez pour nous aider  toffer notre
   documentation!

   Ceci vous a intress? Pourquoi ne pas donner 2,50 dollars?
     _________________________________________________________________

9.3. Utiliser NAT avec le noyau 2.2

   Le systme de traduction d'adresse rseau (NAT: Network Address
   Translation) 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. NAT fournit des
   possibilts que IP Masquerade ne sait pas faire, ce qui le rend plus
   apte  une utilsation de routeur pare-feu pour un rseau d'entreprise
   et des installations de plus grande dimension.

   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 documentation et
   l'implmentation de Michael se trouve sur :

   la page web sur l'adressage rseau sous Linux

   L'empilement TCP/IP du noyau 2.2, qui a t grandement amlior,
   inclut les fonctionnalits de NAT. Ce systme semble rendre obsolte
   le travail de Michael Hasenstein (Michael@informatik.tu-chemnitz.de).

   Pour le rendre oprationnel vous devez activer dans le noyau
   CONFIG_IP_ADVANCED_ROUTER, CONFIG_IP_MULTIPLE_TABLES (pour le systme
   de routage) et CONFIG_IP_ROUTE_NAT (pour un NAT rapide). De plus, si
   vous voulez utiliser un rglage plus fin de NAT, vous devez activer le
   pare-feu (CONFIG_IP_FIREWALL) et CONFIG_IP_ROUTE_FWMARK. Pour faire
   fonctionner effectivement ces possibilits incluses dans le noyau,
   vous aurez besoin du programme ip de Alexey Kuznyetsov rcupr sur
   ftp://ftp.inr.ac.ru/ip-routing/.

   Datagrammes NAT entrants

   Maintenant pour traduire les adresses des datagrammes entrants, on
   utilise la commande suivante :

      ip route add nat <ext-addr>[/<masklen>] via <int-addr>

   Ceci fait qu'un paquet entrant destin  l'adresse "ext-addr"
   (l'adresse visible sur l'internet extrieur) aura son champ d'adresse
   converti en "int-addr" (l'adresse de votre rseau interne, derrire
   votre passerelle ou pare-feu). Le paquet est alors rout suivant la
   table de routage locale. Vous pouvez traduire soit une adresse hte
   unique, soit des blocs complets. _Exemples:_


        ip route add nat 195.113.148.34 via 192.168.0.2
        ip route add nat 195.113.148.32/27 via 192.168.0.0

   La premire commande rend l'adresse interne 192.168.0.2 accessible en
   tant que 195.113.148.34. Le second exemple montre une rallocation du
   bloc 192.168.0.0-31 en 195.113.148.32-63. Ceci vous a intress?
   Pourquoi ne pas donner 2,50 dollars?
     _________________________________________________________________

Chapter 10. Les commandes IP pour les noyaux 2.2 (travail en cours)

10.1. ip

   Si vous avez les outils iproute2 dj installs, excutez la commande
   ip, ce qui vous permettra d'afficher la syntaxe de base.

[root@jd Net4]# ip
Usage: ip [ OPTIONS ] OBJECT { COMMAND | help }
where OBJECT := { link | addr | route | rule | neigh | tunnel |
                  maddr | mroute | monitor }
      OPTIONS := { -V[ersion] | -s[tatistics] | -r[esolve] |
                   -f[amily] { inet | ipv6 | dnet | link } | -o[neline] }

   Il y a plusieurs options disponibles :

   _-V, -Version_ donne la version de l'utilitaire ip que vous employez
   puis vous rend la main.

   _-s, -stats, -statistics_ donne plus d'informations concernant le
   priphrique spcifi. Vous pouvez mentionner plusieurs fois cette
   option pour afficher plus d'informations.

   _-f, family suivi d'un nom identifiant la famille de protocole tel que
   : inet, inet6 ou link _spcifie la famille de protocole  utiliser,
   inet dsignant le standard IPv4 (le standard internet actuel), inet6
   dsignant IPv6 (rvolutionnaire, un standard internet qui ne sera
   jamais implant), et link (un lien physique). Si vous ne donnez pas
   d'options, la famille de protocole est devine et s'il n'y a pas assez
   d'informations, ip reviendra aux rglages par dfaut.

   _-o, -oneline_ indique la sortie de chaque enregistrement de
   priphrique en une seule ligne.

   _-r, -resolve_ utilise le rsolveur du systme (par exemple DNS), pour
   imprimer les noms rels associs aux adresses IP.

   _OBJECT_ C'est l'objet/priphrique que l'on veut grer ou bien sur
   lequel on veut obtenir des informations. Les types de priphriques
   qui sont compris par l'implmentation actuelle sont :

     * link -- Le priphrique rseau, par exemple eth0 ou ppp0
     * address -- L'adresse IP (IP ou IPv6) du priphrique spcifi
     * neigh -- L'entre de cache ARP ou NDISC
     * route -- L'entre de la table de routage
     * rule -- Les rgles de la base de donnes de la politique de
       routage
     * maddress -- L'adresse de multidiffusion
     * mroute -- L'entre de cache de la route de multidiffusion
     * tunnel -- Faire ou non de l'encapsulation IP

   Le nombre d'options possibles avec chaque type d'objet est fonction de
   la nature de l'action  entreprendre. Comme rgle de base, il est
   possible d'_ajouter_, de _supprimer_, ou de montrer le ou les objets,
   mais parmi ceux-ci tous ne permettront pas d'utiliser des commandes
   supplmentaires. Bien sr, une commande d'aide est disponible pour
   chaque objet et lors de son utilisation, celle-ci donnera une liste
   des conventions de syntaxe disponibles pour l'objet en question.

   Si vous ne spcifiez pas de commande, c'est celle par dfaut qui sera
   excute. Celle-ci donne la liste des objets, ou bien, si ce n'est pas
   possible, vous obtiendrez une aide de base.

   _ARGUMENTS_ est la liste des arguments qui peuvent tre donns lors de
   l'excution de la commande. Le nombre d'arguments dpend de la
   commande et de l'objet. Il existe deux types d'arguments :

   _Les drapeaux_ consistant en un mot-cl suivi d'une valeur. Pour la
   commodit, chaque argument possde quelques valeurs par dfaut, qui
   peuvent tre omises pour une utilisation plus facile. Par exemple le
   paramtre _dev>_ est pris par dfaut pour une commande telle que _ip
   link_.

   _Les erreurs... rendons grce aux codeurs intelligents_ Toutes les
   actions induites par les commandes sont dynamiques. Si la syntaxe est
   incorrecte, il n'y aura pas de changement dans la configuration du
   systme. Comme toujours, il existe une exception : la commande _ip
   link_ , utilise pour changer certains paramtres d'un priphrique.

   Il est difficile de donner la liste de tous les messages d'erreur (en
   particulier les erreurs de syntaxe), mais normalement leur
   signification est explicite suivant le contexte de la commande. Les
   erreurs les plus frquentes sont : 1. Le rseau n'est pas configur
   dans le noyau. Le message est : Cannot open netlink socket: Invalid
   value (ne peut ouvrir la socket : valeur incorrecte).

   2. RTNETLINK n'est pas configur dans le noyau. Dans ce cas on
   obtiendra l'un des messages suivants, selon la commande : Cannot talk
   to rtnetlink: Connection refused (ne peut dialoguer avec rtnetlink:
   connexion refuse) Cannot send dump request: Connection refused (ne
   peut envoyer une demande de vidage (dump): connexion refuse).

   3. L'option CONFIG_IP_MULTIPLE_TABLES n'a pas t choisie lors de la
   configuration du noyau. Dans ce cas toute tentative d'utilisation de
   la commande ip chouera, par exemple :

   _jd@home $ ip rule list RTNETLINK error: Invalid argument dump
   terminated _(erreur de rgle ip dans la liste RTNETLINK: argument
   incorrect, vidage (dump) termin).

   Ceci vous a intress? Pourquoi ne pas donner 2,50 dollars?
     _________________________________________________________________

Chapter 11. Utilisation du matriel courant pour PC

11.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.

   Ceci vous a intress? Pourquoi ne pas donner 2,50 dollars?
     _________________________________________________________________

11.2. PLIP pour Linux-2.0

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

   _Options de compilation du noyau_ :
Networking options  ---i>
    <*> 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, on peut atteindre des 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 gestionnaires PLIP entrent en comptition avec les autres
   gestionnaires 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 _Gestionnaire 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 gestionnaires 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''.
     _________________________________________________________________

11.2.1. PLIP pour Linux-2.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.
     _________________________________________________________________

11.3. PPP

   En raison de la nature de PPP, sa taille, sa complexit, et sa
   souplesse son propre HOWTO a t cr. Le PPP-HOWTO est toujours un
   document du LDP mais son site officiel est sur le site LinuxPorts  la
   section PPP. Ceci vous a intress? Pourquoi ne pas donner 2,50
   dollars?
     _________________________________________________________________

11.4. Client SLIP (Antique)

   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  ---i>
    [*] 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. De nombreuses 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_.
     _________________________________________________________________

11.4.1. 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.
     _________________________________________________________________

11.4.2. 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.
     _________________________________________________________________

11.4.3. 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.
     _________________________________________________________________

11.4.4. 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.
     _________________________________________________________________

11.4.5. 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.
     _________________________________________________________________

11.4.6. 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 fourni 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.
     _________________________________________________________________

11.4.7. 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.
     _________________________________________________________________

11.4.8. 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.
     _________________________________________________________________

11.4.9. 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.
     _________________________________________________________________

11.4.10. 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# <..ditez 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.
     _________________________________________________________________

11.4.11. 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.
     _________________________________________________________________

11.4.12. 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 et 3. 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, sinon 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.
     _________________________________________________________________

11.4.13. 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.
     _________________________________________________________________

11.4.14. 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.
     _________________________________________________________________

11.4.15. 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 afficher 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.
     _________________________________________________________________

11.4.16. 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.
     _________________________________________________________________

11.4.17. 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.
     _________________________________________________________________

11.4.18. 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.
     _________________________________________________________________

Chapter 12. 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.
     _________________________________________________________________

12.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. Ceci vous a intress? Pourquoi ne pas donner
   2,50 dollars?
     _________________________________________________________________

12.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% tar xvfz .../netatalk-1.4b2.tar.Z
user% make
root# make install

   Vous pouvez diter le fichier `Makefile' avant de faire appel 
   _make_, 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.
     _________________________________________________________________

12.2.1. 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.
     _________________________________________________________________

12.2.2. 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.
     _________________________________________________________________

12.2.3. Partager votre imprimante Linux avec Appletalk.

   Partager votre imprimante Linux avec vos machines Apple est trs
   simple. Vous devez faire tourner le programme _papd_ qui est le dmon
   protocole d'accs aux imprimantes de Appletalk. Lorsque vous faites
   tourner ce programme il acceptera les requtes manant de vos machines
   Apple et spoulera le travail d'impression vers votre dmon local
   d'impression.

   Vous devrez diter le fichier /usr/local/atalk/etc/papd.conf pour
   configurer le dmon. La syntaxe de ce fichier est la mme que le
   fichier habituel /etc/printcap. Le nom que vous donnez  la dfinition
   de l'imprimante doit tre conforme au protocole de dsignation
   Appletalk, NBP.

   Un exemple de configuration ressemble  ceci :

TricWriter:\
   :pr=lp:op=cg:

   Ce qui fera une imprimante nomme `TricWriter' disponible pour le
   rseau Appletalk et tous les travaux accepts seront imprims sur
   l'imprimante linux `lp' (telle que dfinie dans le fichier
   /etc/printcap) utilisant _lpd_. L'entre `op=cg' indique que
   l'utilisateur linux `cg' est l'oprateur de l'imprimante.
     _________________________________________________________________

12.2.4. Dmarrer Appletalk.

   Bon, vous devriez tre prts pour essayer cette configuration de base.
   Le fichier _rc.atalk_ fourni avec le paquetage _netatalk_ devrait vous
   convenir, alors vous faites ceci :

   # /usr/local/atalk/etc/rc.atalk

   et tout devrait dmarrer et tourner sans problmes. Vous ne devriez
   voir aucun message d'erreurs et le programme devrait vous envoyer des
   messages sur la console indiquant chaque tape qui dmarre.
     _________________________________________________________________

12.2.5. 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.
     _________________________________________________________________

12.2.6. Mises en garde sur Appletalk.

     * Vous aurez peut-tre besoin de dmarrer votre support Appletalk
       avant de configurer votre rseau IP. Si vous avez des problmes
       pour dmarrer vos programmes Appletalk, ou si aprs les avoir
       dmarrs vous avez des ennuis avec votre rseau IP, essayez alors
       de mettre en route votre programme Appletalk avant de faire
       dmarrer /etc/rc.d/rc.inet1.
     * Le dmon _afpd_ (Apple Filing Protocol Daemon) SECOUE SVREMENT
       VOTRE DISQUE DUR. Derrire les points de montage il cre deux
       rpertoires appels .AppleDesktop et Network Trash Folder.
       Ensuite, pour chaque rpertoire auquel vous accdez il cre un
       sous-rpertoire .AppleDouble pour pouvoir stocker des fichiers de
       ressource, etc. Rflchissez bien avant d'exporter /, vous aurez
       besoin de pas mal de temps pour tout nettoyer.
     * Le programme _afpd_ attend des mots de passe en clair venant des
       Macs. La scurit pouvant tre un problme, soyez donc attentifs
       lors de l'utilisation de ce dmon sur une machine connecte sur
       l'Internet et ne vous en prenez qu' vous-mme si quelqu'un de mal
       intentionn vous fait des misres.
     * Les outils de diagnostic existants tels que _netstat_ et _ifconfig_
       ne supportent pas Appletalk. Les informations peuvent tre
       trouves dans le rpertoire /proc/net/ si vous en avez besoin.
     _________________________________________________________________

12.2.7. Autres informations

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

12.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.

   Ceci vous a intress? Pourquoi ne pas donner 2,50 dollars?
     _________________________________________________________________

12.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.

   Ceci vous a intress? Pourquoi ne pas donner 2,50 dollars?
     _________________________________________________________________

12.5. DECNet

   Le support pour DECNet est en cours d'laboration. Vous devriez le
   voir apparaitre dans l'un des prochains noyaux 2.1.*. Ceci vous a
   intress? Pourquoi ne pas donner 2,50 dollars?
     _________________________________________________________________

12.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 gestionnaire 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
   gestionnaire 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_.

   Ceci vous a intress? Pourquoi ne pas donner 2,50 dollars?
     _________________________________________________________________

12.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,  ma connaissance,
   Sangoma Technologies S502A, S502E et S508. et Emerging Technologies.
   Leur site se trouve sur ici.

   _Je voudrais dire quelquechose. J'ai une exprience personnelle avec
   Emerging Technologies et je vous les recommande pas. Je les ai trouvs
   absolument pas professionnels et trs grossiers. Si quelqu'un d'autre
   a eu une bonne exprience avec eux, faites le moi savoir. A leur
   dcharge, leur produit est souple d'utilisation et parat stable._

   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 gestionnaires 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
#

   Ceci vous a intress? Pourquoi ne pas donner 2,50 dollars?
     _________________________________________________________________

12.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  ---i>
    [*] The IPX protocol
    [ ] Full internal IPX network

   Le protocole IPX et le NCPFS sont traits en dtail dans le document
   IPX-HOWTO. Ceci vous a intress? Pourquoi ne pas donner 2,50 dollars?
     _________________________________________________________________

12.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. Ceci vous a intress? Pourquoi ne pas
   donner 2,50 dollars?
     _________________________________________________________________

12.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.uki.

   Ceci vous a intress? Pourquoi ne pas donner 2,50 dollars?
     _________________________________________________________________

12.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.

   Ceci vous a intress? Pourquoi ne pas donner 2,50 dollars?
     _________________________________________________________________

12.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
   gestionnaire 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.

   Ceci vous a intress? Pourquoi ne pas donner 2,50 dollars?
     _________________________________________________________________

12.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.

   Ceci vous a intress? Pourquoi ne pas donner 2,50 dollars?
     _________________________________________________________________

12.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.

   Ceci vous a intress? Pourquoi ne pas donner 2,50 dollars?
     _________________________________________________________________

12.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.

   Ceci vous a intress? Pourquoi ne pas donner 2,50 dollars?
     _________________________________________________________________

Chapter 13. 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.
     _________________________________________________________________

13.1. Cble srie NULL Modem

   Tous les cbles NULL modem ne se ressemblent pas. Une grosse partie
   d'entre eux 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

   Ceci vous a intress? Pourquoi ne pas donner 2,50 dollars?
     _________________________________________________________________

13.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 extrmit_.

   _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.

   Ceci vous a intress? Pourquoi ne pas donner 2,50 dollars?
     _________________________________________________________________

13.3. Cblage Ethernet 10base2 (coaxial fin)

   10base2 est un standard de cblage Ethernet spcifiant l'utilisation
   d'un cble coaxial 50 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 50 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.

   Ceci vous a intress? Pourquoi ne pas donner 2,50 dollars?
     _________________________________________________________________

13.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

   Ceci vous a intress? Pourquoi ne pas donner 2,50 dollars?
     _________________________________________________________________

Chapter 14. 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 diffrents.

   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.
     _________________________________________________________________

Chapter 15. Auteurs :

15.1. Actuels

   Joshua D. Drake

   Ceci vous a intress? Pourquoi ne pas donner 2,50 dollars?
     _________________________________________________________________

15.2. Passs

   Terry Dawson Allessandro Rubini

   Ceci vous a intress? Pourquoi ne pas donner 2,50 dollars?
     _________________________________________________________________

Chapter 16. Copyright.

   _Information de copyright_

   Les documents NET-3/4-HOWTO,NET-3 et Networking-HOWTO donnent des
   informations concernant l'installation et la configuration du support
   rseau pour Linux. Copyright (c) 1997 Terry Dawson, 1998 Alessandro
   Rubini, 1999 & 2000 Joshua D. Drake {POET}/CommandPrompt, Inc -
   http://www.linuxports.com

   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.

   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.
