
                                Linux PPP Howto

par Robert Hart, hart@interweft.com.au

   Version 3.0, 31 mars 1997
     _________________________________________________________________

   _(Adaptation franaise par Antoine Levavasseur levavass@efrei.fr, le
   22 octobre 1997). Ce document montre comment connecter votre PC Linux
    un serveur PPP, comment utiliser PPP pour relier deux rseaux locaux
   ensemble, et fournit une mthode pour configurer votre machine Linux
   comme serveur PPP. Ce document fournit galement une aide pour
   dboguer les connections PPP qui ne fonctionnent pas._
     _________________________________________________________________

   _Copyright_

   Ce document est distribu sous les contraintes de la GPL (GNU Public
   Licence).

   _Distribution_

   Le document original sera post dans comp.os.linux.answers lorsque de
   nouvelles versions du document arriveront. Il est galement disponible
   en HTML  :
     * Linux Howto Index
     * PPP-HOWTO

   Les autres formats (SGML, ASCII, PostScript, DVI) sont disponibles 
   Howtos - other formats.

   Comme sunsite.unc.edu est trs charg, vous tes encourags  utiliser
   un miroir plus proche de chez vous. En particulier la version
   franaise de ce HOWTO est post rgulirement dans
   fr.comp.os.linux.annonce, et est disponible sur ftp.lip6.fr et
   http://www.freenix.fr/.

   _Remerciements_

   Un nombre important et croissant de personnes m'ont aid  prparer ce
   document. Remerciements spciaux  Al Longyear pour l'aide sur PPP
   lui-mme (si il y a des erreurs ici, ce sont les miennes et pas les
   siennes), Greg Hankins (qui maintient les Howto Linux) et Debi Tackett
   (de Maximum Access.com) pour ses nombreuses suggestions sur le style,
   l'organisation du contenu, la logique et la clart des explications.

   Pour finir, je remercie les nombreuses personnes qui m'ont envoy
   leurs commentaires par courrier lectronique. Comme tous les auteurs
   de HOWTO, la satisfaction d'aider est le seul salaire que nous
   recevons, et cela nous suffit. En crivant ce HOWTO, je rembourse
   d'une certaine faon la dette que je - et tous les autres utilisateurs
   Linux - dois aux personnes qui crivent et maintiennent le systme
   d'exploitation que nous avons choisi.

   _Traduction Franaise de ce document_

   La traduction du prsent document PPP-Howto (et prcdemment PPP-FAQ)
   tait assure par Ren Cougnenc. C'tait l'un des premiers (si ce
   n'est le premier) utilisateur de Linux en France alors que ce n'tait
   qu'un petit projet un peu fou lanc par Linus Torvalds. Ren Cougnenc
   a particip au dveloppement de Linux et a assur la traduction de
   nombreux HOWTO et ouvrages sur Linux qui font encore rfrence. Si
   vous utilisez Linux aujourd'hui c'est sans doute un peu grce  lui...
   Prendre ses pas dans la traduction de ce HOWTO tait un peu dlicat
   car la barre tait place haut, et j'espre que le lecteur que vous
   tes ne sera pas du par mon travail.
   Et si Ren nous entends l-haut, je suis sr qu'il lvera avec nous
   son verre  la sant de notre systme d'exploitation favori ! :-)

   Enfin merci  Thomas Parmelan pour la relecture et les conseils sur la
   forme de la version franaise de ce document.

1. Introduction

   PPP (Point to Point Protocol) est un mcanisme qui permet de faire
   fonctionner IP (Internet Procotol) et tous les autres protocoles
   rseaux  travers une liaison srie - qui peut tre une connexion
   srie directe (avec un cble null-modem),  travers une liaison par un
   telnet, ou encore une liaison utilisant les modems et les lignes
   tlphoniques (et bien sr utilisant les lignes numriques comme
   RNIS).

   Avec PPP, vous pouvez connecter votre PC sous Linux  un serveur PPP
   et accder aux ressources rseau aux quelles le serveur est connect
   (presque) comme si vous tiez directement connect  ce rseau.

   Vous pouvez galement configurer votre PC Linux comme un serveur PPP,
   de cette faon, d'autres ordinateurs peuvent appeler votre ordinateur
   et accder aux ressources de votre PC et/ou rseau local.

   Comme PPP est un systme qui marche dans les deux sens, vous pouvez
   galement utiliser PPP sur deux PC Linux pour relier ensemble deux
   rseaux (ou un rseau local  Internet), crant ainsi un rseau 
   large domaine (WAN : Wide Area Network).

   Une diffrence majeure entre PPP et une connexion Ethernet est bien
   entendu la vitesse - une connexion Ethernet standard offre  un dbit
   maximal thorique de 10 Mbs (Mega - millions de bits par seconde),
   alors qu'une liaison analogique par modem offre un maximum de 56 Kbs
   (kilo - millier de bits par seconde).

   Par consquent, selon le type de votre connexion PPP, il y aura des
   limitations sur l'utilisation des applications et des services.

1.1 Clients et Serveurs

   PPP est un protocole strictement symtrique; il n'y a (techniquement)
   aucune diffrence entre la machine qui appelle et la machine qui est
   appele. Cependant, pour des raisons de clart, il est intressant de
   penser en terme de _serveur_ et _client_.

   Quand vous appelez un site pour tablir une connexion PPP, vous tes
   un _client_. La machine sur laquelle vous-vous connectez est le
   _serveur_.

   Quand vous configurez une machine Linux pour rpondre aux appels pour
   les connexion PPP, vous configurez un _serveur_ PPP.

   Tous les PC Linux peuvent tre  la fois serveur et client PPP - mme
   en mme temps si vous avez plus d'un port srie (et d'un modem si
   ncessaire). Comme dcrit plus haut, il n'y a pas de relle diffrence
   entre les clients et les serveurs tant que l'on utilise PPP et que la
   connexion est tablie.

   Ce document rfrence la machine qui initie l'appel (qui le compose)
   comme le _CLIENT_, alors que la machine qui rpond au tlphone,
   vrifie l'authentification de l'appel (en utilisant les noms
   utilisateurs, les mots de passe et ventuellement d'autres mcanismes)
   est rfrence comme le _SERVEUR_.

   L'utilisation de PPP comme client pour relier une ou plusieurs
   machines  Internet est probablement celle qui intresse une majorit
   de gens. Ils utiliseront alors leur PC Linux comme client.

   La procdure expose dans ce document va vous permettre d'tablir et
   d'automatiser votre connexion  Internet.

   Ce document va galement vous offrir un guide pour permettre de
   configurer un _serveur PPP_ sur votre PC Linux et relier ensemble deux
   rseaux (avec le routage complet) en utilisant PPP (cela est aussi
   appel une liaison WAN - wide area network).

1.2 Diffrences entre les distributions Linux

   Il y a de nombreuses distributions Linux diffrentes qui on leurs
   propres idiosyncrasies et faons de faire les choses.

   En particulier, il y a deux manires diffrentes sur une machine Linux
   (ou Unix) de dmarrer, configurer ses interfaces et ainsi de suite.

   Il y _l'initialisation BSD _et _l'initialisation SysV system_. Si vous
   consultez certains forums de discussion Unix, vous trouverez de temps
   en temps des guerres de religion entre les partisans de chacun des
   deux systmes. Si ce genre de chose vous plat, allez donc les
   rejoindre pour gcher de la bande passante avec eux !

   Les distributions les plus utilises sont sans doute :

     * Slackware
       qui utilise une initialisation systme BSD
     * Red Hat (et son prcdent associ Caldera)
       qui utilise une initialisation SysV system (bien qu'un peu
       modifie)
     * Debian
       qui utilise une initialisation SysV system

   Les initialisations de type BSD conservent typiquement ces fichiers
   dans /etc/ et ces fichiers sont :
     _________________________________________________________________

        /etc/rc
        /etc/rc.local
        /etc/rc.serial
                (et parfois d'autres fichiers)
     _________________________________________________________________

   Rcemment, certaines initialisation systmes BSD se mettaient 
   utiliser un rpertoire /etc/rc.d/ contenant les fichiers de dmarrage
   plutt que de tout mettre dans /etc.

   L'initialisation System V conserve ses fichiers d'initialisation dans
   les rpertoires /etc/ ou /etc/rc.d et un certain nombre de
   sous-rpertoires de ces derniers.
     _________________________________________________________________

drwxr-xr-x   2 root     root         1024 Jul  6 15:12 init.d
-rwxr-xr-x   1 root     root         1776 Feb  9 05:01 rc
-rwxr-xr-x   1 root     root          820 Jan  2  1996 rc.local
-rwxr-xr-x   1 root     root         2567 Jul  5 20:30 rc.sysinit
drwxr-xr-x   2 root     root         1024 Jul  6 15:12 rc0.d
drwxr-xr-x   2 root     root         1024 Jul  6 15:12 rc1.d
drwxr-xr-x   2 root     root         1024 Jul  6 15:12 rc2.d
drwxr-xr-x   2 root     root         1024 Jul 18 18:07 rc3.d
drwxr-xr-x   2 root     root         1024 May 27  1995 rc4.d
drwxr-xr-x   2 root     root         1024 Jul  6 15:12 rc5.d
drwxr-xr-x   2 root     root         1024 Jul  6 15:12 rc6.d
     _________________________________________________________________

   Si vous essayez de chercher o votre interface et les routes rseau
   associes sont configures, vous devez parcourir tous les fichiers
   pour parvenir  trouver o sont les commandes correspondantes.

1.3 Outils de configuration spcifiques aux distributions

   Dans certaines installations (par exemple Red Hat et Caldera), il y a
   un systme de configuration des PPP sous X Window. Ce HOWTO ne traite
   pas de ces outils spcifiques aux distributions. Si vous avez des
   problmes avec ceux-ci, contactez directement les distributeurs !

   Pour les utilisateurs de Red Hat 4.x, il y a maintenant un Red Hat
   PPP-TIP dans la partie Linux ressources et galement chez Red Hat
   Software dans la partie support.

2. Adresse IP

   Tout matriel connect  Internet doit avoir sa propre, et unique
   adresse IP. Elle sont distribues de faon centralise par l'autorit
   dsigne pour chaque pays.

   Si vous tes connects par un rseau local (LAN)  Internet, _VOUS
   DEVEZ_ utiliser une adresse IP de votre propre domaine d'adresses qui
   vous a t assign pour les ordinateurs et matriels de votre rseau
   local. Vous _NE DEVEZ PAS_ prendre n'importe quelle adresse IP et
   l'utiliser lorsque vous vous connectez avec un autre rseau local (et
    plus forte raison Internet). Au pire a ne marchera pas du tout et
   cela peut causer des ravages puisque votre adresse IP 'vole' va
   interfrer avec les communications d'un autre ordinateur qui utilise
   dj l'adresse IP que vous avez prise au hasard.

   Remarquez que les adresses IP de ce document appartiennent ( part
   quelques exceptions) aux adresses de rseaux non connects qui sont
   rserves aux rseaux qui ne sont pas (encore) connects  Internet.
   (RFC1918)

   Il y a des adresses IP qui sont spcifiquement destines aux rseaux
   locaux qui ne sont pas connects  Internet. Ces adresses IP sont :

     * Une Adresse Rseau de Classe A
       10.0.0.0 (netmask 255.0.0.0)
     * 16 Adresses Rseau de Classe B
       172.16.0.0 - 172.31.0.0 (netmask 255.255.0.0)
     * 256 Adresses Rseau de Classe C
       192.168.0.0 - 192.168.255.0 (netmask 255.255.255.0)

   Si vous avez un rseau pour lequel vous _n'avez pas_ allou d'adresse
   IP auprs de l'autorit responsable de votre pays, vous devez utiliser
   une des adresses rseau de la squence prcdente pour vos machines.

   Ces adresses ne doivent _jamais_ tre utilises sur Internet.

   Cependant, elles peuvent tre utilises pour les rseaux locaux
   Ethernet sur la machine qui est connecte  Internet. C'est parce que
   les adresses IP sont en fait alloues aux interfaces rseau et non 
   l'ordinateur. Ainsi, votre interface Ethernet peut utiliser 10.0.0.1
   (par exemple), et quand vous vous connecterez  Internet en utilisant
   PPP, votre interface PPP rcuprera une autre adresse IP (valide) du
   serveur. Votre PC sera connect  Internet alors que les autres ne le
   seront pas.

   Cependant, en utilisant Linux, les capacits de IP Masquerading (aussi
   appel NAT - Network Adress Translation) de Linux et du programme
   _ipfwadm_, vous pouvez connecter votre rseau local  Internet (avec
   quelques restrictions sur les services), mme si vous n'avez pas
   d'adresse IP valide pour vos machines en Ethernet.

   Pour plus d'informations sur le sujet, consulter le mini-HOWTO IP
   Masquerade  Linux IP Masquerade mini HOWTO

   Pour la plupart des utilisateurs, qui sont connects avec une seule
   machine  leur fournisseur d'accs Internet (FAI) par PPP, obtenir une
   adresse IP (ou plus largement une adresse rseau) n'est pas
   ncessaire.

   Si vous souhaitez connecter un petit rseau local  Internet, de
   nombreux FAI peuvent vous fournir un sous-rseau ddi (une squence
   spcifique d'adresses IP) sur leur espace d'adresses IP existant.
   Alternativement, utilise IP masquerading.

   Pour les utilisateurs qui connectent un seul PC  Internet, la plupart
   des FAI utilise l'allocation _dynamique_ des adresses IP. C'est
   pendant le processus de connexion que le service PPP que vous
   contactez va indiquer  votre machine quelle adresse IP utiliser pour
   l'interface PPP pendant la session en cours. Cette adresse ne sera pas
   forcment la mme  chaque fois que vous vous connecterez  votre FAI.

   Avec les adresses IP dynamiques, vous _n'avez pas_ la mme adresse IP
    chaque fois que vous vous connectez. Cela a des rpercussions sur
   les applications de type serveur de votre machine Linux telles que
   Sendmail, ftpd, httpd et d'autres. Ces services supposent que
   l'ordinateur offrant le service soit accessible tout le temps  la
   mme adresse IP (ou au moins au mme nom de domaine qualifi, et que
   la rsolution des noms par DNS du nom vers l'adresse IP est
   disponible).

   Les limitations de service dues aux allocations dynamiques d'adresses
   IP (et les faons d'viter cela, quand c'est possible) sont dcrites
   plus loin.

3. Buts de ce document

3.1 Mettre en place un client PPP

   Ce document fournit un guide aux personnes qui souhaitent utiliser
   Linux et PPP pour appeler un Serveur PPP et configurer une connexion
   IP avec PPP. Cela suppose que PPP ait t compil et install sur
   votre machine Linux (mais une brve description de la
   reconfiguration/recompilation de votre noyau avec le support PPP est
   fournie).

   Bien que dip (la manire standard de crer des connexions SLIP) puisse
   tre utilis pour mettre en place un connexion PPP, les scripts dip
   sont gnralement un peu complexes. Pour cette raison, ce document ne
   traite pas l'utilisation de dip pour lancer une connexion PPP.

   A la place, ce document dcrit les programmes standard Linux/PPP
   (chat/pppd).

3.2 Relier deux Rseaux locaux ou un rseau local  Internet grce  PPP

   Ce document donne des informations (de base) pour relier deux rseaux
   locaux entre eux ou un rseau local  Internet grce  PPP.

3.3 Configurer un serveur PPP

   Ce document fournit un guide pour configurer votre PC Linux comme
   serveur PPP (autorisant d'autres personnes  appeler votre PC Linux et
   tablir une connexion PPP).

   Notez qu'il y a un grand nombre de faons de configurer Linux comme
   serveur PPP. Ce document donne une mthode - qui est utilise par
   l'auteur pour configurer quelques petits serveurs PPP (chacun avec 16
   modems).

   Cette mthode est connue pour fonctionner correctement. Cependant, ce
   n'est pas forcment la meilleure mthode.

3.4 Utiliser PPP avec une connexion Null-Modem directe

   Ce document offre un bref aperu d'utilisation de PPP pour relier deux
   PC Linux avec un cble null modem. Il est possible de relier d'autres
   Systmes d'exploitation  Linux de cette faon galement. Pour ce
   faire, utiliser la documentation du systme d'exploitation pour lequel
   vous tes intress.

3.5 Pour le moment ce document ne couvre pas...

     * La compilation du daemon PPP
       Regarder la documentation fournie avec la version de pppd que vous
       utilisez.
     * Connecter et configurer un modem sous Linux (en dtail)
       Regarder le Serial-HOWTO et pour les initialisations spcifiques
       au modem, voir Modem Setup Information des informations qui
       pourraient vous aider  configurer votre modem.
     * Utiliser dip pour faire des connexion PPP
       utiliser chat  la place
     * Utiliser socks ou IP Masquerading
       Il y a d'excellents documents qui couvrent dj ces paquetages.
     * Utiliser EQL pour regrouper deux modems pour une seule connexion
       PPP.
     * Les mthodes de connexion PPP spcifiques aux distributions (comme
       l'outil de configuration rseau de la Red Hat 4.x). Voir votre
       distribution pour la documentation sur les mthodes utilises.
     * Le nombre croissant d'outils disponibles pour automatiser les
       connexions PPP
       Voir la documentation approprie.

4. Versions des logiciels traits

   Ce HOWTO suppose que vous utilisez un noyau Linux 1.2.X avec le
   programme PPP 2.1.2 ou Linux 1.3.X/2.0.x et PPP 2.2.

   Au moment de la rdaction, la dernire version officielle de PPP
   disponible est ppp-2.2.0f. La nouvelle version (ppp-2.3) est encore en
   beta.

   Il est possible d'utiliser PPP 2.2.0 avec le noyau 1.2.13. Cela
   ncessite des patchs pour le noyau. Il est recommand aux utilisateurs
   du noyau 1.2.13 de passer  ppp-2.2 puisqu'il inclut quelques
   extensions et corrections de bogues.

   _Vous devez galement tre particulirement vigilant et ne pas
   utiliser le programme PPP 2.1.2 avec un noyau Linux 2.0.X._

   Veuillez remarquer que ce document _ne traite pas_ des problmes
   venant de l'utilisation de modules chargeables pour votre noyau Linux
   2.0.x. Consulter le mini-HOWTO kerneld et la documentation
   kerneld/module 2.0.x (dans les sources de Linux 2.0.x 
   /usr/src/linux/Documentation/..).

   _Puisque ce document est destin  aider les nouveaux utilisateurs, il
   est fortement recommand d'utiliser une nouvelle version du noyau
   Linux et la version approprie de PPP qui sont connus pour fonctionner
   ensemble._

5. D'autres documents utiles/importants

   Je conseille aux utilisateurs de lire :
     * la documentation accompagnant le paquetage PPP;
     * les pages de manuel de pppd et chat;
       (utiliser man chat et man pppd pour les lire)
     * La page de configuration des modems - voir Modem Setup Information
     * Les excellents livres Unix/Linux publis par O'Reilly and
       Associates. ( O'Reilly and Associates On-Line Catalogue). Si vous
       tes nouveau  Unix/Linux, _courez_ (ne marchez pas) au plus
       proche marchand de livres informatiques et investissez dans un
       certain nombre d'entre eux immdiatement !
     * La PPP-FAQ maintenue par Al Longyear, disponible sur Linux
       PPP-FAQ.
       Elle contient un grand nombre d'informations utiles sous forme de
       questions/rponses indispensable lorsque l'on cherche pourquoi PPP
       ne fonctionne pas (correctement).
     * Le nombre croissant de livre Linux venant des diffrents diteurs
       et auteurs;
       Vous tes encourags  vrifier la date de parution de ces livres.
       Le dveloppement et la distribution de Linux tendent  tre plutt
       rapides, alors que la mise  jour des livres est (gnralement)
       bien plus lente ! Acheter un excellent livre (et il y en a) qui
       est dj dpass entraine une confusion et une frustration
       considrable pour les nouveaux utilisateurs.

   Le meilleur point de dpart pour la documentation Linux est The Linux
   Documentation Project Home Page. Les HOWTO sont mis  jour
   raisonnablement rgulirement.

   Bien que vous puissiez utiliser ce document pour crer votre liaison
   PPP sans lire aucun de ces documents, vous devriez avoir une bien
   meilleure comprhension de ce qu'il se passe si vous le faites ! Vous
   pouvez galement exposer vous-mme vos problmes (ou du moins poser
   les questions les plus intelligentes sur les groupes de discussion
   comp.os.linux... ou fr.comp.os.linux/unix... ou les mailing list
   Linux).

   Ces documents (ainsi que quelques autres, comme les RFCs
   correspondants) fournissent des explications complmentaires et plus
   dtailles que ce qui est possible dans les HOWTO.

   Si vous connectez un rseau local  Internet avec PPP, vous avez
   besoin de connatre un certain nombre de choses sur les rseaux
   TCP/IP. En complment des documents prcdents, vous trouverez dans
   les livres O'Reilly "TCP/IP Network Administration" et "Building
   Internet Firewalls" un bnfice considrable !

5.1 Les Mailing Listes utiles

   Il y a de nombreuses mailing listes (listes de diffusion) Linux qui
   servent de moyen de communication entre les utilisateurs dans de
   nombreux domaines. Souscrivez absolument  celles qui vous intressent
   pour donner votre point de vue.

   _Remarques de bon sens_: certaines listes sont spcifiquement destins
   au utilisateurs "experts" et/ou  certains sujets spcifiques. Mme si
   personne ne se plaindra que vous soyez voyeur (souscrire sans poster
   de messages), vous recevrez certainement des commentaires chauds
   (voire des flammes) si vous postez des questions de dbutant dans les
   listes innappropries.

   Ce n'est pas parce que les utilisateurs gourous dtestent les nouveau
   utilisateurs, mais parce que ces listes sont l pour contenir des
   remarques spcifiques  un certain niveau de difficult.

   Vous tes largement encourags  souscrire librement  diffrentes
   listes mais faites absolument des commentaires qui cadrent avec le
   sujet (et le niveau) de la liste !

   Un bon point de dpart pour les mailing-list Linux est Linux Mailing
   List Directory

6. Prsentation de ce qui doit tre fait pour faire fonctionner PPP comme
client

   Ce document contient un grand nombre d'informations - qui augmente 
   chaque version !

   Par consquent, cette section a pour but de fournir une prsentation
   concise des actions pour connecter votre systme Linux comme client 
   un serveur PPP.

6.1 Obtenir/installer les programmes

   Si votre distribution Linux ne contient pas les programmes PPP, vous
   devez les obtenir sur the Linux PPP daemon

   C'est la dernire version officielle lors de la rdaction du document.
   Cependant, prenez la dernire version disponible sur ce site (ppp-2.3
   tait en bta lors de la rdaction de ce document et devrait sortir
   bientt).

   Le paquetage PPP contient les instructions sur la faon de compiler et
   d'installer le logiciel _donc ce HOWTO n'en parlera pas_. !

6.2 Compiler le support PPP dans le noyau

   L'installation de PPP Linux se divise en deux parties
     * le daemon PPP mentionn ci-dessus
     * le support PPP dans le noyau

   De nombreuses distributions semblent fournir un support PPP dans les
   noyaux installs par dfaut, mais certaines ne le font pas.

   Si lors du boot, le noyau donne un message ressemblant  :
     _________________________________________________________________

PPP Dynamic channel allocation code copyright 1995 Caldera, Inc.
PPP line discipline registered.
     _________________________________________________________________

   Votre noyau  le support PPP compil.

   Toutefois, vous devez recompiler votre propre noyau quelque soit votre
   distribution pour fournir l'utilisation la plus efficace possible des
   ressources disponibles et de votre configuration matrielle
   personnelle. Il est bon de savoir que le noyau ne peut tre swapp
   hors de la mmoire. Avoir un noyau le plus petit possible est donc
   intressant surtout pour une machine limite en mmoire.

   Ce document fournit les instructions minimales pour la re-compilation
   du noyau  la section Configurer votre noyau Linux.

   Pour plus de dtails, voir le Kernel-HOWTO  The Linux Kernel HOWTO

6.3 Obtenir les informations pour votre fournisseur d'accs  Internet

   Il y a presque une infinit de manires de configurer un serveur PPP.
   Pour se connecter chez votre fournisseur d'accs (ou un serveur PPP
   pour accder  votre intranet), vous devez obtenir des informations
   sur la faon dont le serveur fonctionne.

   Puisque vous utilisez Linux, vous pourriez avoir quelques difficults
   avec le support de certains FAI (et les serveurs Intranet
   d'entreprise) qui ne connaissent que les clients MS-Windows.

   Toutefois, un nombre croissant de FAI utilisent Linux pour offrir leur
   service - et Linux pntre galement l'environnement industriel, vous
   devriez rduire ainsi les chances de rencontrer des problmes.

   La section Fournir les informations dont vous avez besoin pour votre
   serveur PPP vous explique ce dont vous devez savoir sur le serveur PPP
   sur lequel vous vous connectez et comment obtenir les informations
   dont vous avez besoin.

6.4 Configurer votre modem et votre port srie

   Pour se connecter  un serveur PPP et obtenir le meilleur taux de
   transfert possible, votre modem doit tre configur correctement.

   De la mme faon, les ports srie de votre modem ainsi que votre
   ordinateur doivent tre configurs correctement.

   La section Configurer votre modem et votre port srie fournit des
   informations  ce sujet.

6.5 Mettre en place la rsolution de noms (DNS)

   En plus des fichiers qui lancent PPP et automatisent la connexion sur
   le serveur PPP, il y a un grand nombre de fichiers de configuration
   qui sont mis en place pour que votre ordinateur puisse rsoudre les
   noms comme www.interweft.com.au vers l'adresse IP qui est rellement
   utilise pour contacter cet ordinateur. Ces fichiers sont :

     * /etc/resolv.conf
     * /etc/host.conf

   Voir la section Configurer la rsolution de nom vers l'adresse pour
   une configuration dtaille de cela.

   En particulier, vous _n'avez pas besoin_ de lancer un serveur de nom
   sur votre PC Linux pour le connecter  Internet (sauf si vous le
   souhaitez). Tout ce dont vous avez besoin est de connatre l'adresse
   IP d'au moins l'un des serveurs de noms que vous pouvez utiliser
   (plutt celui de votre fournisseur d'accs).

6.6 PPP et les privilges root

   Puisqu'tablir une liaison PPP entre votre ordinateur Linux et un
   autre serveur PPP ncessite la manipulation des priphriques rseau
   (l'interface PPP est une interface rseau) et des tables de routages
   du noyau, pppd ncessite les privilges _root_.

   Pour des dtails l-dessus, voir la section Utiliser PPP et les
   privilges root.

6.7 Vrifier les fichiers de votre distribution PPP et configurer les options
de PPP

   Il y a un certain nombre de fichiers de configuration et d'appel qui
   doivent tre configurs pour rendre PPP oprationnel. Des exemples
   sont fournis avec la distribution de PPP et cette section montre quels
   fichiers il doit y avoir :
     _________________________________________________________________

/etc/ppp/options
/etc/ppp/scripts/ppp-on
/etc/ppp/scripts/ppp-on-dialer
/etc/ppp/options.tpl
     _________________________________________________________________

   Vous devrez crer des fichiers supplmentaires en fonction de ce que
   vous souhaitez exactement utiliser avec PPP :
     _________________________________________________________________

/etc/ppp/options.ttyXX
/etc/ppp/ip-up
/etc/ppp/pap-secrets
/etc/ppp/chap-secrets
     _________________________________________________________________

   En plus, le daemon PPP peut traiter un grand nombre d'options en ligne
   de commande et il est important d'utiliser les bonnes; ainsi cette
   section montre les options standard de PPP et vous aide  choisir les
   options que vous utiliserez.

   Pour les dtails  ce sujet, voir en section Configurer les fichiers
   de connexion de PPP.

6.8 Si votre serveur PPP utilise PAP (Password Authentication Protocol)

   De nombreux fournisseurs d'accs et serveurs PPP utilisent PAP. Si
   votre serveur _n'a pas_ besoin d'utiliser PAP (si vous pouvez vous
   connecter  la main et recevoir les messages textes de nom
   utilisateur/mot de passe il n'utilise pas PAP), vous pouvez
   tranquillement ignorer cette section.

   Plutt que se connecter dans de tels serveurs en utilisant le nom
   utilisateur et le mot de passe quand vous tes interrogs par le
   serveur pour les entrer, un serveur PPP utilisant PAP n'a pas besoin
   de login bas sur du texte.

   Les informations d'authentification de l'utilisateur sont changes 
   la place comme partie prenante du protocole de contrle de connexion
   qui est la premire partie de l'tablissement d'une liaison PPP.

   La section Si votre serveur PPP utilise PAP (Password Authentification
   Protocol) fournit des informations sur les fichiers dont vous avez
   besoin pour tablir une connexion PPP en utilisant PAP.

6.9 Se connecter au serveur PPP  la main

   Une fois les fichiers de base configurs, c'est une bonne ide que
   d'essayer ceux-ci en se connectant (avec minicom ou seyon) et de
   lancer pppd sur votre PC Linux  la main.

   Voir la section Configurer une connexion PPP  la main pour des
   dtails complets.

6.10 Automatiser votre connexion PPP

   Une fois que vous pouvez vous connecter  la main, vous allez
   maintenant commencer  configurer les scripts qui vont automatiser la
   mise en place de la connexion.

   La section Automatiser votre connexion - Crer les scripts de
   connexion couvre la configuration des fichiers ncessaires, et la mise
   en place des scripts et du processus de login avec le serveur PPP,
   ainsi que des dtails complets sur chat.

   Cette section traite des scripts d'authentification du nom
   utilisateur/mot de passe ainsi que des scripts d'authentification pour
   les serveurs PAP/CHAP.

6.11 Terminer la connexion

   Une fois que votre connexion est active et fonctionne, vous devez
   pouvoir dsactiver la liaison.

   Consultez la section Terminer une connexion PPP.

6.12 Si vous avez des problmes

   De nombreuses personnes ont des problmes pour faire fonctionner PPP
   directement. Les diffrences entre les serveurs PPP et la faon dont
   il faut configurer la connexion sont normes. De plus, PPP a de
   nombreuses options - et certaines combinaisons d'entre elles ne
   fonctionnent absolument pas ensemble.

   En plus des problmes de journalisation et de dmarrage du service
   PPP, il y a des problmes lis aux modems et aux lignes de tlphones
   qui s'ajoutent !

   La section Rsoudre les problmes fournit des informations de base au
   sujet des erreurs classiques, et la faon de les isoler et de les
   corriger.

   Elle _n'est toutefois pas_ destine  offrir plus que les informations
   de base. Al Longyear maintient la PPP-FAQ qui contient bien plus
   d'informations  ce sujet !

6.13 Une fois que la connexion est lance

   Une fois que la liaison PPP est oprationnelle (spcifiquement, une
   fois que les trames IP fonctionnent), pppd peut lancer automatiquement
   (comme utilisateur root) un script pour accomplir n'importe quelle
   fonction qu'un script peut accomplir.

   La section Une fois que la connexion est lance fournit des
   informations sur le script /etc/ppp/ip-up, les paramtres que PPP lui
   envoie et comment l'utiliser pour rcuprer votre courrier
   lectronique de votre compte de votre fournisseur d'accs, ou envoyer
   les messages en attente de transmission sur votre machine.

6.14 Problmes avec les services IP standards et l'adresse IP dynamique de la
liaison PPP.

   Comme cela est mentionn dans l'introduction, les adresses IP
   dynamiques affectent la capacit de votre PC Linux  agir comme un
   serveur sur Internet.

   La section Problmes avec les services IP standard et l'adresse IP
   dynamique de la liaison PPP fournit des informations sur les
   (principaux) services affects et ce que vous pouvez faire (si c'est
   possible) pour contourner cela.

7. Configurer votre noyau Linux

   Pour utiliser PPP, votre noyau Linux doit tre compil avec le support
   PPP. Rcuprez le code source de votre noyau Linux si vous ne l'avez
   pas encore - il se situe dans /usr/src/linux dans un systme de
   fichiers Linux standard.

   Vrifiez ce rpertoire - de nombreuses distributions installent les
   sources (fichiers et rpertoires) pendant leur processus
   d'installation.

   Au dmarrage, votre noyau crit une grande quantite d'informations.
   Parmi elles, est indiqu si le noyau contient le support PPP. Pour
   afficher ces informations, regardez votre fichier syslog, ou utilisez
   dmesg | less pour afficher ces informations  l'cran. Si votre noyau
   contient le support PPP, vous verrez quelques lignes du genre
     _________________________________________________________________

PPP Dynamic channel allocation code copyright 1995 Caldera, Inc.
PPP line discipline registered.
     _________________________________________________________________

   (pour les noyau Linux version 2.0.x)

   Les sources du noyau Linux sont disponibles par ftp  sunsite.unc.edu
   ou ses nombreux miroirs, en particulier ftp.lip6.fr.

7.1 Installer les sources du noyau

   La suite regroupe de brves instructions pour obtenir et installer les
   sources du noyau Linux. Des informations compltes sont disponibles a
   The Linux Kernel HOWTO.

   Pour installer et compiler le noyau Linux vous devez tre root.

    1. Changer de rpertoire vers /usr/src/
       cd /usr/src/
    2. Vrifier dans /usr/src/linux pour voir si les sources sont dj
       installes.
    3. Si vous n'avez pas les sources, rcuprez les  Linux kernel
       source directory ou sur un miroir plus proche comme ftp.lip6.fr.
       Si vous cherchez une version plus ancienne du noyau (comme la
       1.2.X), elles sont conserves dans Old Linux kernel source
       directory.
    4. Choisissez le noyau appropri - gnralement le plus rcent
       disponible est le meilleur. Le rcuprer et mettre le fichier tar
       dans /usr/src.
       _Remarque_: un fichier 'tar' est une archive - parfois compresse
       (comme le sont les fichiers tar des sources du noyau Linux) il
       contient de nombreux fichiers rpartis dans plusieurs rpertoires.
       C'est l'quivalent Linux des fichiers multi-rpertoires sous
       MS-DOS.
    5. Si vous avez dj les sources de Linux installes, mais que vous
       voulez les mettre  jour, il faut effacer les anciens fichiers.
       Utiliser la commande
       rm -rf /usr/src/linux
    6. Maintenant dcompresser et extraire les sources avec la commande
       tar xzf linux-2.0.XX.tar.gz
    7. Maintenant, cd /usr/usr/linux et lire le fichier README. Il
       contient une excellente explication de la faon de faire pour
       configurer et compiler un nouveau noyau. Lisez ce fichier (c'est
       une bonne ide de l'imprimer pour en garder une copie sous la main
       quand vous compilerez votre noyau jusqu' ce que vous l'ayez fait
       suffisamment pour vous dbrouiller tout seul).

7.2 Connatre votre matriel

   Vous _DEVEZ_ savoir quelles cartes/priphriques vous avez dans votre
   PC si vous commencer  recompiler votre noyau !!! Pour certains
   priphriques (comme les cartes sons) vous devez galement connaitre
   quelques paramtres (comme les IRQ et les adresse I/O et des choses du
   genre).

7.3 Compilation du noyau - le noyau Linux 1.2.13

   Pour commencer le processus de configuration, suivre les instructions
   du fichier README pour installer les sources correctement. Vous lancez
   le processus de configuration du noyau avec

make config

   Pour utiliser PPP, vous devez configurer le noyau pour inclure le
   support PPP (PPP a besoin DE pppd ET DU support de PPP dans le noyau).
     _________________________________________________________________

  PPP (point-to-point) support (CONFIG_PPP) [n] y
     _________________________________________________________________

   Rpondre aux autres questions du make config en accord avec le
   matriel de votre PC et les caractristiques que vous souhaitez pour
   votre systme d'exploitation Linux. Continuer ensuite  suivre les
   instructions de compilation et d'installation du README pour votre
   nouveau noyau.

   Le noyau 1.2.13 crait seulement 4 priphriques PPP. Pour les cartes
   sries multiports, vous devez diter les sources du noyau PPP pour
   avoir plus de ports. (Voir le fichier README.Linux accompagnant la
   distribution de PPP-2.1.2 pour des dtails complets des ditions
   simples que vous devez faire).

   Remarque : la configuration du noyau 1.2.13 ne permet pas de revenir
   en arrire - si vous faites une erreur en rpondant  une des
   questions dans le make config quitter avec CTRL-C et recommencer.

7.4 Compilation du noyau Linux 1.3.x et 2.0.x

   Pour Linux 1.3.x et 2.0.x, vous pouvez utiliser le mme processus que
   pour Linux 1.2.13. De mme, suivez les instructions du fichier README
   pour installer les sources correctement. Vous lancez la configuration
   du noyau avec

make config

   Cependant, vous pouvez aussi utiliser

make menuconfig

   Qui fournit un systme de configuration avec une aide en ligne et vous
   pouvez avancer et reculer dans la configuration.

   Il y a aussi l'interface de configuration sous X-Window chaudement
   recommande

make xconfig

   Vous pouvez compiler le support PPP directement dans votre noyau ou
   sous la forme d'un module chargeable dynamiquement.

   Si vous utilisez PPP occasionnellement, alors compiler le support PPP
   en module chargeable est recommand. Avec kerneld, votre noyau
   chargera automatiquement le(s) module(s) ncessaires pour fournir le
   support PPP quand vous lancerez une liaison PPP. Cela permet
   d'conomiser une partie de l'espace mmoire : le noyau ne peut tre
   swapp, alors que les modules chargeables sont automatiquement enlevs
   si ils ne sont pas utiliss.

   Pour cela, vous devez activer le support des modules chargeables :
     _________________________________________________________________

        Enable loadable module support (CONFIG_MODULES) [Y/n/?] y
     _________________________________________________________________

   Pour ajouter le support PPP  votre noyau, rpondre  la question
   suivante :
     _________________________________________________________________

        PPP (point-to-point) support (CONFIG_PPP) [M/n/y/?]
     _________________________________________________________________

   Pour un module chargeable, rpondre _M_, sinon pour le compiler
   directement dans le noyau, rpondre _Y_.

   A la diffrence du 1.2.13, le noyau 2.0.x cre les priphriques PPP
   au vol et selon les besoins, et il n'y a absolument pas besoin de
   bricoler le source pour augmenter le nombre de priphriques PPP.

7.5 Remarque sur PPP-2.2 et /proc/net/dev

   Si vous utilisez PPP-2.2, vous trouverez qu'un problme de la cration
   des priphriques PPP 'au vol' est qu'aucun priphrique n'est trouv
   dans le fichier /proc/net tant qu'un priphrique n'est pas cr avec
   le lancement de pppd :
     _________________________________________________________________

[hartr@archenland hartr]$ cat /proc/net/dev
Inter-|   Receive                  |  Transmit
 face |packets errs drop fifo frame|packets errs drop fifo colls carrier
    lo:  92792    0    0    0    0    92792    0    0    0     0    0
  eth0: 621737   13   13    0   23   501621    0    0    0  1309    0
     _________________________________________________________________

   Une fois que vous avez un (ou plus) services ppp lancs, vous verrez
   des entres comme celles-ci (sur un serveur PPP) :
     _________________________________________________________________

[root@kepler /root]# cat /proc/net/dev
Inter-|   Receive                  |  Transmit
 face |packets errs drop fifo frame|packets errs drop fifo colls carrier
    lo: 428021    0    0    0    0   428021    0    0    0     0    0
  eth0:4788257  648  648  319  650  1423836    0    0    0  4623    5
  ppp0:   2103    3    3    0    0     2017    0    0    0     0    0
  ppp1:  10008    0    0    0    0     8782    0    0    0     0    0
  ppp2:    305    0    0    0    0      297    0    0    0     0    0
  ppp3:   6720    7    7    0    0     7498    0    0    0     0    0
  ppp4: 118231  725  725    0    0   117791    0    0    0     0    0
  ppp5:  38915    5    5    0    0    28309    0    0    0     0    0
     _________________________________________________________________

7.6 Considrations gnrales sur la configuration du noyau pour PPP

   Si vous configurez votre PC Linux comme un serveur PPP, vous devez
   activer le support IP Forwarding. Il est galement ncessaire si vous
   voulez utiliser Linux pour relier deux rseaux locaux entre eux ou un
   rseau local  Internet.

   Si vous reliez un rseau local  Internet (ou reliez deux rseaux
   entre eux), vous devez tre concerns par la scurit. Ajouter le
   support pour IP firewall dans votre noyau est alors sans doute
   obligatoire !

   Vous aurez galement besoin, d'utiliser IP Masquerade pour relier un
   rseau local qui utilise les adresses IP non connectes mentionnes
   plus haut.

   Pour activer IP Masquerade et IP firewalling, vous _DEVEZ_ rpondre
   Oui  la premire question de make config :
     _________________________________________________________________

Prompt for developement and/or incomplete code/drivers (CONFIG_EXPERIMENTAL)?
     _________________________________________________________________

   Bien que cela puisse sembler un peu bizarre aux nouveaux utilisateurs,
   je confirme que de nombreux utilisateurs utilisent les possibilits de
   IP Masquerading et de IP firewalling du noyau Linux 2.0.X sans
   problmes.

   Une fois que vous avez install et boot votre nouveau noyau, vous
   pouvez commencer  configurer et  tester votre liaison PPP.

8. Fournir les informations dont vous avez besoin pour votre serveur PPP

   Avant d'tablir la connexion PPP avec un serveur, vous devez obtenir
   les informations suivantes (de l'administrateur systme/support
   utilisateur/ personnes grant le serveur PPP) :
     * Le numro de tlphone  composer pour le service
       Si vous tes derrire un standard, vous avez aussi besoin du
       numro qui vous permet de sortir  l'extrieur du standard - c'est
       gnralement le chiffre zro (0) ou neuf(9).
     * Est-ce que le serveur utilise des adresse IP DYNAMIQUES ou
       STATIQUES ?
       Si le serveur utilise des adresses IP STATIQUES, vous devez savoir
       quelle adresse IP utiliser  la fin de la connexion PPP. Si votre
       FAI vous fournit une adresse de sous-rseau valide, vous devez
       connatre le masque de sous-rseau  utiliser (netmask).
       La plupart des FAI utilisent des adresses IP DYNAMIQUES. Comme
       cela est mentionn plus haut, cela a des impliquations sur les
       services que vous pouvez utiliser.
       Cependant, mme si vous utilisez des adresses IP STATIQUES, la
       plupart des serveurs PPP ne laisseront jamais (pour des raisons de
       scurit) les clients spcifier leur adresse IP car c'est un
       risque pour la scurit. Vous _devez_ connatre aussi cette
       information !
     * Quel sont les adresses IP des serveur de noms des fournisseurs
       d'accs ?
       Il doit y en avoir au moins deux, mme si un seul suffit.
       Il peut y avoir un problme  ce niveau. Le service PPP de MS
       Windows 95 permet que l'adresse DNS soit transmise au client dans
       le processus de connexion. Ainsi, votre fournisseur d'accs
       pourrait vous rpondre que vous n'avez pas besoin de l'adresse IP
       du serveur DNS.
       Avec Linux, vous _devez_ connatre l'adresse d'au moins un DNS.
       L'implmentation PPP de Linux ne permet pas de configurer
       dynamiquement  la connexion l'adresse du serveur DNS - et ne
       pourra certainement jamais.
       _Remarque_: bien que Linux (comme client PPP) ne peut pas recevoir
       d'adresse DNS du serveur, il peut, en tant que serveur, envoyer
       l'information au client en utilisant l'option dns-addr de pppd.
     * Est-ce-que le serveur a besoin d'utiliser PAP/CHAP ?
       Si tel est le cas, vous devez connatre le id et le secret que
       vous avez pour vous connecter. (c'est probablement votre nom
       utilisateur et le mot de passe de votre fournisseur d'accs).
     * Le serveur est-il un systme Microsoft Windows NT et, dans ce cas,
       utilise-t-il le systme PAP/CHAP ?
       De nombreux fournisseurs d'accs semblent utiliser MS-Windows NT
       de cette faon pour amliorer la scurit.

   Attention  l'information suivante - elle risque d'tre utile !

9. Configurer votre modem et votre port srie

   Vous devez vous assurer que votre modem est correctement configur et
   que vous savez sur quel port srie il est branch.

   _Se souvenir que_ :
     * DOS COM1: = Linux /dev/cua0 (et /dev/ttyS0)
     * DOS COM2: = Linux /dev/cua1 (et /dev/ttyS1)
       etc.

   Il est galement bien de se souvenir que si vous avez 4 ports sries,
   la configuration standard d'un PC est d'avoir COM1 et COM3 partageant
   IRQ4 et COM2 et COM4 partageant IRQ3.

   Si vous avez des priphriques sur vos ports sries qui partagent une
   IRQ avec votre modem vous allez avoir des problmes. Vous devez vous
   assurer que le port srie de votre modem est sur sa propre et unique
   IRQ. De nombreuses cartes sries modernes (et les ports sries des
   cartes mres de bonne qualit) permettent de changer les IRQ des ports
   srie.

   Si vous utilisez le noyau Linux 2, vous pouvez afficher des IRQ
   actuellement utiliss avec cat /proc/interrupts, qui produira une
   sortie ressemblant  :
     _________________________________________________________________

 0:    6766283   timer
 1:      91545   keyboard
 2:          0   cascade
 4:     156944 + serial
 7:     101764   WD8013
10:     134365 + BusLogic BT-958
13:          1   math error
15:    3671702 + serial
     _________________________________________________________________

   Cela montre que le le port srie en IRQ4 (une souris) et le port srie
   en IRQ15 (un modem permanent bas sur PPP pour une liaison Internet).
   (Il y a galement un port srie sur le port COM2, IRQ3 et COM4 est
   dans l'IRQ14, mais comme ils ne sont pas utiliss, ils ne sont pas
   affichs).

   Avertissement - vous devez vous rendre compte de ce que vous faites
   lorsque vous voulez jouer avec vos IRQ ! Non seulement, vous devez
   ouvrir votre ordinateur, retirer vos cartes et jouer avec les jumpers,
   mais vous devez savoir ce qu'il y a sur chaque IRQ. Dans mon cas, j'ai
   un PC totalement SCSI, et j'ai donc dsactiv les interfaces IDE de la
   carte-mre qui utilisent normalement les IRQ14 et 15 !

   Je tiens galement  prciser que si votre PC utilise un autre systme
   d'exploitation, changer les IRQ pourrait bien signifier que votre OS
   ne bootera plus correctement, ou plus du tout !

   Si vous dplacez vos ports sries vers des IRQ non-standard, vous
   devez spcifier  Linux quel IRQ utilise chaque port. setserial permet
   de le faire, et de prfrence lors du processus de lancement dans
   rc.local ou rc.serial qui est appel dans rc.local ou comme une partie
   de l'initialisation SysV system. Pour la machine prsente ci-dessus,
   les commandes utilises sont
     _________________________________________________________________

/bin/setserial -b /dev/ttyS2 IRQ 11
/bin/setserial -b /dev/ttyS3 IRQ 15
     _________________________________________________________________

   Toutefois, si vous utilisez le module srie charg dynamiquement au
   besoin avec le processus kerneld, vous ne pouvez pas dfinir et perdre
   les IRQ  chaque redmarrage. Si le module srie est effac, Linux
   perds alors les configurations spciales.

   Donc, si vous chargez le module srie  la demande, vous devez
   reconfigurer les IRQ  chaque fois qu'il est charg.

9.1 Remarque au sujet des ports sries et des capacit de vitesse

   Si vous utilisez un modem haut dbit (externe) (14.400 Bits par
   seconde ou plus), votre port srie doit tre capable de suivre le
   dbit qu'un tel modem est capable de produire, en particulier si le
   modem compresse les donnes.

   Cela demande que votre port srie utilise un UART(Universal
   Asynchronous Receiver Transmitter) moderne comme un 16550(A). Si vous
   utilisez une vieille machine (ou une vieille carte srie), il est tout
    fait possible que votre port srie ait seulement un UART 8250, ce
   qui amnera des problmes considrables avec un modem haute vitesse.

   Utiliser la commande

setserial -a /dev/ttySx

   Pour que Linux vous affiche le type d'UART que vous avez. Si vous
   n'avez pas un UART de type 16550, acheter une nouvelle carte srie
   (disponible pour moins de 300 F). Quand vous acheterez une nouvelle
   carte, assurez vous que vous pouvez changer les IRQ !

   Remarque : les premires versions des puces UART 16550 avaient une
   erreur. Elle a t rapidement dcouverte et une mise  jour de la puce
   est sortie - l'UART 16550A. Un nombre relativement faible de puces
   errones ont cependant t mises en circulation. a serait de la
   malchance que d'un rcuprer une, en particulier sur certaines cartes
   d'occasion, mais il suffit de chercher la rponse qui s'appelle
   16550A.

9.2 Noms des ports srie

   Historiquement, Linux utilise les priphriques cuaX pour les appels
   sortants et ttySx pour les appels entrants.

   Le code du noyau a eu besoin de changer cela dans la version 2.0.x du
   noyau, et vous devez maintenant utiliser ttySx pour les appels
   entrants et sortants. Cela semble annoncer que les noms de
   priphriques cuaX devraient disparatre dans les futures versions du
   noyau.

9.3 Configuration de votre modem

   Vous devez configurer votre modem correctement pour PPP - pour cela,
   _LISEZ LE MANUEL DE VOTRE MODEM_ ! La plupart des modems ont _une
   configuration par dfaut en usine_ avec les options requises par PPP.
   La configuration minimale spcifie :
     * Contrle de flux matriel (RTS/CTS) (&K3 sur les modems Hayes)

   Les autres paramtres (en commandes Hayes standard) que vous devez
   vrifier sont :
     * La commande E1 Echo ON (ncessaire pour que chat fonctionne)
     * S0=0 Auto Answer OFF ( moins que vous ne vouliez que votre modem
       rponde au tlphone)
     * &C1 Carrier Detect ON seulement aprs la connexion
     * &S0 Data Set Ready (DSR) toujours ON
     * (variable) Data Terminal Ready

   Un site fournit la configuration des modems pour une varit de
   fabricants et de modles de modems croissante  Modem setup
   information qui devrait vous simplifier la configuration.

   Il est aussi intressant de vrifier comment fonctionne l'interface
   srie entre votre ordinateur et votre modem. La plupart des modems
   modernes vous permettent d'utiliser l'interface srie  une vitesse
   FIXE permettant  l'interface avec la ligne tlphonique de changer de
   vitesse pour atteindre la plus haute vitesse que les deux modems
   peuvent supporter.

   Cela s'appelle l'opration de division de la vitesse. Si votre modem
   le supporte, bloquer l'interface srie du modem  la vitesse
   disponible la plus rapide (d'habitude 115.200 bauds mais parfois
   38.400 pour les modems 14.400).

   Utiliser les outils de communication (c.--d. minicom ou seyon) pour
   accder  la configuration de votre modem, et l'adapter  ce qui est
   ncessaire  PPP. De nombreux modems renvoient leurs rglages courants
   aprs la commande AT&V, mais vous devez consulter le manuel de votre
   modem.

   Si vous avez compltement modifi les rglages, vous pouvez repartir
   sur des bases saines (gnralement) en envoyant AT&F - a retourne aux
   rglages usine. (Pour la majorit des modems que j'ai rencontr, les
   rglages usine on tout ce qu'il faut pour faire du PPP - mais vous
   devez vrifier).

   Un fois que vous avez la commande ncessaire pour configurer votre
   modem, crivez-l. Vous devez maintenant prendre une dcision : vous
   pouvez stocker ces paramtres dans la mmoire non-volatile de votre
   modem, comme cela vous pourrez la relancer en envoyant une commande AT
   approprie. Alternativement, vous pouvez passer le paramtrage correct
    votre modem lors du processus de connexion de PPP.

   Si vous utilisez uniquement votre modem sous Linux pour appeler votre
   FAI ou un serveur d'entreprise, la manire la plus simple est de
   sauver la configuration de votre modem dans la mmoire non-volatile.

   D'un autre cot, si votre modem est utilis par d'autres applications
   et systmes d'exploitation, il est plus sr de passer ces informations
   au modem  chaque appel que vous passez, comme cela, c'est sr que le
   modem sera bien configur lors de l'appel. (Cela a aussi l'avantage de
   conserver la ligne de configuration du modem au cas o le modem
   perdrait le contenu de sa NV-RAM, ce qui peut parfois arriver).

9.4 Remarque sur le contrle de flux srie

   Lorsque les donnes transitent sur les lignes de communication srie,
   il peut arriver que les donnes arrivent plus vite que l'ordinateur ne
   peut les traiter (l'ordinateur peut tre occup  faire autre chose -
   n'oubliez pas que Linux est un systme Multi-tches
   Multi-utilisateurs). Pour s'assurer que des donnes ne se sont pas
   perdues (les donnes n'arrivent pas dans le tampon d'entre pour se
   perdre ensuite), certaines mthodes de contrles sont ncessaires.

   Il y a deux faons de faire sur des lignes sries :
     * Utiliser des signaux matriels (Clear To Send/Request To Send
       CTS/RTS)
     * Utiliser des signaux logiciel (control S et control Q, aussi
       appels XON/XOFF).

   Bien que le dernier soit correct pour les liaisons vers des
   terminaux(texte), les donnes sur une liaison PPP utilisent les 8 bits
   - et il est fort probable que quelque part dans les donnes, un octet
   se traduis par un control S ou un control Q. Donc, si un modem est
   configur pour utiliser le contrle de flux, les choses vont
   rapidement s'envenimer !

   Pour les liaisons  haut dbit utilisant PPP (avec l'utilisation des 8
   bits de donnes) le contrle de flux matriel est vital, et c'est la
   raison pour laquelle vous devez utiliser le contrle de flux matriel.

9.5 Tester votre modem pour composer un numro

   Maintenant que vous en avez termin avec la configuration du modem et
   du port srie, il serait utile de vrifier si cette configuration
   marche vraiment en appelant votre fournisseur d'accs et voir si vous
   pouvez vous connecter.

   En utilisant le paquetage du terminal de communication (tel que
   minicom), la commande d'initialisation de votre modem pour PPP,
   appelez le serveur PPP sur lequel vous voulez vous connecter pour une
   session PPP.

   (Remarque :  ce niveau, nous _n'essayerons pas_ d'tablir la
   connexion PPP - mais juste d'tre sr que nous pouvons composer un
   numro et ainsi trouver _exactement_ ce que le serveur nous envoie
   pour se connecter et lancer PPP).

   Pendant le processus, soit vous capturez (dans un fichier) la totalit
   du processus de login soit vous notez attentivement (_trs
   attentivement_) _exactement_ ce que le serveur envoie pour savoir
   quand est le moment d'entrer votre nom utilisateur et votre mot de
   passe (et quelques autres commandes ncessaires pour tablir la
   connexion PPP).

   Si votre serveur utilise PAP, vous ne verrez pas de message de login,
   mais vous verrez  la place la (reprsentation texte) du protocole de
   contrle de liaison (une suite incohrente de caractres) s'afficher
   sur votre cran.

   Quelques mots d'avertissements :

     * certains serveurs sont relativement intelligents : vous pouvez
       vous connecter en utilisant un nom utilisateur /mot de passe bas
       sur du texte OU en utilisant PAP. Ainsi, si votre fournisseur
       d'accs ou votre serveur d'entreprise utilise PAP mais n'affiche
       pas le message directement, cela ne signifie pas que vous avez
       fait une erreur.
     * certains serveurs ont besoin que vous entriez du texte avant de
       lancer _ensuite_ la squence PAP standard.
     * Certains serveurs PPP sont passifs - il attendent et n'envoient
       rien tant que le client avec lequel il dialogue ne lui envoie un
       paquet LCP valide. Si le serveur PPP sur lequel vous vous
       connectez fonctionne en mode passif, vous ne verrez jamais de
       message !
     * Certains serveurs ne lancent pas PPP tant que vous n'avez pas
       press ENTREE - essayez donc cela si vous tes connect et ne
       voyez pas de message !

   Il est intressant de dialoguer au moins deux fois - certains serveurs
   changent leur message d'accueil (c.--d. avec le temps !) chaque fois
   que vous vous connectez. Les deux messages critiques que votre machine
   Linux doit pouvoir identifier chaque fois que vous vous vous connectez
   sont :
     * le message qui vous demande d'entrer votre nom utilisateur ;
     * le message qui vous demande d'entrer votre mot de passe ;

   Si vous avez tap une commande pour lancer PPP sur le serveur, vous
   devez aussi rechercher le message que le serveur vous envoie une fois
   que vous tes connect pour vous informer que vous pouvez entrer la
   commande pour lancer ppp.

   Si votre serveur lance automatiquement PPP, une fois que vous tes
   connect, vous allez voir des caractres s'afficher sur votre cran -
   c'est le serveur PPP qui envoie  votre machine les informations pour
   dmarrer et configurer la connexion PPP.

   a doit donner quelque chose comme ceci :
     _________________________________________________________________
     _________________________________________________________________

   (et a ne s'arrte pas !)

   Sur certains systmes, PPP doit tre explicitement lanc sur le
   serveur. Cela vient gnralement du fait que le serveur a t
   configur pour permettre aux connexions PPP et aux connexions Shell a
   utiliser les mmes paires nom utilisateur/mot de passe. Si c'est le
   cas, envoyez cette commande lorsque vous tes connect. Une nouvelle
   fois vous verrez des caractres que le serveur envoie  la fin du
   lancement de la connexion PPP.

   Si vous ne voyez pas directement aprs la connexion (et le processus
   de connexion et le lancement du serveur PPP si besoin), tapez _Entre_
   pour voir si le serveur PPP dmarre...

   A ce niveau, vous pouvez raccrocher votre modem (gnralement, taper
   +++ rapidement et envoyer la commande ATHO une fois que votre modem
   vous a rpondu OK).

   Si vous n'arrivez pas  faire fontionner votre modem, lisez le manuel
   du modem, les pages de manuel des programmes de communication, et le
   Serial HOWTO ! Une fois que vous aurez fait tout cela reprenez l'tape
   prcdente.

10. Configurer la rsolution de nom vers l'adresse (DNS)

   Alors que les humains aiment donner des noms aux choses, les
   ordinateurs prfrent les nombres. Sur un rseau TCP/IP (comme
   Internet), nous appelons les machines avec un nom particulier et
   chaque machine se trouve dans un "domaine" particulier. Par exemple,
   ma station de travail Linux s'appelle _archenland_ et se trouve dans
   le domaine _interweft.com.au_. Son adresse lisible par un humain est
   donc archenland.interweft.com.au (qui s'appelle le FQDN - nom de
   domaine totalement qualifi).

   Cependant, pour que cette machine soit trouve par les autres
   ordinateurs sur Internet, elle est rellement connue par son adresse
   IP lorsque les ordinateurs communiquent  travers Internet.

   Traduire (rsoudre) les noms de machines (et de domaine) en nombres
   rellement utiliss sur Internet est le travail de machines qui
   offrent le DNS.

   Ce qui se passe en fait :

     * Votre machine  besoin de savoir l'adresse IP d'un ordinateur
       particulier. L'application qui a besoin de cette information
       interroge le resolveur de votre PC Linux pour obtenir cette
       information;
     * Le rsolveur interroge le fichier local /etc/hosts et/ou les
       serveurs de noms des domaines qu'il connat (le comportement exact
       du rsolveur est dtermin dans /etc/hosts.conf);
     * si la rponse se trouve dans le fichier hosts, la rponse est
       renvoye;
     * si un serveur de nom est spcifi, votre PC interroge alors cette
       machine
     * si la machine DNS connat dj l'adresse IP du nom demand, elle
       le retourne. Si elle ne le connat pas, elle interroge un autre
       serveur de noms sur Internet pour trouver l'information. Le
       serveur de noms redescend alors les informations au rsolveur qui
       les a demand - qui les envoie  l'application qui l'a interrog.

   Quand vous utilisez une connexion PPP, vous devez indiquer  votre
   machine Linux o elle peut rcuprer l'adresse IP  partir du nom
   (rsolution des adresses), comme cela _vous pourrez utiliser le nom
   des machines_ mais votre ordinateur pourra traduire ces derniers vers
   les adresses IP dont il a besoin pour travailler.

   Une solution est de rentrer tous les htes avec qui vous voulez
   dialoguer dans le fichier /etc/hosts (ce qui est en ralit totalement
   impossible si vous tes connect  Internet); une autre faon est
   d'utiliser les adresses IP plutt que les noms (une tche de
   mmorisation impossible sauf pour les petits rseaux).

   La meilleure faon est de configurer Linux pour qu'il connaisse ou
   rcupre l'information de conversion des noms en adresses -
   automatiquement. Ce service est fourni par le systme DNS. La seule
   chose  faire est d'entrer l'adresse IP des serveurs de noms dans le
   fichier /etc/resolv.conf.

10.1 Le fichier /etc/resolv.conf

   Le support client de votre serveur PPP doit vous fournir deux adresses
   IP de DNS (un seul est ncessaire - mais deux permettent une
   redondance en cas d'chec).

   Comme c'est mentionn plus haut, Linux ne peut pas dfinir l'adresse
   IP de son serveur de noms comme MS Windows 95 le fait. Ainsi, vous
   devez _insister_ (poliment) auprs de votre FAI pour qu'il vous
   fournisse cette information !

   Votre /etc/resolv.conf doit ressembler  quelque chose comme :
     _________________________________________________________________

domain votre.nom.de.domaine
nameserver 10.25.0.1
nameserver 10.25.1.2
     _________________________________________________________________

   diter ce fichier (le crer si ncessaire) pour contenir les
   informations que votre FAI vous a donn. Il doit avoir les droits et
   les permissions comme suit :

-rw-r--r--   1 root     root           73 Feb 19 01:46 /etc/resolv.conf

   Si vous avez dj configur un /etc/resolv.conf car vous tes sur un
   rseau local, ajoutez simplement les adresses IP du serveur DNS PPP
   dans votre fichier existant.

10.2 Le fichier /etc/hosts.conf

   Vous devez galement vrifier que votre fichier /etc/hosts.conf est
   correctement configur. Il doit ressembler 
     _________________________________________________________________

order hosts,bind
multi on
     _________________________________________________________________

   Il indique au rsolveur d'utiliser les informations du fichier host
   avant d'envoyer les requtes pour une rsolution DNS.

11. Utiliser PPP et les privilges _root_

   Puisque PPP  besoin de configurer les priphriques rseau, modifier
   les tables de routage entre autres, il a besoin des privilges _root_.

   Si des utilisateurs autres que _root_ doivent lancer des connexions
   PPP, le programme pppd doit avoir l'uid _root_ :

-rwsr-xr-x   1 root     root        95225 Jul 11 00:27 /usr/sbin/pppd

   Si /usr/sbin/pppd n'est pas dfini comme cela, alors _en tant root_
   taper la commande :

chmod u+s /usr/sbin/pppd

   Cela permet  pppd de fonctionner avec les privilges root _mme_ i si
   le programme est lanc par un utilisateur ordinaire. Ainsi pppd a les
   bons privilges pour configurer les interfaces rseau et les tables de
   routage.

   Les programmes qui utilisent le uid root sont autant de trous de
   scurit potentiels et vous devez tre extrmement vigilant par
   rapport aux programmes uid root. De nombreux programmes (comme pppd)
   ont t crits minutieusement pour minimiser le danger d'utiliser suit
   root, vous devez donc tre tranquille avec celui-ci (mais sans
   garanties totales).

   Selon ce que vous voulez faire de votre systme - particulirement si
   vous voulez qu'un utilisateur puisse initialiser une liaison PPP, vous
   devez mettre vos scripts ppp-on/off lisibles et excutables par tout
   le monde. (c'est sans doute gnial si vous tes le SEUL utilisateur du
   PC).

   Cependant, si vous NE voulez PAS que n'importe qui puisse lancer une
   connexion PPP (par exemple, votre enfant qui a un compte sur votre PC
   Linux et que vous ne voulez pas qu'il se connecte  Internet sans
   votre permission), vous devez faire un groupe PPP (en tant que root,
   diter le fichier /etc/group) et :
     * Rendre pppd 'suid root', possd par l'utilisateur _root_ et le
       groupe PPP, avec ces nouvelles permissions sur le fichier. Il doit
       ressembler 

-rwsr-x---   1 root     PPP        95225 Jul 11 00:27 /usr/sbin/pppd

     * Mettre les scripts ppp-on/off possds par l'utilisateur _root_ et
       le groupe _PPP_
     * Rendre le script ppp-on/off lisible/excutable par le groupe PPP

  -rwxr-x---   1 root     PPP           587 Mar 14  1995 /usr/sbin/ppp-on
  -rwxr-x---   1 root     PPP           631 Mar 14  1995 /usr/sbin/ppp-off

     * Ajouter les utilisateurs qui utilisent PPP dans le groupe PPP dans
       /etc/group

   Mme si vous faites cela, les utilisateurs normaux ne pourront pas
   fermer la connexion avec un programme ! Utiliser ppp-off ncessite les
   privilges _root_. Mme si n'importe quel utilisateur peut teindre le
   modem (ou dconnecter la ligne tlphonique sur un modem interne).

   Un alternative (et une meilleure mthode) de faire cela est d'utiliser
   le programme sudo, qui offre une meilleure scurit et vous permettra
   de choisir quels utilisateurs (autoriss) pourrons activer/dsactiver
   la liaison en utilisant des scripts. Utiliser sudo permet aux
   utilisateurs autoriss d'activer/dsactiver la liaison PPP de faon
   propre et scurise.

12. Configurer les fichiers de connexion de PPP

   Maintenant, vous devez tre connect en tant que _root_ pour crer les
   rpertoires et diter les fichiers ncessaires  la configuration de
   PPP, mme si vous souhaitez que PPP soit utilisable par tous les
   utilisateurs.

   PPP utilise un certain nombre de fichiers pour configurer les
   connexions. Ceux-ci diffrent dans leur nom et les chemins entre PPP
   2.1.2 et 2.2.

   Pour PPP 2.1.2 les fichiers sont :
     _________________________________________________________________

/usr/sbin/pppd          # le programme PPP
/usr/sbin/ppp-on        # le script d'appel/connexion
/usr/sbin/ppp-off       # le script de dconnexion
/etc/ppp/options        # les options utilises pour toutes le connexions
/etc/ppp/options.ttyXX  # les options spcifiques pour ce connecter sur ce port
     _________________________________________________________________

   Pour PPP 2.2. les fichiers sont :
     _________________________________________________________________

/usr/sbin/pppd                  # Le programme PPP
/etc/ppp/scripts/ppp-on         # le script d'appel connexion
/etc/ppp/scripts/ppp-on-dialer  # premire partie du script d'appel
/etc/ppp/scripts/ppp-off        # le script chat rel
/etc/ppp/options                # options utilises par pppd pour toutes les
                                # connexions
/etc/ppp/options.ttyXX          # options spcifiques pour se connecter sur ce
                                # port
     _________________________________________________________________

   Je rappelle aux utilisateurs de la RedHat Linux que dans
   l'installation standard de la Red Hat 4.X les scripts sont placs dans
   /usr/doc/ppp-2.2.0f-2/scripts.

   Dans votre rpertoire /etc, il devrait y avoir un rpertoire _ppp_ :

drwxrwxr-x   2 root     root         1024 Oct  9 11:01 ppp

   S'il n'existe pas - le crer avec ces possessions et permissions.

   Si le rpertoire existe dj, il devrait contenir un fichier d'options
   modle appel _options.tpl_. Ce fichier est inclus plus bas au cas o
   il n'existerait pas.

   Imprimez-le il contient une explication de presque toutes les options
   de PPP et c'est pratique de le lire en mme temps que les pages de
   manuel de ppp). Mme si vous pouvez utiliser ce fichier comme base 
   votre /etc/ppp/options, il est sans doute mieux de crer votre propre
   fichier d'options qui ne contiendra pas tous les commentaires du
   modle - il sera bien plus court, et plus facile  lire/maintenir.

   Si vous avez une ligne srie/modems multiple (c'est typiquement le cas
   des serveurs PPP), crer un fichier gnral /etc/ppp/options contenant
   les options communes  tous les ports sries dans lequel vous
   supportez la composition et la rception d'appels et un fichier de
   configuration individuel pour chaque ligne srie sur laquelle vous
   tablirez la configuration individuelle ncessaire pour chaque port.

   Ces fichiers d'options spcifiques aux ports sont appels
   options.ttyx1, options.ttyx2 et ainsi de suite (ou x est la lettre
   approprie pour votre port srie).

   Toutefois, pour une connexion simple, vous pouvez tranquillement
   utiliser le fichier /etc/ppp/options. Vous pouvez aussi mettre toutes
   les options comme argument de la commande pppd elle-mme.

   Il est plus simple de maintenir une configuration qui utilise les
   fichiers /etc/ppp/options.ttySx. Si vous utilisez PPP sur diffrents
   sites, vous pouvez crer un fichier d'options pour chaque site dans
   /etc/ppp/options.site, et ainsi spcifier le fichier d'options en
   paramtre  la commande PPP lorsque vous vous connectez (en utilisant
   l'option file option-file de pppd dans la ligne de commande de pppd).

12.1 Le fichier options.tpl fourni

   Certaines distributions de PPP semblent avoir perdu le fichier
   options.tpl, donc voici le fichier complet. Je suggre de NE PAS
   diter ce fichier pour crer votre fichier(s) /etc/ppp/options. Copiez
   plutt celui-ci dans un nouveau fichier et ditez-le alors. Si vous
   vous trompez dans votre dition, vous pourrez toujours revenir en
   arrire en recommenant sur l'original.
     _________________________________________________________________

# /etc/ppp/options -*- sh -*- fichiers d'options generales pour pppd
# cree le 13-Jul-1995 jmk
# autodat: 01-Aug-1995
# autotime: 19:45
# adaptation francaise par Antoine Levavasseur levavass@efrei.fr

# Utilise l'executable ou la commande shell specifiee pour configurer la ligne
# serie. Ce script va en fait utiliser le programme "chat" pour appeler le
# modem et le debut de la liaison distante ppp.
#connect "echo Vous devez installer une commande connect."

# Lance l'executable ou la commande shell specifie, une fois que ppp a termine
# la liaison. Ce script va, par exemple, envoyer les commandes au modem pour le
# faire raccrocher si les signaux de controles matriels ne sont pas
# disponibles.
#disconnect "chat -- \d+++\d\c OK ath0 OK"

# table de caractere async -- 32-bit hex; chacun des bit est un caractere qui
# doit etre echappe pour que pppd le recoive.  0x00000001 represente '\x01',
# et 0x80000000 represente '\x1f'.
#asyncmap 0

# Demande a votre correspondant de s'authentifier avant de pouvoir envoyer ou
# recevoir des paquets reseaux
#auth

# Utilise le controle de flux materiel (i.e. RTS/CTS) pour controler le flux
# de donnees du port srie
#crtscts

# Utilise le controle de flux logiciel (i.e. XON/XOFF) pour controler le flux
# de donnees du port serie.
#xonxoff
# Ajouter une route par defaut aux tables de routage systeme, pour utiliser
# votre correspondant comme gateway, lorsque la negociation ICP reussi. Cette
# entree est supprimee lorsque la connexion PPP se termine.
#defaultroute

# Specifie que certains caracteres doivent etre echapes sur la transmission
# (en fonction de la facon dont le client souhaite qu'ils soient echappes avec
# la table de controle async). Les caracteres qui sont echappes sont specifies
# comme une liste de nombres hexa separes par des guillemets. La plupart des
# caracteres peuvent etres specifies avec l'option escape, a moins que l'option

# asyncmap soit activee puisque dans ce cas seuls les caracteres de controle
# peuvent etres specifies. Les caracteres qui ne peuvent etre echapes ont les
# valeurs hexa 0x20 - 0x3f ou 0x5e.
#escape 11,13,ff

# Ne pas utiliser les lignes de controle du modem
#local

# Specifie que pppd doit utiliser un verouillage du peripherique serie style
# UUCP pour s'en assurer un acces exclusif.
#lock

# Utilise les lignes de controle du modem. Sur un Ultrix, cette option implique
# un controle de flux materiel, comme avec l'option crtscts. (Cette option
# n'est pas completement implementee.)
#modem

# Definit la valeur MRU [Unite de Reception Maximum] a n pour la negociation.
# pppd demandera alors de se faire renvoyer les paquets pour au plus <n> octets
# La valeur MRU minimale est de 128. La valeur par defaut est 1500. La valeur
# 296 est recommandee pour les liaisons lentes (40 octets pour l'entete TCP/IP
# + 256 octets de donnees).
#mru 542

# Definit le masque reseau avec <n> qui est un masque reseau 32 bit en
# "chiffres decimaux" note (e.g 255.255.255.0).
#netmask 255.255.255.0

# Desactive le comportement par defaut lorsque aucune adresse IP n'est
# specifiee, et qu'elle est determine (quand c'est possible) a partir du
# hostname. Avec cette option, votre correspondant devra vous fournir votre
# adresse IP locale pendant la negotiation IPCP (a moins que cela ne soit
# specifie explicitement dans la ligne de commande ou un fichier d'options)
#noipdefault

# Active l'option passive sur le LCP. Avec cette option, pppd, essayera
# d'initier la connexion; si aucune reponse n'est recue de votre correspondant,
# pppd attendra passivement un packet LCP (au lieu de s'arreter comme il fait
# sans cette option)
#passive

# Avec cette option, pppd ne va pas transmettre les paquets LCP pour
# initialiser la connexion tant qu'un paquet LCP valide n'est pas envoye
# par votre correspondant (comme avec l'option "passive" pour des versions
# plus anciennes de pppd).
#silent

# Ne requiert et ne permet pas de negociation pour n'importe quelle option de
# LCP et IPCP (utilise  les valeurs par defaut).
#-all

# Desactive la negociation de la compression d'adresses/controle (utilise les
# reglages par defaut, i.e. le champ adresse/controle desactive)
#-ac

# Desactive la negociation asyncmap (utilise le reglage asyncmap par defaut,
# i.e. echappement de tout les caracteres de controle)
#-am

# Ne forke pas pour devenir un processus en tache de fond (sinon pppd le fera
# si un peripherique serie est specifie).
#-detach

# Desactive la negociation d'adresses IP (avec cette option, l'adresse IP
# distante doit etre specifiee avec une option en ligne de commande ou dans
# un fichier d'options).
#-ip

# Desactive la negociation des nombres magiques. Avec cette option, pppd ne
# peut pas detecter une ligne avec une boucle.
#-mn

# Desactive la negociation MRU [Unite de Reception Maximum] (utilise la valeur
# par defaut, i.e. 1500).
#-mru

# Desactive la negociation du protocole de compression par champ (utilise la
# valeur par defaut, i.e le protocole de compression par champs desactive)
#-pc

# Impose a votre corresondant de s'autentifier avec PAP. Cela necessite une
# authentification des DEUX COTES - NE PAS utiliser pour une liaison standard
# authentifiee par PAP vers un FAI puisqu'il faudra que la machine du FAI
# soit authentifie aupres de votre machine (et ce qu'elle ne pourra pas faire).
#+pap

# Refuse d'utiliser l'authentification avec PAP.
#-pap

# Oblige votre correspondant a s'authentifier avec une authentification
# CHAP [Cryptographic Handshake Authentication Protocol]
# Cela necessite une authentification des DEUX COTES - ne PAS utiliser pour une
# liaison avec un FAI puisqu'il faudra que la machine du FAI
# soit authentifie aupres de votre machine (et ce qu'elle ne pourra pas faire).
#+chap

# Refuse d'utiliser l'authentification avec CHAP.
#-chap

# Desactive la negociation de la compression de l'entete IP style Van Jacobson
# (utilise la valeur par defaut, i.e. pas de compression).
#-vj
# Augmente de niveau de deboguage (comme -d). Si cette option est passee, pppd
# enverra dans le log le contenu de tous les paquets de controle envoyes ou
# recus dans une forme lisible. Les paquets seront envoyes dans syslog avec les
# possibilites des daemons et du niveau de deboguage. Ces informations peuvent
# etre diriges dans un fichier en configurant /etc/syslog.conf correctement
# (voir syslog.conf(5)). (Si pppd est compile avec des options de deboguage
# supplementaires, il enverra les messages de log dans local2 au lieu du
# daemon).
#debug

# Ouvre le nom de domaine <d> pour permettre l'authentification de nom d'hote
# local. Par exemple, si gethostname() retourne le nom porsche,
# mais le nom de domaine qualifie est porsche.Quotron.COM, vous devriez
# utiliser l'option domain pour mettre le nom de domaine a Quotron.COM.
#domain <d>

# Active le code de deboguage du pilote PPP au niveau du noyau. L'argument n
# est un nombre qui est la somme des valeurs suivantes : 1 active les messages
# de deboguage generaux, 2 pour que le contenu des paquets recus soient
# affiches, et 4 pour que le contenu des paquets envoyes soient affiches.
#kdebug n

# Configure la valeur MTU [Unitee de Transmission Maximum] a <n>. A moins
# que votre correspondant ne demande une valeur plus petite lors de la
# negociation MRU, pppd demande que les codes reseaux du noyau envoie des
# paquets d'au plus n octets dans l'interface reseau PPP.
#mtu <n>

# Definit le nom du systeme local avec <n> dans un but d'authentification.
# Cela doit certainement avoir ete configure avec votre nom utilisateur de votr
e
# FAI si vous utilisez PAP/CHAP.
#name <n>

# Definit le nom utilisateur avec <u> pour l'authentification avec le
# correspondant utilisant PAP .
# Ne pas utiliser si vous utilisez le 'name' au-dessus !
#user <u>

# Force l'utilisation du nom d'hote comme nom du systeme local pour les
# authentification (masque l'option name).
#usehostname

# Configure le nom du systeme distant pour les authentifications a <n>.
#remotename <n>

# Ajoute une entree au systeme des tables ARP [Protocole de Resolution
# d'Adresses] avec l'adresse IP de votre correspondant et l'adresse Ethernet
# de ce syteme.
#proxyarp

# Utilise le systeme de base de donnes de mots de passe pour l'authentification
# de votre correspondant avec PAP.
#login

# Si cette option est passee, pppd va envoyer une requete-echo LCP a votre
# correspondant toutes les n secondes. Sous Linux, une requete-echo est envoyee
# lorsqu'aucun paquet n'a ete recu du correspondant depuis n secondes.
# Normalement, le correspondant doit repondre a la requete-echo en envoyant une
# reponse-echo. Cette option peut etre utilise avec l'option lcp-echo-failure
# pour detecter que le correspondant n'est plus connecte.
#lcp-echo-interval <n>

# Si cette option est passe, pppd va supposer que le correspondant est mort
# si n requetes-echo LCP sont envoyees sans recevoir de reponse-echo LCP
# valide. Si cela arrive, pppd va terminer la connexion. Utiliser cette option
# necessite une valeur non nulle pour le parametre lcp-echo-interval.
# Cette option peut etre utilisee pour permettre a pppd de terminer une fois
# qu'une connexion pppd ait ete cassee (c.-a-d. le modem a ete raccroche) dans
# les situations ou aucune ligne de controle materiel du modem n'est
# disponibles
#lcp-echo-failure <n>

# Definit l'intervale relance LCP (delay de retransmission) a <n> secondes
# (defaut 3).
#lcp-restart <n>

# Definit le nombre maximal de transmission de requete-fin de LCP a <n>
# (defaut 3).
#lcp-max-terminate <n>

# Definit la nombre maximum de transmission de requete-configure LCP a <n>
# (defaut 10).
# Certains serveurs PPP sont lents a demarrer. Vous devrez alors augmenter
# ceci si vous avez des erreurs 'serial line looped back' et que vous etes
# SUR que vous etes connecte correctement et que PPP doit demarrer sur le
# serveur.
#lcp-max-configure <n>

# Definit le nombre maximum de retours LCP configure-NAKs avant de commencer
# a envoyer des configure-Rejects a la place a <n> (defaut 10).
#lcp-max-failure <n>

# Definit l'intervale de relancce de IPCP (temps de retransmission) a <n>
# secondes (defaut 3).
#ipcp-restart <n>

# Definit le nombre maximum de transmission de requete-fin IPCP a <n>
# (defaut 3).
#ipcp-max-terminate <n>

# Definit la nombre maximum de transmission de requete-configure IPCP a <n>
# (defaut 10).
#ipcp-max-configure <n>

# Definit la nombre maximem de retour configure-NAKs IPCP avant de commencer
# a envoyer des configure-Rejects a la place a <n> (defaut 10).
#ipcp-max-failure <n>

# Definit l'intervalle de relance PAP (temps de retransmission) a <n> secondes
# (defaut 3).
#pap-restart <n>

# Definit le nombre maximum de transmission de requete-d'authentification PAP
# a n (defaut 10)
#pap-max-authreq <n>

# Definit les intervales de relance de CHAP (temps de retransmission) a <n>
# secondes (defaut 3).
#chap-restart <n>

# Definit le nombre maximal d'essai de  transmission de CHAP a <n>
# (defaut 10).
#chap-max-challenge

# Si cette option est passee, pppd va relancer votre correspondant toutes les
# <n> secondes.
#chap-interval <n>

# Avec cette option, pppd va accepter la proposition de votre correspondant
# pour votre adresse IP locale, meme si l'adresse IP est specifiee en option.
#ipcp-accept-local

# Avec cette option, pppd va accepter la proposition d'adresse IP (distante),
# meme si l'adresse distante est specifiee en option.
#ipcp-accept-remote
     _________________________________________________________________

12.2 Quelles options dois-je utiliser ? (Sans PAP/CHAP)

   En fait, comme toujours, a dpend. Les options spcifies ici
   devraient marcher avec la plupart des serveurs.

   Cependant, si a NE fonctionne PAS LISEZ LE FICHIER MODELE
   (/etc/ppp/options.tpl) _et_ les pages de manuel de pppd _et_ demandez
    votre administrateur/support client qui fait marcher le serveur sur
   lequel vous vous connectez.

   Je rappelle galement que les scripts de connexion prsents ici
   utilisent galement des options en ligne de commande pour pppd et
   rendre les choses plus facilement modifiables.
     _________________________________________________________________

# /etc/ppp/options (NO PAP/CHAP)
#
# Empeche pppd de forker en tache de fond
-detach
#
# utilise les lignes de controle du modem
modem
# utilise les verrous style uucp pour assurer une utilisation exclusive du
# port serie
lock
# utilise le flux de controle materiel
crtscts
# creer une route par defaut pour cette connexion dans la table de routage
defaultroute
# ne configure aucune sequence de controle echapee
asyncmap 0
# utlise une taille maximale de paquet transmis de 552 octets
mtu 552
# utilise une taille maximale de paquets recus de 552 octets.
mru 552
#
#-------FIN D'EXEMPLE /etc/ppp/options (sans PAP/CHAP)
     _________________________________________________________________

13. Si votre serveur PPP utilise PAP (Password Authentification Protocol)

   Si le serveur sur lequel vous vous connectez a besoin de
   l'authentification PAP ou CHAP, vous avez un petit peu plus de
   travail.

   Pour les fichiers de configuration prcdents, ajouter les lignes
   suivantes :
     _________________________________________________________________

#
# force pppd a utiliser le nom utilisateur de FAI comme 'nom d'hote' pendant
# le processus d'authentification
name <le nom de votre FAI>       # vous devez editer cette ligne
#
# Si vous avez un *serveur* PPP vous devez forcer PAP ou CHAP en decommentant
# l'une des lignes suivantes. Ne pas les utiliser si vous etes un client qui
# se connecte sur un serveur PPP (meme s'il utilise PAP ou CHAP) puisque cela
# forcera le serveur a s'authentifier aupres de votre machine (alors que cela
# ne sera certainement pas possible - et la liaison echouera).
#+chap
#+pap
#
# Si vous utilisez des secrets ENCRYPTES dans le fichier /etc/ppp/pap-secrets,
# alors decommentez la ligne suivante.
# Remarque: ce n'est pas pareil que d'utiliser les mots de passe MS encryptes
# comme ils peuvent etres avec MS RAS sur Windows NT.
#+papcrypt
     _________________________________________________________________

13.1 Utiliser MSCHAP

   Microsoft Windows NT RAS peut tre configur pour utiliser une
   variation particulire de CHAP (Challenge/Handshake Authentication
   Protocol). Dans l'archive des sources de PPP, vous devriez trouver un
   fichier appel README.MSCHAP80 qui parle de cela.

   Vous pouvez dterminer si le serveur demande une authentification
   utilisant ce protocole en activant le deboguage dans pppd. Si le
   serveur demande une authentification MS CHAP, vous devriez voir les
   lignes
     _________________________________________________________________

rcvd [LCP ConfReq id=0x2 <asyncmap 0x0> <auth chap 80> <magic 0x46a3>]
     _________________________________________________________________

   L'information critique ici est _auth chap 80_.

   Pour utiliser MS CHAP, vous devez recompiler pppd. Veuillez consulter
   les instructions dans le fichier README.MSCHAP80 des sources de PPP
   pour obtenir les instructions sur la faon de compiler en utilisant
   cette variante.

   Vous devez remarquer que le code prsent supporte uniquement des
   clients Linux PPP connects sur un serveur MS Windows NT. Mais NE
   supporte PAS la configuration d'un serveur PPP Linux pour utiliser
   l'authentification MSCHAP80 pour les clients.

13.2 Le fichier de secrets de PAP/CHAP

   Si vous utilisez l'authentification PAP ou CHAP, alors vous devez
   crer les fichiers . Ce sont
     _________________________________________________________________

/etc/ppp/pap-secrets
/etc/ppp/chap-secrets
     _________________________________________________________________

   Il doivent tre possds par _root_, le groupe _root_ et avoir les
   permissions 740 pour la scurit.

   Le premier point  remarquer au sujet de PAP et CHAP est qu'ils sont
   conus pour authentifier _les ordinateurs_ mais pas _les utilisateurs_

   "Humm? Qu'est ce que a change ? " Me demandez vous.

   H bien, une fois que l'ordinateur a tabli une connexion PPP avec le
   serveur, _n'importe quel_ utilisateur de votre systme peut utiliser
   cette connexion - pas seulement vous. C'est pourquoi vous pouvez
   configurer un rseau  large domaine en reliant deux rseaux locaux
   avec PPP.

   PAP peut (et CHAP _DOIT_) demander une authentification
   _bidirectionnelle_ - c'est un nom et un code secret qui est ncessaire
   pour chaque ordinateur avec lequel il est impliqu. Cependant, ce
   n'est pas la faon dont tous les serveurs PPP fonctionnent pour offrir
   l'authentification PAP des appels PPP.

   Il a t dit que votre FAI vous donnerait certainement un nom
   utilisateur et un mot de passe pour vous permettre de vous connecter
   sur son systme et ensuite sur Internet. Votre FAI se fiche de
   connatre le nom de votre ordinateur, vous devrez donc utiliser votre
   nom utilisateur chez votre FAI comme nom pour votre machine.

   Cela est possible avec l'option name username de pppd. Donc, si vous
   utilisez le nom donn par votre FAI, ajoutez la ligne
     _________________________________________________________________

name votre_utilisateur nom_chez_votre_FAI
     _________________________________________________________________

   dans votre fichier /etc/ppp/options.

   Techniquement, vous devrez utiliser user votre_utilisateur
   nom_chez_votre_FAI pour PAP, mais pppd est suffisamment intelligent
   pour interprter l'option name comme user si ncessaire pour utiliser
   PAP. L'avantage d'utiliser l'option name est qu'elle est galement
   valide pour CHAP.

   Puisque PAP permet d'authentifier les _ordinateurs_, techniquement,
   vous devez aussi spcifier un nom d'ordinateur distant. Toutefois,
   comme de nombreuses personnes ont plus d'un seul FAI, vous pouvez
   utiliser un caractre gnrique (*) pour le nom d'ordinateur distant
   dans le fichier de secrets.

   Il est aussi intressant de remarquer que de nombreux FAI utilise des
   banques de modems multiples connects sur diffrents serveurs de
   terminaux - tous ont un nom diffrent, mais sont accessibles avec un
   seul numro d'appel. Il peut alors tre difficile dans certaines
   circonstances de savoir  l'avance quel est le nom de l'ordinateur
   distant, puisque cela dpendra du serveur de terminal sur lequel vous
   vous connecterez !

13.3 Le fichier de secrets de PAP

   Le fichier /etc/ppp/pap-secrets ressemble 
     _________________________________________________________________

# Authentication Secrete avec PAP
# client        serveur       secret     adresses_IP_locale_acceptable
     _________________________________________________________________

   Les quatre champs sont spars par des espaces et le dernier peut tre
   omis (c'est l'adresse dynamique ou sans doute statique de votre FAI).

   Supposons que votre FAI vous ait donn un nom utilisateur fred et un
   mot de passe flintstone vous aurez l'option name fred dans
   /etc/ppp/options[.ttySx] et vous configurerez votre
   /etc/ppp/pap-secrets comme suit
     _________________________________________________________________

# Authentication Secrete avec PAP
# client        serveur       secret     adresses_IP_locale_acceptable
fred            *       flintstone
     _________________________________________________________________

   Cela signifie que pour une machine locale fred (pppd lui impose de
   s'appeler comme cela mme si a n'est pas son nom de machine rel) et
   pour _n'importe quel_ serveur, utiliser le mot de passe (secret)
   "flintstone".

   Remarquez que vous ne devez pas spcifier d'adresse IP locale,  moins
   que vous ne deviez FORCER une adresse locale statique particulire.
   Mme si vous essayez cette option, il y a peu de chances qu'elle
   marche puisque la plupart des serveurs PPP (pour des raisons de
   scurit) ne permettent pas au systme distant de configurer l'adresse
   IP qu'ils reoivent.

13.4 Le fichier de secrets de CHAP

   Cette mthode ncessite une mthode authentification mutuelle - c'est
    dire que vous devez permettre  votre machine d'authentifier le
   serveur distant _ET_ le serveur distant d'authentifier votre machine.

   Donc, si votre machine s'appelle fred et que le serveur distant
   s'appelle barney il faut dfinir sur fred name fred remotename barney
   et sur la machine distante name barney remotename fred dans les
   fichiers /etc/ppp/options.ttySx respectifs.

   Le fichier /etc/chap-secrets de fred ressemblera 
     _________________________________________________________________

# Authentication Secrete avec CHAP
# client        serveur       secret     adresses_IP_locale_acceptable
fred            barney      flintstone
barney          fred        wilma
     _________________________________________________________________

   et pour barney
     _________________________________________________________________

# Authentication Secrete avec CHAP
# client        serveur       secret     adresses_IP_locale_acceptable
barney          fred    flintstone
fred            barney  wilma
     _________________________________________________________________

   Remarquez en particulier que les deux machines doivent avoir des
   entres pour une authentification bidirectionnelle. Cela permet  la
   machine locale d'authentifier elle-mme la machine distante _ET_ la
   machine distante d'authentifier elle-mme la machine locale.

13.5 Supporter plusieurs connexions authentifies avec PAP

   Certains utilisateurs ont plus d'un serveur sur lesquels ils se
   connectent en utilisant PAP. A partir du moment o votre nom
   utilisateur est diffrent sur chacune des machines sur lesquelles vous
   vous connectez, il n'y a pas de problme.

   Mais, nombreux sont les utilisateurs qui ont le mme nom utilisateur
   sur deux (ou plus, voire mme tous les) systmes o ils se connectent.
   Le problme revient donc  choisir la bonne ligne du fichier
   /etc/ppp/pap-secrets.

   Comme vous pouvez le supposer, PPP fournit un mcanisme pour rgler
   cela. PPP permet de dfinir un << pseudonyme >> pour le serveur
   distant final de la connexion en utilisant l'option _remotename_ de
   pppd.

   Supposons que vous vous connectiez sur deux serveurs PPP utilisant le
   mme nom utilisateur fred. Vous configurerez votre
   /etc/ppp/pap-secrets avec
     _________________________________________________________________

fred    pppserveur1      barney
fred    pppserveur2      wilma
     _________________________________________________________________

   Maintenant, pour se connecter sur pppserveur1 vous utiliserez name
   fred remotename pppserver1 dans votre ppp-options et pour pppserveur2
   name fred remotename pppserver2.

   Puisque vous pouvez slectionner le fichier d'options  utiliser avec
   pppd en utilisant l'option file filename, vous pouvez dfinir un
   script pour se connecter sur chacun de vos serveurs PPP, qui choisira
   le fichier d'options correct et mettra la bonne option remotename.

14. Configurer une connexion PPP  la main

   Maintenant que vous avez cr les fichiers /etc/ppp/options et
   /etc/resolv.conf (et si besoin le fichier /etc/ppp/pap/chap-secrets),
   vous pouvez tester les paramtres en tablissant une connexion PPP 
   la main. (Une fois que la connexion manuelle marchera, nous
   automatiserons le processus).

   Pour ce faire, votre programme de communication doit pouvoir tre
   quitt sans rinitialiser le modem. Minicom peut le faire avec Alt-Q
   (ou dans les versions plus ancienne de minicom CTRL-A Q)

   Vrifiez que vous tes _root_.

   Lancez le programme de communication (minicom par exemple), appelez le
   serveur PPP et connectez-vous comme d'habitude. Si vous avez besoin
   d'envoyer une commande pour dmarrer PPP sur le serveur, faites-le.
   Vous devriez maintenant voir les messages que vous aviez dj vus.

   Si vous utilisez PAP ou CHAP, se connecter simplement sur le systme
   distant devrait dmarrer PPP et vous devriez voir des caractres
   s'afficher sans toutefois se connecter (mme si a peut ne pas marcher
   sur certains serveurs - essayez alors d'appuyer sur _Entre_ et les
   caractres devraient s'afficher).

   Maintenant quittez le programme de communication _sans initialiser le
   modem_ (ALT-Q ou CTRL-A Q dans minicom) et au message d'accueil de
   Linux (tant _root_) tapez
     _________________________________________________________________

pppd -d -detach /dev/ttySx 38400 &
     _________________________________________________________________

   L'option -d active le dboguage - la conversation de dmarrage de la
   connexion ppp sera retranscrite dans votre journal systme - ce qui
   est trs utile si des problmes apparaissent.

   Les lumires de votre modem devraient alors clignoter puisque la
   connexion PPP est tablie. Cela peut prendre un peu de temps avant que
   la connexion soit termine.

   A ce niveau, vous pouver afficher l'interface PPP en tapant la
   commande :
     _________________________________________________________________

ifconfig
     _________________________________________________________________

   En plus des ventuels priphriques loopback et Ethernet, vous devriez
   avoir quelque chose qui ressemble  :
     _________________________________________________________________

ppp0     Link encap:Point-Point Protocol
         inet addr:10.144.153.104  P-t-P:10.144.153.51 Mask:255.255.255.0
         UP POINTOPOINT RUNNING  MTU:552  Metric:1
         RX packets:0 errors:0 dropped:0 overruns:0
         TX packets:0 errors:0 dropped:0 overruns:0
     _________________________________________________________________

   O
     * inet addr:10.144.153.10 est l'adresse IP de votre connexion.
     * P-t-P:10.144.153.5 est l'adresse IP du serveur.

   (Naturellement, ifconfig ne renvoie pas ces nombres l, mais ceux qui
   sont utiliss par le serveur PPP.)

   Remarque : ifconfig indique galement que votre liaison fonctionne
   correctement !

   Si vous aucun priphrique PPP n'est affich ou quelque chose du genre
     _________________________________________________________________

ppp0     Link encap:Point-Point Protocol
         inet addr:0.0.0.0  P-t-P:0.0.0.0  Mask:0.0.0.0
         POINTOPOINT  MTU:1500  Metric:1
         RX packets:0 errors:0 dropped:0 overruns:0
         TX packets:0 errors:0 dropped:0 overruns:0
     _________________________________________________________________

   Votre liaison PPP n'est pas correcte... voir la section suivante sur
   le dbuggage !

   Vous devez aussi pouvoir voir une route vers l'hte distant (et mme
   plus). Pour cela, entrez la commande
     _________________________________________________________________

route -n
     _________________________________________________________________

   Vous devriez obtenir quelque chose comme :
     _________________________________________________________________

Kernel routing table
Destination     Gateway         Genmask         Flags MSS    Window Use Iface
10.144.153.3    *               255.255.255.255 UH    1500   0        1 ppp0
127.0.0.0       *               255.0.0.0       U     3584   0       11 lo
10.0.0.0        *               255.0.0.0       U     1500   0       35 eth0
default         10.144.153.3    *               UG    1500   0        5 ppp0
     _________________________________________________________________

   Ce qui est important ici, c'est d'avoir DEUX entres pointant vers
   votre interface ppp.

   La premire est une route d'hte (indiqu par le drapeau H) et qui
   permet de voir l'hte sur lequel vous tes connect - mais pas plus.

   La seconde est la route par dfaut (tablie en donnant  pppd l'option
   defaultroute). C'est cette route qui indique  votre PC Linux
   d'envoyer tous les paquets qui ne sont pas destins  vos interfaces
   Ethernet - vers lesquelles vous avez des routes rseau spcifiques -
   au serveur PPP lui-mme. Le serveur PPP est alors responsable de
   router vos paquets vers Internet et de vous renvoyer les paquets chez
   vous.

   Si vous ne voyez pas une table de routage avec deux entres, quelque
   chose ne marche pas. En particulier si votre syslog contient des
   messages indiquant que pppd ne remplace pas la route par dfaut, vous
   devez avoir une route par dfaut qui pointe sur votre interface
   Ethernet - qui _DOIT_ tre remplace par une route rseau spcifique :
   _VOUS NE POUVEZ AVOIR QU'UNE SEULE ROUTE PAR DEFAUT !!!_

   Vous devez explorer vos fichiers d'initialisation de votre systme
   pour trouver o est configur votre route par dfaut (elle doit
   utiliser la commande route add default...). Changer cette commande par
   quelque chose du genre route add net ....

   Maintenant testez la liaison en 'pingant' le serveur  l'adresse IP
   affich par ifconfig, comme suit :
     _________________________________________________________________

ping 10.144.153.51
     _________________________________________________________________

   Vous devriez obtenir
     _________________________________________________________________

PING 10.144.153.51 (10.144.153.51): 56 data bytes
64 bytes from 10.144.153.51: icmp_seq=0 ttl=255 time=328.3 ms
64 bytes from 10.144.153.51: icmp_seq=1 ttl=255 time=190.5 ms
64 bytes from 10.144.153.51: icmp_seq=2 ttl=255 time=187.5 ms
64 bytes from 10.144.153.51: icmp_seq=3 ttl=255 time=170.7 ms
     _________________________________________________________________

   Ce listing doit continuer sans jamais s'arrter - pour le stopper,
   taper CTRL C, vous recevrez alors des informations complmentaires :
     _________________________________________________________________

--- 10.144.153.51 ping statistics ---
4 packets transmitted, 4 packets received, 0% packet loss
round-trip min/avg/max = 170.7/219.2/328.3 ms
     _________________________________________________________________

   Jusqu'ici tout va bien, jusqu'ici tout va bien.

   Maintenant, essayez de pinger un nom d'hte (pas le nom du serveur PPP
   lui-mme) mais un hte d'un autre site dont vous SAVEZ qu'il y a de
   trs fortes chances qu'il marche...). Par exemple
     _________________________________________________________________

ping sunsite.unc.edu
     _________________________________________________________________

   _ou lip6.fr_

   Dans ce cas, il va y avoir une petite pause le temps que Linux
   obtienne l'adresse IP du nom de hte que vous avez 'ping' par le DNS
   que vous avez spcifi dans le /etc/resolv.conf - ne vous inquitez
   pas (les lumires de votre modem devraient clignoter). Rapidement,
   vous devriez avoir l'affichage suivant
     _________________________________________________________________

 PING sunsite.unc.edu (152.2.254.81): 56 data bytes
64 bytes from 152.2.254.81: icmp_seq=0 ttl=254 time=190.1 ms
64 bytes from 152.2.254.81: icmp_seq=1 ttl=254 time=180.6 ms
64 bytes from 152.2.254.81: icmp_seq=2 ttl=254 time=169.8 ms
64 bytes from 152.2.254.81: icmp_seq=3 ttl=254 time=170.6 ms
64 bytes from 152.2.254.81: icmp_seq=4 ttl=254 time=170.6 ms
     _________________________________________________________________

   L encore, arrtez le en tapant CTRL C pour obtenir les
   statistiques...
     _________________________________________________________________

--- sunsite.unc.edu ping statistics ---
5 packets transmitted, 5 packets received, 0% packet loss
round-trip min/avg/max = 169.8/176.3/190.1 ms
     _________________________________________________________________

   Si vous n'avez pas de rponse, essayer de pinger l'adresse de votre
   serveur DNS de votre FAI. Si vous n'avez pas de rsultat, alors il
   doit y avoir un problme avec votre /etc/resolv.conf.

   Si a ne fonctionne pas, vous devez avoir un problme de routage, ou
   votre FAI a un problme  vous renvoyer les paquets. Vrifiez les
   tables de routages prsentes plus haut et si tout est OK, contacter
   votre FAI. Si cela se trouve aprs votre FAI, alors le problme est de
   votre cot.

   Si tout marche correctement, fermez la connexion en tapant
     _________________________________________________________________

ppp-off
     _________________________________________________________________

   Aprs une courte pause, le modem devrait raccrocher.

   Si a ne marche pas, soit vous teignez votre modem, soit vous lancez
   votre programme de communication et vous interrompez votre modem avec
   +++ puis vous raccrochez avec ATH0 quand vous recevez le message OK de
   votre modem.

   Vous devez galement effacer le fichier cr par pppd
     _________________________________________________________________

rm -f /var/lock/LCK..ttySx
     _________________________________________________________________

15. Automatiser votre connexion - Crer les scripts de connexion

   Mme si vous pouvez continuer  vous connecter  la main comme montr
   ci-dessus il est plus sympa de faire quelques scripts pour automatiser
   tout a.

   Quelques scripts vont automatiser la connexion et le lancement de PPP,
   vous n'aurez alors plus qu' envoyer une seule commande (en tant
   _root_ ou membre du groupe PPP) pour lancer votre connexion.

15.1 Scripts de connexion pour l'authentification nom utilisateur/mot de passe

   Si votre FAI n'a pas besoin d'utiliser PAP/CHAP, ces scripts sont
   faits pour vous !

   Si le paquetage ppp est correctement install, vous devez avoir deux
   fichiers d'exemple. Pour PPP 2.1.2 il sont dans /usr/sbin et pour PPP
   2.2 il sont dans /etc/ppp/scripts. Ils s'appellent

   pour PPP-2.1.2

ppp-on
ppp-off

   et pour PPP 2.2

ppp-off
ppp-on
ppp-on-dialer

   Maintenant, si vous utilisez PPP 2.1.2, je vous presse fermement de
   dtruire ces fichiers d'exemple. Il y a pleins de problmes potentiels
   avec ceux-ci - et ne me dites pas qu'ils marchent correctement - je
   les ai galement utilis pendant des annes (et les recommandait mme
   dans la premire version de ce HOWTO) !

   Pour les utilisateurs de PPP 2.1.2, voici de BIEN MEILLEURS modles,
   pris dans la distribution 2.2 de PPP. Je vous conseille de les copier
   et d'utiliser ces scripts  la place des anciens de PPP-2.1.2.

15.2 Le script ppp-on

   C'est le premier des DEUX scripts qui lance la connexion.
     _________________________________________________________________

#!/bin/sh
#
# Script pour initialiser une connexion PPP. C'est la premiere partie de deux
# scripts. Ce ne sont pas des scripts securises, puisque les codes sont
# visibles avec la commande 'ps'. Cependant ils sont simples.
#
# Ce sont des parametres a changer selon les besoins
TELEPHONE=555-1212    # Le numero de telephone de la connexion
ACCOUNT=george        # Le nom du compte (comme dans 'George Burns')
PASSWORD=gracie       # Le mot de passe du compte (et 'Gracie Allen')
LOCAL_IP=0.0.0.0      # L'adresse IP locale si elle est connue Dynamic = 0.0.0.
0
REMOTE_IP=0.0.0.0     # Adresse IP distante. Normally 0.0.0.0
NETMASK=255.255.255.0 # Le masque reseau si besoin
#
# Les exporter pour qu'ils soit disponible avec 'ppp-on-dialer'
export TELEPHONE ACCOUNT PASSWORD
#
# C'est l'emplacement du script qui compose le numero et se connecte.
# Utilisez les noms de fichiers absolus, car la variable $PATH n'est pas
# utilisee avec l'option connect. (Faire ca en etant 'root' entraine un
# trou de securite.)
#
DIALER_SCRIPT=/etc/ppp/ppp-on-dialer
#
# Commencer la connexion
#
#
exec /usr/sbin/pppd debug /dev/ttySx 38400 \
        $LOCAL_IP:$REMOTE_IP \
        connect $DIALER_SCRIPT
     _________________________________________________________________

   Voici le script ppp-on-dialer :
     _________________________________________________________________

#!/bin/sh
#
# C'est la deuxieme partie du script ppp-on. Il contient le protocole de
# connexion de la connexion desiree.
#
/usr/sbin/chat -v                                                 \
        TIMEOUT         3                               \
        ABORT           '\nBUSY\r'                      \
        ABORT           '\nNO ANSWER\r'                 \
        ABORT           '\nRINGING\r\n\r\nRINGING\r'    \
        ''              \rAT                            \
        'OK-+++\c-OK'   ATH0                            \
        TIMEOUT         30                              \
        OK              ATDT$TELEPHONE                  \
        CONNECT         ''                              \
        ogin:--ogin:    $ACCOUNT                        \
        assword:        $PASSWORD
     _________________________________________________________________

   Avec PPP-2.2, le script ppp-off ressemble  :
     _________________________________________________________________

#!/bin/sh
######################################################################
#
# Determine le peripherique a terminer.
#
if [ "$1" = "" ]; then
        DEVICE=ppp0
else
        DEVICE=$1
fi

######################################################################
#
# Si le fichier pid ppp0 est present alors le programme est lance. Le stopper.
if [ -r /var/run/$DEVICE.pid ]; then
        kill -INT `cat /var/run/$DEVICE.pid`
#
# Si le kill ne marche pas, alors il n'y a pas de processus lance pour ce pid.
# Cela peut signifier que le fichier de lock a ete laisse. Vous souhaitez
# peut-etre detruire le fichier de lock en meme temps.
        if [ ! "$?" = "0" ]; then
                rm -f /var/run/$DEVICE.pid
                echo "ERROR: Removed stale pid file"
                exit 1
        fi
#
# Succes. pppd a enlever tout ce qu'il avait cree.
        echo "PPP link to $DEVICE terminated."
        exit 0
fi
#
# Le processus ppp ne marche pas pour ppp0
echo "ERROR: PPP link is not active on $DEVICE"
exit 1
     _________________________________________________________________

15.3 Editer les scripts de dmarrage de PPP fournis

   Puisque les nouveaux scripts sont en deux parties, nous allons les
   diter chacun leur tour.

  Le script ppp-on

   Vous devez diter ces fichiers pour contenir VOTRE nom utilisateur de
   votre FAI, VOTRE mot de passe de votre FAI, et le numro de tlphone
   de votre FAI.

   Chacune des lignes ressemblant  TELEPHONE= dfinissent une variable
   du shell contenant les informations  droite du '=' (mise  part les
   commentaires videmment). diter donc toutes les lignes de ce fichier
   pour qu'il corresponde a votre FAI et votre connexion.

   De plus, si vous configurez l'adresse IP (si vous avez besoin) dans le
   fichier /etc/ppp/options, DETRUISEZ les lignes mentionnant
     _________________________________________________________________

$LOCAL_IP:$REMOTE_IP \
     _________________________________________________________________

   Assurez-vous galement que la variable shell DIALER_SCRIPT pointe sur
   le chemin complet du script d'appel qui sera rellement utilis.
   Ainsi, si vous dplacez ou renommez ce script, assurez-vous que vous
   modifier correctement cette ligne dans le script ppp-on !

  Le script ppp-on-dialer

   C'est le deuxime des scripts qui lance votre liaison PPP.

   Remarque : un script chat est normalement sur une ligne complte. Les
   backslashs sont utiliss pour permettre  la ligne de se rpartir sur
   plusieurs lignes physiques (pour une lisibilit plus humaine) et ne
   font pas partie du script lui-mme.

   Cependant, il est trs utile de le regarder en dtail, comme cela nous
   comprenons ce qu'il est rellement suppos faire !

15.4 Ce que script Chat signifie...

   Un script chat est une squence de paires de "chanes d'attentes" et
   de "chanes d'envoi ". En particulier, remarquez que nous attendons
   _TOUJOURS_ quelque chose avant d'envoyer quoi que ce soit.

   Si nous envoyons quelque chose _SANS_ avoir rien reu avant, nous
   devons attendre une chane vide avant (indique par un "") Et de la
   mme manire attendre quelque chose sans avoir rien envoy ! Ainsi, si
   les chane consistent en quelques mots, (c.--d. NO CARRIER), vous
   devez entourez les chanes par des quotes pour qu'elles soient vues
   comme une seule entit par chat.

   La ligne chat de notre modle est :
     _________________________________________________________________

exec /usr/sbin/chat -v
     _________________________________________________________________

   Invoque chat, le -v indique  chat de mettre toutes ses entre/sorties
   dans le journal systme (gnralement /var/log/messages). Une fois que
   votre script chat marchera correctement, ditez cette ligne et enlevez
   le -v pour conomiser des messages inutiles dans votre syslog.
     _________________________________________________________________

TIMEOUT         3
     _________________________________________________________________

   a dfinit un temps d'attente de trois secondes avant la rception
   d'une entre attendue. Vous devrez l'augmenter  5 ou 10 secondes si
   vous utilisez un modem extrmement lent !
     _________________________________________________________________

ABORT           '\nBUSY\r'
     _________________________________________________________________

   Si la chane BUSY est reue, abandonner l'opration.

   M
     _________________________________________________________________

ABORT           '\nNO ANSWER\r'
     _________________________________________________________________

   Si la chane NO ANSWER est reue, abandonner l'opration.
     _________________________________________________________________

ABORT           '\nRINGING\r\n\r\nRINGING\r'
     _________________________________________________________________

   Si la chane RINGING est reue de manire rpte, abandonner
   l'opration. C'est parce que quelqu'un vous appelle !
     _________________________________________________________________

"              \rAT
     _________________________________________________________________

   Ne rien attendre du modem et envoyer la chane AT.
     _________________________________________________________________

OK-+++\c-OK   ATH0
     _________________________________________________________________

   C'est un petit plus compliqu car cela utilise certaines capacits de
   chat  rcuprer les erreurs.

   a veux dire...Expect OK, si on ne l'a pas reu (parce que le modem
   n'est pas en ligne de commande) alors envoyer +++ (la chane standard
   des modems compatible Hayes pour retourner en ligne de commande) et
   attendre OK. Ensuite envoyer ATH0 (la chane pour raccrocher). Cela
   permet au script de rpondre  la situation ou votre modem avait
   laiss la ligne dcroche !
     _________________________________________________________________

TIMEOUT         30
     _________________________________________________________________

   Mettre le temps d'attente  30 secondes pour le reste du script. Si
   vous avez des soucis avec des abandons du script chat  cause de
   timeout, augmentez cette valeur  45 secondes ou plus.
     _________________________________________________________________

OK              ATDT$TELEPHONE
     _________________________________________________________________

   Attends un OK (la rponse du modem  la commande ATH0) et compose le
   numro que nous voulez appeler.
     _________________________________________________________________

CONNECT         ''
     _________________________________________________________________

   Attendre CONNECT(ce que le modem nous envoie lorsque le modem distant
   dcroche) et n'envoie rien en rponse.
     _________________________________________________________________

ogin:--ogin:    $ACCOUNT
     _________________________________________________________________

   Une fois encore nous avons une rcupration d'erreur ici. Attendre le
   message de login (...ogin:) mais si nous ne le recevons pas au bout
   d'un certain temps, envoyer un retour chariot et attendre une nouvelle
   fois le message de login. Lorsque le message est reu, envoyer le nom
   utilisateur (stock dans la variable shell $ACCOUNT).
     _________________________________________________________________

assword:        $PASSWORD
     _________________________________________________________________

   Attendre le message du mot de passe et envoyer le mot de passe (l
   aussi stock dans une variable shell).

   Ce script chat  une capacit de rcupration d'erreurs rsonnable.
   Chat possde bien d'autres possibilits que celles dtaills. Pour
   plus d'informations, consulter la page de manuel de chat (man 8 chat).

  Dmarrer PPP sur le serveur final

   Bien que le script ppp-on-dialer soit parfait pour les serveurs qui
   lancent automatiquement pppd sur le serveur final une fois que vous
   tes connects, certains serveurs ncessitent que vous lanciez PPP
   explicitement sur le serveur.

   Si vous avez besoin d'envoyer une commande de lancement de PPP sur le
   serveur, vous DEVEZ diter le script ppp-on-dialer.

   A la fin du script (aprs la ligne password) ajouter une paire
   _attente envoi_ en plus - elle cherchera un message de login (une suite
   de caractres qui ont une signification particulire dans le shell
   Bourne - comme $ et [ ou ] (les crochets ouverts et ferms).

   Une fois que chat  obtenu le prompt du shell, chat doit envoyer la
   commande de dmarrage de ppp ncessaire sur le serveur PPP de votre
   FAI.

   Pour ma part, mon serveur PPP utilise un prompt Bash standard
     _________________________________________________________________

[hartr@kepler hartr]$
     _________________________________________________________________

   et ncessite que je tapes
     _________________________________________________________________

ppp
     _________________________________________________________________

   pour lancer ppp sur le serveur.

   Une ide judicieuse peut tre d'ajouter un peu de rcupration
   d'erreur, dans mon cas j'utilise
     _________________________________________________________________

        hartr--hartr    ppp
     _________________________________________________________________

   Cela signifie que si je ne reois pas le prompt dans le temps imparti,
   j'envoie un retour chariot et je recherche le prompt une nouvelle
   fois.

   Une fois que le message est reu, j'envoie la chane ppp.

   Remarque : n'oubliez pas d'ajouter un \  la fin de la ligne
   prcdente pour que chat pense que le script de connexion de chat est
   toujours sur une seule ligne !

   Malheureusement, certains serveurs gnrent un nombre de messages trs
   variable ! Vous aurez peut-tre besoin de vous connecter plusieurs
   fois avec minicom pour comprendre comment a marche et rcuprer une
   chane "d'attente" stable.

15.5 Un script chat pour les connections authentifies avec PAP/CHAP

   Si votre FAI utilise PAP/CHAP, alors votre script chat est bien plus
   simple. Tout ce que votre script chat doit faire est de composer le
   numro, attendre la connexion et ensuite laisser pppd s'occuper du
   processus de connexion !
     _________________________________________________________________

#!/bin/sh
#
# C'est la deuxieme partie du script ppp-on. Il contient le protocole de
# connexion de la connexion desiree.
#
exec /usr/sbin/chat -v                                  \
        TIMEOUT         3                               \
        ABORT           '\nBUSY\r'                      \
        ABORT           '\nNO ANSWER\r'                 \
        ABORT           '\nRINGING\r\n\r\nRINGING\r'    \
        ''              \rAT                            \
        'OK-+++\c-OK'   ATH0                            \
        TIMEOUT         30                              \
        OK              ATDT$TELEPHONE                  \
        CONNECT         ''                              \
     _________________________________________________________________

15.6 Les options debug et file option_file de pppd

   Comme nous l'avons dj vu, vous pouvez activer les informations de
   dbuggage avec l'option -d de pppd. L'option 'debug' est quivalente 
   celle-ci.

   Puisque vous tablissez la connexion avec un nouveau script, laissez
   pour le moment les informations de dbuggage. (Attention : si votre
   espace disque est rduit, les changes de connexion de pppd peuvent
   rapidement augmenter votre fichier syslog et vous amener des problmes
   - mais pour aller jusque l, il faut que vous essayez et vous chouiez
   vos connexions un certain temps).

   Une fois que tout marche correctement, vous pouvez alors enlever cette
   option.

   Si vous avez appel votre fichier d'options de ppp autrement que
   /etc/ppp/options ou /etc/ppp/options.ttySx, spcifiez le nom du
   fichier avec l'option file de pppd :
     _________________________________________________________________

exec /usr/sbin/pppd debug file options.myserver /dev/ttyS0 38400 \
     _________________________________________________________________

16. Testez votre script de connexion

   Ouvrez un nouveau Xterm _root_ (si vous tes sous X) ou ouvrez une
   nouvelle console virtuelle et connectez vous comme _root_.

   Dans cette nouvelle session, tapez la commande

tail -f /var/log/messages

   (ou l'endroit exact ou se trouve le fichier log).

   Dans la premire fentre (ou console virtuelle), tapez la commande

ppp-on &

   (ou le nom que vous avez donn  la nouvelle version de votre
   /usr/sbin/ppp- on). Si vous ne mettez pas le script en tche de fond
   en spcifiant & en fin de commande, vous ne rcuprerez pas le prompt
   de votre terminal avant que ppp se termine (ou que la liaison se
   termine).

   Maintenant revenez dans la fentre ou vous affichez votre journal
   systme.

   L'affichage devrait ressembler  ce qui suit (si vous avez spcifi
   l'option -vi a chat et -d  pppd )....c'est le droulement du script
   chat et des rponses envoyes dans le fichier journal systme suivi
   des informations de dmarrage de pppd :
     _________________________________________________________________

Oct 21 16:09:58 hwin chat[19868]: abort on (NO CARRIER)
Oct 21 16:09:59 hwin chat[19868]: abort on (BUSY)
Oct 21 16:09:59 hwin chat[19868]: send (ATZ^M)
Oct 21 16:09:59 hwin chat[19868]: expect (OK)
Oct 21 16:10:00 hwin chat[19868]: ATZ^M^M
Oct 21 16:10:00 hwin chat[19868]: OK -- got it
Oct 21 16:10:00 hwin chat[19868]: send (ATDT722298^M)
Oct 21 16:10:00 hwin chat[19868]: expect (CONNECT)
Oct 21 16:10:00 hwin chat[19868]: ^M
Oct 21 16:10:22 hwin chat[19868]: ATDT722298^M^M
Oct 21 16:10:22 hwin chat[19868]: CONNECT -- got it
Oct 21 16:10:22 hwin chat[19868]: send (^M)
Oct 21 16:10:22 hwin chat[19868]: expect (ogin:)
Oct 21 16:10:23 hwin chat[19868]: kepler login: -- got it
Oct 21 16:10:23 hwin chat[19868]: send (hartr^M)
Oct 21 16:10:23 hwin chat[19868]: expect (ssword:)
Oct 21 16:10:23 hwin chat[19868]:  hartr^M
Oct 21 16:10:23 hwin chat[19868]: Password: -- got it
Oct 21 16:10:23 hwin chat[19868]: send (??????^M)
Oct 21 16:10:23 hwin chat[19868]: expect (hartr)
Oct 21 16:10:24 hwin chat[19868]: [hartr -- got it
Oct 21 16:10:24 hwin chat[19868]: send (ppp^M)
Oct 21 16:10:27 hwin pppd[19872]: pppd 2.1.2 started by root, uid 0
Oct 21 16:10:27 hwin pppd[19873]: Using interface ppp0
Oct 21 16:10:27 hwin pppd[19873]: Connect: ppp0 <--> /dev/cua1
Oct 21 16:10:27 hwin pppd[19873]: fsm_sdata(LCP): Sent code 1, id 1.
Oct 21 16:10:27 hwin pppd[19873]: LCP: sending Configure-Request, id 1
Oct 21 16:10:27 hwin pppd[19873]: fsm_rconfreq(LCP): Rcvd id 1.
Oct 21 16:10:27 hwin pppd[19873]: lcp_reqci: rcvd MRU
Oct 21 16:10:27 hwin pppd[19873]: (1500)
Oct 21 16:10:27 hwin pppd[19873]:  (ACK)
Oct 21 16:10:27 hwin pppd[19873]: lcp_reqci: rcvd ASYNCMAP
Oct 21 16:10:27 hwin pppd[19873]: (0)
Oct 21 16:10:27 hwin pppd[19873]:  (ACK)
Oct 21 16:10:27 hwin pppd[19873]: lcp_reqci: rcvd MAGICNUMBER
Oct 21 16:10:27 hwin pppd[19873]: (a098b898)
Oct 21 16:10:27 hwin pppd[19873]:  (ACK)
Oct 21 16:10:27 hwin pppd[19873]: lcp_reqci: rcvd PCOMPRESSION
Oct 21 16:10:27 hwin pppd[19873]:  (ACK)
Oct 21 16:10:27 hwin pppd[19873]: lcp_reqci: rcvd ACCOMPRESSION
Oct 21 16:10:27 hwin pppd[19873]:  (ACK)
Oct 21 16:10:27 hwin pppd[19873]: lcp_reqci: returning CONFACK.
Oct 21 16:10:27 hwin pppd[19873]: fsm_sdata(LCP): Sent code 2, id 1.
Oct 21 16:10:27 hwin pppd[19873]: fsm_rconfack(LCP): Rcvd id 1.
Oct 21 16:10:27 hwin pppd[19873]: fsm_sdata(IPCP): Sent code 1, id 1.
Oct 21 16:10:27 hwin pppd[19873]: IPCP: sending Configure-Request, id 1
Oct 21 16:10:27 hwin pppd[19873]: fsm_rconfreq(IPCP): Rcvd id 1.
Oct 21 16:10:27 hwin pppd[19873]: ipcp: received ADDR
Oct 21 16:10:27 hwin pppd[19873]: (10.144.153.51)
Oct 21 16:10:27 hwin pppd[19873]:  (ACK)
Oct 21 16:10:27 hwin pppd[19873]: ipcp: received COMPRESSTYPE
Oct 21 16:10:27 hwin pppd[19873]: (45)
Oct 21 16:10:27 hwin pppd[19873]:  (ACK)
Oct 21 16:10:27 hwin pppd[19873]: ipcp: returning Configure-ACK
Oct 21 16:10:28 hwin pppd[19873]: fsm_sdata(IPCP): Sent code 2, id 1.
Oct 21 16:10:30 hwin pppd[19873]: fsm_sdata(IPCP): Sent code 1, id 1.
Oct 21 16:10:30 hwin pppd[19873]: IPCP: sending Configure-Request, id 1
Oct 21 16:10:30 hwin pppd[19873]: fsm_rconfreq(IPCP): Rcvd id 255.
Oct 21 16:10:31 hwin pppd[19873]: ipcp: received ADDR
Oct 21 16:10:31 hwin pppd[19873]: (10.144.153.51)
Oct 21 16:10:31 hwin pppd[19873]:  (ACK)
Oct 21 16:10:31 hwin pppd[19873]: ipcp: received COMPRESSTYPE
Oct 21 16:10:31 hwin pppd[19873]: (45)
Oct 21 16:10:31 hwin pppd[19873]:  (ACK)
Oct 21 16:10:31 hwin pppd[19873]: ipcp: returning Configure-ACK
Oct 21 16:10:31 hwin pppd[19873]: fsm_sdata(IPCP): Sent code 2, id 255.
Oct 21 16:10:31 hwin pppd[19873]: fsm_rconfack(IPCP): Rcvd id 1.
Oct 21 16:10:31 hwin pppd[19873]: ipcp: up
Oct 21 16:10:31 hwin pppd[19873]: local  IP address 10.144.153.104
Oct 21 16:10:31 hwin pppd[19873]: remote IP address 10.144.153.51
     _________________________________________________________________

   (Remarque - j'utilise les adresses IP STATIQUES - ma machine l'envoie
   au serveur PPP - vous ne verrez pas la mme chose si vous utilisez des
   adresses IP DYNAMIQUES.) Ainsi, le server ncessite une commande
   spcifique pour dmarrer ppp  la fin.

   Ca semble OK - alors testez comme avant avec des ping des adresses IP
   et des noms des htes.

   Lancer votre navigateur web ou n'importe quoi d'autre et allez surfer
   - vous tes connect !

17. Terminer une connexion PPP

   Quand vous en avez termin avec la liaison PPP, utilisez la commande
   standard ppp-off pour la terminer (rappel - vous devez tre _root_ ou
   membre du groupe PPP ! ).

   Dans votre fichier journal de votre systme, il devrait y avoir
   quelque chose ressemblant  :
     _________________________________________________________________

Oct 21 16:10:45 hwin pppd[19873]: Interrupt received: terminating link
Oct 21 16:10:45 hwin pppd[19873]: ipcp: down
Oct 21 16:10:45 hwin pppd[19873]: default route ioctl(SIOCDELRT): Bad address
Oct 21 16:10:45 hwin pppd[19873]: fsm_sdata(LCP): Sent code 5, id 2.
Oct 21 16:10:46 hwin pppd[19873]: fsm_rtermack(LCP).
Oct 21 16:10:46 hwin pppd[19873]: Connection terminated.
Oct 21 16:10:46 hwin pppd[19873]: Exit.
     _________________________________________________________________

   Ne pas s'inquiter du SIOCDELRT - c'est juste pppd qui indique qu'il
   se termine, il n'y a pas  s'en inquiter.

18. Rsoudre les problmes

   Il y a de nombreuses raisons pour que votre liaison ne fonctionne pas
   - chat n'a pas russi  aller jusqu'au bout, vous avez une mauvaise
   ligne, etc. Regardez votre syslog pour avoir des indications.

18.1 J'ai compil le support PPP dans le noyau, mais...

   Un problme relativement courant est que les gens compilent le support
   PPP dans leur noyau et aprs, lorsqu'ils essayent de lancer pppd, le
   noyau rpond qu'il ne supporte pas ppp ! Un grand nombre de raisons
   peuvent en tre la cause.

  Bootez-vous avec le bon noyau ?

   Mme si vous _avez_ recompli votre support de ppp dans le noyau, vous
   ne bootez pas sur le nouveau noyau. Cela peut arriver si vous n'avez
   pas mis  jour /etc/lilo.conf et relanc lilo.

   Une bonne faon de vrifier le noyau est d'envoyer la commande uname
   -a, qui affiche la ligne ressemblant 
     _________________________________________________________________

Linux archenland 2.0.28 #2 Thu Feb 13 12:31:37 EST 1997 i586
     _________________________________________________________________

   Cela donne la version du noyau et la date  laquelle il a t compil
   - ce qui vous donnera une bonne ide de ce qui se passe.

  Avez-vous compil le support noyau de ppp comme un module ?

   Si vous avez compil le support de ppp comme un module, mais n'avez
   pas fait d'installation des modules, alors vous pouvez avoir cette
   erreur. Relisez le kernel-HOWTO et le fichier README de /usr/src/linux
   !

   Une autre possibilit concernant les modules est que vous supposez que
   les modules sont chargs automatiquement, alors que le daemon kerneld
   n'est pas lanc (il charge et dcharge les modules au vol). Vrifiez
   le mini-HOWTO kerneld pour des informations sur la configuration de
   kerneld.

  Utilisez-vous une bonne version de PPP pour votre noyau ?

   Vous _devez_ utiliser ppp-2.2 avec les versions 2.0.x du noyau. Vous
   pouvez utiliser ppp-2.2 avec les versions 1.2.x du noyau (si vous le
   patchez) sinon vous devez utiliser ppp-2.1.2.

  Lancez vous pppd en tant root ?

   Si vous ne lancez pas pppd en tant l'utilisateur _root_ (et que pppd
   n'est pas suid vers _root_), vous pourrez recevoir ce message.

18.2 Mon modem se connecte mais PPP ne dmarre jamais

   Il y a d'innombrables possibilits avec a (regardez dans
   comp.os.linux....).

   Une erreur _EXTREMEMENT_ frquente est que vous avez mal tap quelque
   chose dans vos scripts. La seule chose  faire est de vrifier que
   vous avez la conversation entre votre PC Linux et le serveur rapport
   dans le syslog /var/log/message) allez ensuite dans celui-ci _ligne
   par ligne_. Vous aurez peut-tre besoin d'appeler votre serveur ppp 
   la main pour revrifier tout a.

   Vous devez vrifier les messages de logs rels trs attentivement - et
   ayez  l'esprit que les hommes on tendance  lire ce qu'ils PENSENT
   avoir tap - et non ce qu'ils ont sous leurs yeux !

18.3 Le syslog contient "serial line is not 8 bit clean..."

   Il y a plusieurs possibilits  cela - comme des retours sur la ligne
   etc., qui peuvent tre la consquence d'une (ou plusieurs) choses.

   Pour comprendre ce qui se passe, il est ncessaire de chercher se qui
   se passe en coulisses dans pppd lui-mme.

   Lorsque pppd dmarre, il envoie des paquets LCP (Link Control
   Protocol)  la machine distante. Si il reoit une rponse valide il
   passe ensuite  l'tape suivante (avec IPCP - les paquets de contrle
   IP) et c'est seulement une fois que cette ngociation est termine que
   les trames IP relles commencent et que vous pouvez utiliser la
   liaison PPP.

   Si il n'y a pas de serveur ppp fonctionnel  l'autre bout quand votre
   PC envoie les paquets LCP, ceux-ci sont renvoys par le processus de
   login final. Comme ces paquets utilisent 8 bits, et sont rflchis
   avec le 8me bit (souvenez vous qu'ASCII est un code 7 bits). PPP s'en
   aperoit et s'en plaint.

   Il y a plusieurs possibilit pour qu'un rflexion arrive.

  Vous n'tes pas correctement connect sur le serveur

   Lorsque le script chat se termine, pppd dmarre sur votre PC.
   Cependant, si vous n'avez pas termin le processus de connexion au
   serveur (comme envoyer une commande ncessaire  lancer PPP sur le
   serveur), PPP ne se lancera pas.

   Ainsi, le paquet LCP sera rflchi et vous aurez une erreur.

   Vous devez vrifier et corriger (si ncessaire) attentivement votre
   script chat (voir plus haut).

  Vous n'avez pas lanc PPP sur le serveur

   Certains serveurs PPP ncessitent que vous entriez une commande et/ou
   un retour chariot aprs avoir termin le processus de connexion et
   avant que ppp soit lanc  l'autre bout.

   Vrifiez votre script chat (voir plus haut).

   Si vous vous connectez  la main et que vous vous rendez compte que
   vous devez envoyer sur ENTREE aprs avoir lanc PPP, ajouter
   simplement une paire attente/envoi vide  la fin de votre script chat
   (un chane vide envoie en fait ENTREE).

18.4 Le processus PPP distant est long  dmarrer

   L c'est un peu dlicat !

   Par dfaut, votre pppd Linux est compil pour envoyer un maximum de 10
   requtes LCP de configuration. Si le serveur est un peu lent 
   dmarrer, la totalit des 10 requtes auront t envoyes avant que le
   serveur PPP distant n'ait eu le temps de les recevoir.

   Sur votre machine, pppd voit la rflexion des 10 requtes (avec le
   8me bit invers) et s'arrte.

   Il y a deux faon de rsoudre cela :

   Ajouter lcp-max-configure 30 comme option de ppp. Cela augmentera le
   nombre de packets de configuration LCP que pppd enverra avant
   d'abandonner. Pour les serveurs vraiment lents, vous devez mme mettre
   plus que a.

   Sinon, vous pouvez tre un peu malin de votre ct. Vous avez
   peut-tre remarqu que lorsque vous vous connectez  la main au
   serveur PPP et que vous dmarrez alors PPP, le _premier_ caractre que
   ppp envoie et qui apparat est toujours le caractre tilda (~).

   En savant cela, vous pouvez ajouter une nouvelle paire attente/envoi 
   la fin de votre script chat qui attendra un tilda et n'enverra rien.
   Cela ressemblera alors  :
     _________________________________________________________________

\~      ''
     _________________________________________________________________

   Remarque : comme le caractre tilda a une signification particulire
   pour le shell, il doit tre chapp (en fait prcd par un
   backslash).

18.5 La route par dfaut n'est pas configure

   Si pppd refuse de configurer la route par dfaut, c'est parce que
   (assez justement) il refuse de remplacer/supprimer une route par
   dfaut existante.

   La raison habituelle lorsque cette erreur apparat est que certaines
   distributions configurent une route par dfaut pour votre carte
   Ethernet au lieu de la configurer comme une route rseau spcifique.

   Voir le Linux NAG et le HOWTO Net2/3 pour des informations sur la
   faon de configurer correctement votre carte Ethernet et les routes
   associes.

   Une alternative  cela est que votre rseau local utilise dj un
   gateway/routeur et que votre table de routage est dj configure pour
   envoyer la route par dfaut  cet endroit.

   Rsoudre cette situation peut ncessiter quelques connaissances de
   rseau IP qui sort du domaine de ce HOWTO. Il est suggr d'obtenir
   l'avis d'un expert (par les groupes de news ou quelqu'un que vous
   pouvez interroger prs de vous).

18.6 Autres problmes

   Il y a des tas de raisons autres que celles-ci pour que ppp ne
   parvienne pas  se connecter et/ou fonctionner correctement.

   Lisez la FAQ PPP(qui est une srie de questions-rponses). C'est un
   document trs didactique et les rponses y SONT ! De ma propre (et
   triste) exprience, si la rponse  votre problme n'est pas dedans,
   votre problme N'est PAS de la faute de ppp ! Pour ma part,
   j'utilisais un noyau ELF alors que je n'avais pas mis  jour les
   modules du noyau. J'ai juste perdu 2 jours (et presque une nuit) 
   chercher comment doit tre un serveur PPP parfait avant de faire
   lumire !

19. Obtenir de l'aide quand on est totalement perdu

   Si vous n'arrivez pas  faire fonctionner votre liaison PPP, relisez
   ce document et tout vrifier - en conjonction avec les sorties de
   "chat-v..." et "pppd -d" dans votre journal systme.

   Consultez galement la documentation de PPP la FAQ et tout les
   documents mentionns ici !

   Si vous tes encore bloqu, essayez les groupes de news
   comp.os.linux.misc et comp.os.linux.networking qui sont rgulirement
   parcourus par des gens capable de vous aider sur PPP ainsi que dans
   comp.protocols.ppp

   Vous pouvez essayer de m'envoyer personnellement un email, mais si
   j'ai une journe (et mme une vie) charg, je ne garanti pas de
   rpondre rapidement (mme pas du tout) selon la quantit de travail en
   cours et l'tat de ma vie prive !

   En particulier - _NE POSTEZ PAS DES PAGES ET DES PAGES DE SORTIE DE
   DEBUGGAGE DANS LES NEWS GROUPS NI MEME A MOI PAR EMAIL_ - c'est une
   norme perte de bande passante, et la majorit sera envoy dans
   /dev/null ( moins qu'elle ne soit expressment demand).

20. Problmes classiques lorsque la liaison fonctionne

   Un des problmes que vous rencontrerez est que de nombreux
   fournisseurs d'accs est qu'ils ne supporterons que les programmes de
   connexions qu'ils distribuent avec les nouveaux comptes. Il sont
   (habituellement) pour Microsoft Windows :-( - et la plupart des bureau
   d'aide des fournisseurs d'accs ne sembleront rien savoir au sujet
   d'Unix (ou Linux). Donc prparez vous  une assistance limit de leur
   part !

   Vous pouvez videmment leur faire une faveur et leur apprendre ce
   qu'est Linux (certaines personnes au support de votre fournisseur
   d'accs seront relativement 'branch' avec le monde Internet est
   auront une machine Linux chez eux - bien sr que a existe ! )

20.1 Je n'arrive pas  voir aprs le serveur PPP ou je suis connect

   OK - votre connexion PPP est lance et fonctionne vous pouvez pinger
   le serveur PPP avec son adresse IP (la deuxime ou "remote" adresse IP
   affiche par ifconfig ppp0), mais vous ne pouvez rien atteindre aprs
   cela.

   Tout d'abord, essayez de pinger les adresses IP que vous avez spcifi
   dans /etc/resolv.conf comme serveur de noms. Si elles marchent, vous
   _pouvez_ voir aprs votre serveur PPP (en tout cas ce qui  une adresse
   IP identique  ce que vous avez spcifi). Maintenant essayez de
   pinger l'adresse complte de votre fournisseur d'accs :

ping mon.fournisseur.internet.fr

   Si a ne marche pas, vous avez un problme avec la rsolution des
   noms. C'est probablement  cause d'une faute de frappe dans votre
   fichier /etc/resolv.conf. Vrifiez a attentivement  partir des
   informations que vous aviez obtenues en appelant votre fournisseur
   d'accs. Si a semble correct, appelez votre fournisseur d'accs, et
   vrifiez que vous avez not l'adresse IP correctement.

   Si a ne marche TOUJOURS pas (et que votre fournisseur d'accs vous
   confirme que le serveur de noms fonctionne correctement), vous devez
   avoir un problme ailleurs - et je vous suggre de vrifier votre
   installation de Linux (en particulier les permissions des fichiers).

   Si vous ne pouvez TOUJOURS pas pinger le serveur de nom de votre
   fournisseur d'accs par l'adresse IP, soit il est teint (appelez les
   par tlphone et vrifiez) soit il y a un problme de routage du ct
   de votre fournisseur d'accs. De mme appelez-les et demandez leur.

   Un autre possibilit est qu' l'autre bout le serveur PPP Linux n'ait
   pas l'option IP forwarding d'active dans le noyau !

   Un bon test est d'essayer de se connecter avec le programme que votre
   fournisseur d'accs vous a donn pour (oups) Microsoft Windows. Si
   tout marche sur un autre systme d'exploitation avec exactement le
   mme compte, alors le problme vient de votre machine Linux et NON de
   votre fournisseur d'accs.

20.2 Je peux envoyer du courrier mais pas en recevoir

   Si vous avez une adresse IP dynamique, c'est tout  fait normal. Voir
   "Configurer les services" plus bas.

20.3 Pourquoi les gens ne peuvent pas faire de finger, WWW, gopher, talk etc
avec ma machine ?

   La aussi, si vous utilisez une adresse IP dynamique c'est tout  fait
   normal. voir "Configurer les services" plus bas.

21. Utiliser les services Internet avec des adresses IP dynamiques

   Si vous utilisez une adresse IP dynamique (et tous les provideurs ne
   vous donnerons qu'une adresse dynamique  moins que vous ne payez bien
   plus pour votre connexion), vous devez accepter les limitations
   qu'elle impose.

   Tout d'abord, les requtes pour les services sortant fonctionneront
   parfaitement. Cela signifie que vous pourrez envoyer du courrier avec
   sendmail (si sendmail est configur correctement), les fichiers ftp
   pour les sites distants, les fingers vers d'autres machines, surfer
   sur le web etc.

   En particulier, vous pourrez rpondre au courrier que vous avez reu
   mme si votre machine n'est plus connecte. Le courrier restera dans
   votre queue de messages jusqu' ce que vous appeliez votre FAI.

   Cependant, votre machine N'est PAS connecte  Internet 24H/24, et en
   plus elle n'a pas la mme adresse IP  chaque fois qu'elle se
   connecte. Il est donc impossible de recevoir du courrier lectronique
   directement sur votre machine, et de crer un serveur web et ftp que
   vos amis pourraient accder ! A partir du moment ou a concerne
   Internet, votre machine n'est pas unique, ni accessible de manire
   permanente comme cela serait le cas avec une adresse IP unique (rappel
   - les autres machines utilisent les adresses IP pour accder  votre
   machine).

   Si vous configurez en serveur WWW (ou n'importe quoi d'autre), il est
   totalement inconnu des utilisateurs d'Internet A MOINS QU'ils soient
   au courant que votre machine est connecte et qu'ils connaissent votre
   adresse IP courante. Il y a plusieurs faon de fournir cette
   information, vous demander par tlphone, leur envoyer un e-mail pour
   leur dire, ou utiliser un fichier ".plan" sur le compte shell de votre
   fournisseur d'accs (en partant du principe que votre fournisseur
   d'accs permet les script shell et les finger).

   Maintenant, pour la majorit des utilisateurs, a n'est pas vraiment
   un problme - la plupart des gens veulent pouvoir envoyer et recevoir
   leur email (sur le compte de leur fournisseur d'accs) et faire des
   connexions sortantes vers WWW, ftp et d'autres services d'Internet. Si
   vous AVEZ un besoin impratif de connexion sortantes, vous feriez
   mieux de prendre une adresse IP statique. Cependant, vous pouvez aussi
   explorer les mthodes astucieuses ci dessous...

21.1 Configurer le courrier lectronique (email)

   Mme avec une adresse IP dynamique, vous devrez certainement
   configurer sendmail sur votre machine pour envoyer le courrier que
   vous crivez localement. La configuration de sendmail peut tre
   obscure et difficile - ce document ne vous parleras pas de la faon de
   faire. Cependant, vous aimeriez sans doute configurer sendmail pour
   que votre fournisseur d'accs soit considr comme un hte "smart
   relay" (l'options _DS_ de sendmail). (Pour plus d'info sur la
   configuration de sendmail, voir la documentation de sendmail - et
   regardez la configuration de m4 fourni avec sendmail. Il y a forcement
   quelque chose qui rponds  ce que vous cherchez).

   Il y a un excellent livre sur Sendmail (une vritable 'bible' aux
   ditions O'Reilly and Associates), mais c'est certainement beaucoup
   trop pour la plupart des utilisateurs !

   Une fois que vous avez configur sendmail, vous avez probablement
   envie que sendmail envoie les messages en attente ds que la connexion
   PPP est lance. Pour cela, ajouter la commande

sendmail -q &

   dans votre script /etc/ppp/ip-up (voir plus haut).

   Les mails entrant sont problmatique avec les adresses IP dynamiques.
   La faon de les supporter est de :
     * configurer votre lecteur d'email pour que le courrier contiennent
       un champ "reply to" dans lequel il y aura votre adresse
       lectronique chez votre fournisseur d'accs.
       Si vous le pouvez, configurez galement le champ FROM avec votre
       adresse lectronique chez votre FAI.
     * utiliser les programmes popclient, fetchmail pour rcuprer le
       courrier chez votre fournisseur d'accs. Ou bien, si votre FAI
       utilise IMAP, utilisez un lecteur de courrier lectronique ayant
       IMAP d'activ (comme pine).

   Vous pouvez automatiser ce processus lors de l'appel en ajoutant la
   commande ncessaire dans le script /etc/ppp/ip-up (voir plus haut).

21.2 Configurer un serveur de noms local

   Mme si vous tes content d'utiliser le serveur de noms situ chez
   votre fournisseur d'accs, vous pouvez en plus configurer un serveur
   de nom local (secondaire) de cache uniquement qui serait lanc avec le
   script ip-up. L'avantage d'utiliser un serveur de noms local (cache
   uniquement) est de gagner du temps (et de la bande passante) si vous
   contactez souvent les mme sites pendant de longues sessions en ligne.

   La configuration du DNS pour un serveur de cache seulement (qui
   utilise une ligne 'forwarders' dans le fichier named.boot pointant sur
   le DNS de votre FAI) est relativement simple. Le livre O'Reilly (DNS
   et Bind) explique tout ce que vous devez savoir sur le sujet.

   Il existe galement un DNS-HOWTO.

   Si un petit rseau local accde  Internet grce  votre PC Linux
   (avec IP masquerading par exemple), c'est sans doute une excellente
   ide d'utiliser un serveur de noms (avec la directive forwarders)
   puisque cela rduira les delais et la bande passante utilise pour la
   rsolution des noms.

   Un point de la Netiquette : demandez la permission  votre fournisseur
   d'accs avant de mettre en place un serveur de noms secondaire de
   cache uniquement dans le domaine de votre FAI. Configur correctement,
   il n'entrainera aucun problme chez votre FAI, mais si il ne l'est
   pas, il peut causer de nombreux problmes.

22. Relier deux rseaux locaux avec PPP

   Il y a fondamentalement aucune diffrence entre le fait de relier un
   seul PC Linux avec PPP et relier deux rseaux locaux avec PPP et une
   machine sur chaque rseau. Souvenez-vous PPP est un protocole
   _rversible_.

   Cependant, vous devez _REELLEMENT_ comprendre comment le routage se
   droule. Lisez le NET-2 HOWTO et le Guide d'administration Linux
   (NAG). Vous trouverez galement une aide inestimable dans le " TCP/IP
   Network Administration" (publi par O'Reilly and Assoc - ISBN
   0-937175-82-X)

   Si vous utilisez une adresse de sous-rseau de chaque ct de la
   liaison, le (brouillon) de mini-howto Linux sub networking pourra vous
   tre utile. Il est disponible  Linux Sub networking mini-HOWTO.

   Pour relier deux rseaux locaux, vous _devez_ utiliser des adresses IP
   diffrentes (ou des sous-rseau d'adresses diffrentes) et vous devrez
   utiliser des adresses IP statiques ou l'IP Masquerading. Si vous
   voulez utiliser l'IP Masquerading, consultez le mini-howto IP
   masquerade pour avoir des instructions sur la manire de le
   configurer.

22.1 Configurer les adresses IP

   Arrangez-vous avec l'administrateur systme de l'autre rseau local
   pour choisir les adresses IP qui seront utiliss de chaque ct de
   l'interface PPP. Si vous utilisez des adresses IP statiques, il sera
   sans doute pratique d'appeler un numro de tlphone ddi.

   Maintenant, ditez le fichier /etc/ppp/options[.ttyXX] appropri - il
   est judicieux d'avoir un modem et un port ddi de chaque ct de la
   connexion. Cela ncessite quelques changements dans le fichier
   /etc/ppp/options et la cration d'un fichier options.ttyXX appropri
   pour les autres connexions !

   Spcifiez les adresses IP pour le ct de votre liaison PPP dans les
   fichiers d'options appropris exactement comme cela est dcris plus
   haut pour les adresses IP statiques.

22.2 Configurer le routage.

   Vous devez vous occuper que les paquets du rseau local soit routs 
   travers l'interface lorsque la liaison PPP est lance. Ce processus se
   fait en deux parties.

   Tout d'abord, vous devez configurer une route partant de la machine
   qui fait marcher la liaison PPP vers le rseau situ  l'autre bout.
   Si cette liaison donne sur Internet, vous pouvez utilisez la route par
   dfaut mise en place par pppd lui-mme  la connexion avec l'option
   defaultroute.

   Si toutefois, la liaison relie seulement deux rseaux locaux, alors
   une route rseau spcifique doit tre ajoute pour tous les rseaux
   accessible par cette liaison. C'est la commande 'route' qui le fait
   pour chaque rseau dans le script /etc/ppp/ip-up script (voir une fois
   que la liaison fonctionne...) pour des instructions dtailles.

   La seconde chose dont vous avez besoin est de prvenir les autres
   ordinateurs que vous tes le gateway vers les rseaux situs  l'autre
   bout de la liaison.

   Bien sr, l'administrateur rseau de l'autre cot de la liaison doit
   faire les mme choses ! Cependant, puisque qu'il route les paquets
   vers votre rseau particulier, une _route rseau spcifique_ est
   indispensable, et non la route par dfaut ( moins que le rseau situ
    l'autre bout se connecte chez vous pour accder  Internet).

22.3 Scurit rseau

   Si vous reliez votre rseau local  Internet avec PPP - ou du moins
   avec un rseau local "tranger", vous devez rflchir aux problmes de
   scurit. Je vous conseille fermement de penser  configurer un
   firewall !

   Vous devriez galement parler  l'administrateur rseau de votre site
   _AVANT_ de lancer une connexion vers un rseau local tranger voire
   vers Internet ce cette manire. Ne rien faire peut soit n'amener
   aucune raction soit de srieux problmes !

23. Une fois que la connexion fonctionne - le script /etc/ppp/ip-up

   Une fois que la connexion est tablie, pppd cherche un /etc/ppp/ip-up.
   Si ce script existe et est excutable, le daemon PPP le lance. Cela
   permet d'automatiser des commandes de routages spciales qui peuvent
   tre ncessaires et toutes les autres actions que vous souhaitez
   lancer une fois que la liaison PPP est active.

   C'est un simple script shell qui fait uniquement ce qu'un script shell
   peut faire (en fait quasiment tout ce que vous voulez).

   Par exemple, vous pouvez demander  sendmail d'envoyer les messages en
   attentes.

   Il y a quelques restrictions avec /etc/ppp/ip-up:

     * Il fonctionne dlibremment dans un environnement rduit pour
       augmenter la scurit. Cela signifie que vous devez donner le
       chemin complet des excutables.
     * Techniquement, /etc/ppp/ip-up est un _programme_ et non un script.
       Cela signifie qu'il ne peut pas tre excut directement - mme si
       il a besoin du (#!/bin/bash) magique au dbut de la premire ligne
       et qu'il doit tre lisible est excutable par root.

23.1 Routages spciaux

   Si vous reliez deux rseaux locaux, vous devez configurer des routes
   spcifiques vers le rseau 'tranger'. Le script /etc/ppp/ip-up peut
   le faire facilement. La seule difficult est lorsque votre machine
   supporte plusieurs liaisons PPP.

   /etc/ppp/ip-up est utilis  chaque lancement de ppp, vous devez donc
   tre extrmement vigilant d'excuter les commandes de routage
   correctes pour la liaison qui dmarre - et non lorsque n'importe
   quelle liaison dmarre !

23.2 Support du courrier lectronique en attente

   Lorsqu'une liaison entre deux rseaux locaux dmarre, vous voudriez
   vous assurez que le courrier en attente de chaque cot de la liaison
   est bien envoy  son destinataire. Cela est possible en ajoutant un
   appel correct  sendmail.

   Utiliser la commande case du bash sur le bon paramtre que passe pppd
   au script permet cela. Par exemple, voici un script /etc/ppp/ip-up que
   j'utilise pour mes liaisons entre l'entreprise et chez mon rseau
   Ethernet (galement connect au mme serveur ppp).

23.3 Un exemple de script /etc/ppp/ip-up

   Le script suivant permet de nombreuses utilisations.
     _________________________________________________________________

#!/bin/bash
#
# Script permettant de supporter les possiblites de routages necessaires a pppd
# Seule la liaison vers Newman necessite ce support.
#
# Quand la liaison ppp demarre, ce script est appele avec les parmetres
# suivants
#       $1      le nom de l'interface utilisee par pppd (c.-a-d. ppp3)
#       $2      le nom du peripherique tty
#       $3      la vitesse du peripherique tty
#       $4      l'adresse IP locale de l'interface
#       $5      l'adresse  IP distante
#       $6      le parametre specifie par l'option 'ipparam' a pppd
#
case "$5" in
# Supporte le routage vers le serveur du Newman Campus
        202.12.126.1)
                /sbin/route add -net 202.12.126.0 gw 202.12.126.1
# et envoie les courriers en attente la-bas !
                /usr/sbin/sendmail -q &
                ;;
        139.130.177.2)
# Notre liaison Internet
# Lorsque notre liaison est lancee, demarre le serveur de temps et
# se synchronise avec le monde si il n'a pas encore bouge.
                if [ ! -f /var/lock/subsys/xntpd ]; then
                        /etc/rc.d/init.d/xntpd.init start &
                fi
# Demarre le serveur de news (si il ne marche pas encore)
                if [ ! -f /var/lock/subsys/news ]; then
                        /etc/rc.d/init.d/news start &
                fi
                ;;
        203.18.8.104)
# Recupere le courrier electronique sur ma machine tant que la liaison
# fonctionne. Aucun routage n'est necessaire tant que mon reseau local
# Ethernet supporte IP masquerade et le routages proxyarp.
                /usr/sbin/sendmail -q &
                ;;
        *)
esac
exit 0
     _________________________________________________________________

   Le rsultat du lancement de la liaison PPP vers notre campus Newman et
   le dmarrage de ce script, dtermine les entres de la table de
   routage (cette machine est aussi notre serveur PPP gnral ET supporte
   nos liaisons Internet). J'ai ajout des commentaires sur la sortie
   pour expliquer a quoi correspond chaque entre) :
     _________________________________________________________________

[root@kepler /root]# route -n
Kernel routing table
Destination     Gateway         Genmask         Flags MSS    Window Use Iface
# la route de l'HOTE de notre gateway internet
139.130.177.2   *               255.255.255.255 UH    1500   0      134 ppp4
# la route de l'HOTE vers le serveur Newman campus
202.12.126.1    *               255.255.255.255 UH    1500   0       82 ppp5
# la route de l'HOTE de mon rseau local ethernet
203.18.8.104    *               255.255.255.255 UH    1500   0       74 ppp3
# deux des lignes gnrales PPP
203.18.8.64     *               255.255.255.255 UH    552    0        0 ppp2
203.18.8.62     *               255.255.255.255 UH    552    0        1 ppp1
# la route rseau specifique vers le rseau Newman campus
202.12.126.0    202.12.126.1    255.255.255.0   UG    1500   0        0 ppp5
# la route de notre rseau local Ethernet (super-netting two adjacent C classes
)
203.18.8.0      *               255.255.254.0   U     1500   0     1683 eth0
# la route vers le priphrique loop back
127.0.0.0       *               255.0.0.0       U     3584   0      483 lo
# la route par dfaut vers Internet
default         139.130.177.2   *               UG    1500   0     3633 ppp4
     _________________________________________________________________

23.4 Support du courrier lectronique

   La section prcdente montrait comment supporter le mail sortant - en
   envoyant simplement le courrier lorsque la liaison dmarrait.

   Si vous utilisez une liaison pour un rseau large, vous pouvez vous
   arranger avec l'administrateur rseau du site distant pour qu'il fasse
   exactement la mme chose. Par exemple,  l'autre bout de la liaison au
   Newman Campus, le script /etc/ppp/ip-up ressemble  :
     _________________________________________________________________

#!/bin/bash
#
# Script permettant de supporter les possiblites de routages necessaires a pppd
# Seule la liaison vers Hedland necessite ce support.
#
# Quand la liaison ppp demarre, ce script est appele avec les parmetres
# suivants
#       $1      le nom de l'interface utilisee par pppd (c.-a-d. ppp3)
#       $2      le nom du peripherique tty
#       $3      la vitesse du peripherique tty
#       $4      l'adresse IP locale de l'interface
#       $5      l'adresse  IP distante
#       $6      le parametre specifie par l'option 'ipparam' a pppd
#
case "$5" in
        203.18.8.4)
                /usr/sbin/sendmail -q
                ;;
        *)
esac
exit 0
     _________________________________________________________________

   Si toutefois, vous n'avez qu'une adresse IP dynamique chez votre FAI,
   vous devrez recevoir votre courrier sur le compte de votre fournisseur
   d'accs. Cela est gnralement possible en utilisant POP (Post Office
   Protocol). Ce processus peut tre support avec le programme
   'popclient" - le script ip-up peut automatiser le processus pour vous
   !

   Crez simplement un script /etc/ppp/ip-up qui contient un appel
   correct  popclient. Pour mon portable avec la RedHat Linux (que je
   prends lorsque je voyage), j'ai
     _________________________________________________________________

popclient -3 -c -u hartr -p <password> kepler.hedland.edu.au |formail -s procma
il
     _________________________________________________________________

   Vous pouvez aussi utiliser slurp en quelque chose d'autre d'identique
   pour les news, et d'autres trucs. Souvenez vous que le script ip-up
   est un script bash standard et qui peut servir  automatiser TOUTES
   les fonctions que vous devez accomplir chaque fois qu'une liaison PPP
   correspondante dmarre.

24. Utiliser /etc/ppp/ip-down

   Vous pouvez crire un script, qui sera excut  chaque fois qu'une
   liaison se termine. Qui se situe dans /etc/ppp/ip-down. Il peut tre
   utilis pour retirer ce que vous avez ajoutez de spcial avec le
   script /etc/ppp/ip-up correspondant.

25. Possibilit de routage sur un rseau local

   Si vous tes connect sur un rseau local et que vous voulez toujours
   utiliser PPP avec votre machine Linux, vous devez dfinir les routes
   que les packets doivent prendre pour atteindre le rseau local 
   partir de votre machine (par l'interface Ethernet) et galement le
   serveur PPP distant voire plus loin.

   Cette section ne prtend pas vous apprendre le routage - elle traite
   seulement de cas simples et spciaux de routage (statique) !

   Je vous recommande chaudement de lire de Guide d'administration Rseau
   Linux si vous n'tes pas habitu avec le routage. De mme le livre
   d'O'Reilly "TCP/IP Network Administration" couvre le sujet de manire
   trs abordable.

   La rgle de base du routage statique est que la route par DEFAUT
   pointe  l'endroit o il y le PLUS grand nombre d'adresse rseau. Pour
   les autres rseau, entrs des routes spcifiques dans la table de
   routage.

   La SEULE situation que je couvre ici est lorsque votre machine Linux
   est sur un rseau non connect  Internet - et vous voulez vous
   connectez  Internet pour une utilisation personnelle tout en restant
   connect au rseau local.

   Tout d'abord, assurez-vous que votre route Ethernet est bien configur
   comme une adresse rseau spcifique disponible sur votre rseau local
   - et PAS dans la route par defaut !

   Vrifiez cela en tapant la commande route, vous devriez avoir quelque
   chose qui ressemble  ce qui suit :

[root@hwin /root]# route -n
Kernel routing table
Destination     Gateway         Genmask         Flags MSS    Window Use Iface
loopback        *               255.255.255.0   U     1936   0       50 lo
10.0.0.0        *               255.255.255.0   U     1436   0      565 eth0

   Si votre interface Ethernet (eth0) pointe vers la route par dfaut,
   (la premire colonne contiendra un "default" dans la ligne eth0) vous
   devez changer les scripts d'inititalisation d'Ethernet pour qu'ils
   utilisent des adresses rseau spcifiques plutt que la route par
   dfaut (consultez le HOWTO Net2 et le NAG).

   Cela va permettre  pppd de configurer votre route par dfaut comme
   suit :

[root@hwin /root]# route -n
Kernel routing table

Destination     Gateway         Genmask         Flags MSS    Window Use Iface
10.144.153.51   *               255.255.255.255 UH    488    0        0 ppp0
127.0.0.0       *               255.255.255.0   U     1936   0       50 lo
10.1.0.0        *               255.255.255.0   U     1436   0      569 eth0
default         10.144.153.51   *               UG    488    0        3 ppp0

   Comme vous pouvez le voir, nous avons une route d'hte vers le serveur
   PPP (10.144.153.51) par ppp0 qui est galement la route par dfaut
   utilis par le serveur PPP comme gateway.

   Si votre configuration est plus compliqu que cela, lisez les
   documents concernant le routage cits plus haut, et consultez un
   expert de votre site !

   Si votre rseau local  aussi des routeurs, vous devez dj avoir des
   gateways pour interconnecter les rseaux disponibles sur votre site.
   Vous devez TOUJOURS mettre la route par dfaut vers l'interface PPP -
   et utiliser des routes spcifiques pour les autres rseaux que vous
   accdez.

25.1 Remarques sur la scurit

   Lorsque vous configurez une machine Linux sur un rseau local existant
   sur Internet, vous ouvrez potentiellement tout votre rseau local vers
   Internet - ainsi que les pirates qui l'utilise. Avant de commencer, je
   vous conseille vivement de consulter votre administrateur rseau et le
   responsable de la scurit de votre site. Si votre connexion PPP vers
   Internet est utilis et permet d'attaquer votre site, vous serez dans
   la plus mauvaise position face  la colre de vos collgues et votre
   administrateur systme et rseau. Vous pourriez vous-mme avoir de
   srieux problmes !

   Avant de connecter un rseau local sur Internet, vous devez prendre en
   compte les problmes de scurit mme avec une connexion DYNAMIQUE -
   dans ce cas la rfrence la plus rcente est le "Building Internet
   Firewalls" d'O'Reilly !

26. Configurer un serveur PPP

   Comme c'est mentionn plus haut, il y a des tas de faons de faire. Ce
   que je prsente ici est la faon de faire une liaison tournante sur
   plusieurs lignes tlphoniques (avec une carte srie multi-ports
   utilisant des Cyclades)

   Si vous n'aimez pas la mthode prsente ici, faites donc comme vous
   prfrez. J'aimerais toutefois ajouter des mthodes supplmentaires
   dans les prochaines versions de ce HOWTO. Envoyez donc moi comment
   vous faites !

   Remarquez que cette section ne concerne que la configuration de Linux
   comme serveur PPP. Je ne compte absolument pas donner d'informations
   sur la faon de configurer des serveurs terminaux ou autre.

   Mme si, j'ai dj expriment l'utilisation de shadow password (et
   l'utilise de temps en temps). Les informations prsentes ici
   n'utiliserons toutefois pas ce mcanisme.

26.1 Compiler le noyau

   Tous les commentaires prcdent concernant la compilation du noyau et
   les versions du noyau et de pppd sont encore valables. Cette section
   considre que vous avez lu les sections prcdentes du document !

   Pour un serveur PPP, vous _DEVEZ_ ajouter le support de IP forwarding
   dans votre noyau. Vous pouvez aussi inclure d'autres supports (comme
   le IP fire walls, accounting etc etc).

   Si vous utilisez une carte srie multi-port, vous devez bien entendu
   inclure galement les pilotes ncessaires dans le noyau !

26.2 Prsentation du systme de serveur

   Nous offrons des comptes PPP (ou SLIP) et des comptes shell en
   utilisant les mmes paires nom utilisateur/ mot de passe. Cela permet
   (pour nous) que les utilisateurs n'aient qu'un seul compte qu'ils
   peuvent utiliser pour toutes les connexions.

   Comme nous sommes une organisation ducative, nous ne faisons pas
   payer le personnel ni les tudiants pour leur accs, et nous n'avons
   donc pas besoin de nous inquiter des problmes de payement.

   Un firewall existe entre notre site et Internet, et cela limite les
   accs des utilisateurs puisque les lignes d'appels sont sur notre
   firewall Internet (pour certaines raisons videntes, le dtails des
   autres firewalls internes ne sera pas prsent ici et serait de toute
   faon inutile)

   Le processus avec lequel un utilisateur tablit une liaison PPP avec
   notre site (une fois qu'ils ont un compte bien sr) :
     * Appeler notre ligne d'appel group (qui est un numro de tlphone
       qui se connecte sur une banque de modems - le premier modem libre
       est utilis).
     * Connexion avec une paire valide de nom utilisateur et mot de passe
     * Au prompt du shell, lancement de la commande ppp pour lancer PPP
       sur le serveur.
     * Dmarrer PPP sur le PC (il peut utiliser Windows, DOS, Linux, MAC
       OS ou n'importe quoi d'autre - ce n'est pas un problme).

   Le serveur utilise un fichier /etc/ppp/options.ttyXX individuel pour
   chacune des connexions sur le port o est configur l'adresse IP
   distante pour l'allocation des adresses IP dynamiques. Le serveur
   utilisateur route les clients avec proxyarp (configur avec l'option
   approprie de pppd). Cela oblige la prsence de routed ou gated.

   Quand l'utilisateur raccroche de son cot, pppd le dtecte et indique
   au modem de raccrocher, fermant en mme temps la liaison PPP.

26.3 Faire marcher les programmes tous ensemble

   Vous avez besoin des programmes suivants :
     * Linux, correctement compil avec les options ncessaires
     * La version de pppd correspondant  votre noyau
     * Un programme 'getty' qui dcroche intelligemment les
       communications par modem.
       Nous utilisons getty_ps2.0.7h, mais mgetty est aussi bien. Je sais
       que mgetty peut s'apercevoir qu'un appel utiliser PAP/CHAP (PAP
       est le standard pour Windows 95) et invoquer pppd automatiquement,
       mais je dois encore explorer un peu a.
     * Un serveur de nom (DNS) fonctionnel qui est accessible pour les
       utilisateurs qui se connectent.

   _Ce howto ne couvre pas sa configuration. Regardez la documentation de
   getty de votre choix ou le serial HOWTO pour plus d'informations sur
   le sujet._

26.4 Configurer les fichiers d'options

   Vous avez besoin de configurer la totalit de /etc/ppp/options avec
   les options standard pour les ports d'appel. Les options utiles sont :
     _________________________________________________________________

asyncmap 0
netmask 255.255.254.0
proxyarp
lock
crtscts
modem
     _________________________________________________________________

   Remarque - nous n'utilisons AUCUN routage (direct) - et en particulier
   il n'y a pas d'option defaultroute. La raison de cela est que tout ce
   dont vous avez besoin (en tant que serveur PPP)  l'endroit o router
   les paquets _venant_ du client ppp vers votre rseau local ou Internet
   et de router les paquets _vers_ le client ppp qui viennent du votre
   rseau local ou d'Internet.

   Tout ce dont vous avez besoin est la route hte de la machine client
   et l'utilisation de l'option 'proxyarp' de pppd.

   L'option 'proxyarp' configure (surprise) une entre proxy ARP dans la
   table ARP du serveur qui signifie en substance 'envoie moi tous les
   paquets destins au client'. C'est la manire la plus simple de
   configurer le routage vers un client PPP unique - mais elle ne peut
   tre utilis pour le routage entre deux rseaux locaux - vous devez
   alors utiliser les routes rseau relles qui ne pourront pas utiliser
   le proxy ARP.

   Vous devez certainement avoir envie de fournir des adresses IP
   dynamiques aux utilisateurs qui se connectent. Vous pouvez le faire en
   associant une adresse IP dynamique sur chaque port d'appel. Crez
   alors pour chaque port d'appel un /etc/ppp/options.ttyXX.

   Dedans, mettez simplement l'adresse IP locale du serveur et l'adresse
   IP qui doit tre utilis pour ce port. Par exemple
     _________________________________________________________________

kepler:slip01
     _________________________________________________________________

   Remarquez en particulier que vous pouvez utiliser les noms d'htes
   valides dans ce fichier (je trouve que c'est la seule faon de se
   souvenir des adresses IP des machines importantes de mon rseau, les
   noms sont bien plus significatifs) !

26.5 Configurer pppd pour permettre aux utilisateurs de le lancer

   Comme configurer une liaison ppp implique de configurer un
   priphrique dans le noyau (une interface rseau) et de manipuler les
   tables de routage, des privilges spciaux sont ncessaires - en fait
   la totalit des privilges root.

   Heureusement, pppd est prvu pour marcher correctement avec set uid
   root. Vous devez donc
     _________________________________________________________________

chmod u+s /usr/sbin/pppd
     _________________________________________________________________

   Quand vous listez le fichier, il doit apparatre comme cela
     _________________________________________________________________

-rwsr-xr-x   1 root     root        74224 Apr 28 07:17 /usr/sbin/pppd
     _________________________________________________________________

   Si vous n'avez pas a, vous ne pourrez pas utiliser votre liaison ppp.

26.6 Crer un alias global pour pppd

   Pour simplifier les choses pour les utilisateurs de notre connexion
   PPP, nous crerons un alias global (dans /etc/bashrc) qui est en fait
   une simple commande qui lancera ppp sur le serveur ds qu'ils seront
   connects.

   Cela nous donne
     _________________________________________________________________

alias ppp="exec /usr/sbin/pppd -detach"
     _________________________________________________________________

   Et il fait ceci
     * exec : va remplacer le programme en cours (dans le cas d'un shell)
       par le programme qui va tre lanc.
     * pppd -detach : lance pppd et le laisse pas en tche de fond. Cela
       assure que pppd existe et qu'il n'y a pas d'autres processus qui
       tranent.

   Quand un utilisateur se connecte comme cela, il va apparatre aprs un
   'w'
     _________________________________________________________________

  6:24pm  up 3 days,  7:00,  4 users,  load average: 0.05, 0.03, 0.00
User     tty       login@  idle   JCPU   PCPU  what
hartr    ttyC0     3:05am  9:14                -
     _________________________________________________________________

   Et c'est tout... Je vous avais dit que c'tait simple un serveur PPP
   de base !

27. Utiliser PPP avec une connexion null modem

   C'est trs simple - il n'y a pas de modem et ainsi les choses sont
   bien plus facile.

   Tout d'abord, choisissez une machine comme 'serveur', configurez getty
   sur le port srie pour que vous testiez si vous avez une connectivit
   en utilisant minicom sur le 'client'.

   Une fois que a fonctionne, vous pouvez enlever le getty A MOINS que
   vous vouliez tre sr que la connexion permet d'utiliser les paires
   nom utilisateur/ mot de passe pour les connexions entrantes. Comme
   vous avez un 'contrle physique' des deux machines, je pense que vous
   n'avez pas besoin de a.

   Maintenant, sur le serveur, enlevez getty et assurez vous que les
   ports srie sont configurs correctement sur les deux machines avec
   'setserial'.

   Tout ce que vous avez besoin maintenant est de dmarrer pppd sur les
   deux systmes. Je suppose que les connexions utilise une connexion par
   /dev/ttyS34. Ainsi sur les deux machines lancez la commande :
     _________________________________________________________________

pppd -detach crtscts lock <local IP>:<remote IP> /dev/ttyS3 38400 &
     _________________________________________________________________

   Cela devrait lancer la connexion - mais pour le moment il n'y a aucun
   routage de spcifi. Vous pouvez tester la connexion en pingant
   l'autre machine. Si a marche, teignez la liaison en tuant le
   processus pppd

   Le routage dont vous avez besoin dpend de ce que vous voulez faire
   exactement. Gnralement, une des machines sera connect sur un rseau
   Ethernet (et mme plus) le routage ncessaire est donc exactement le
   mme qu'entre un serveur PPP et un client.

   Sur la machine quipe d'Ethernet, la commande sera donc
     _________________________________________________________________

pppd -detach crtscts lock proxyarp <local IP>:<remote IP> /dev/ttyS3 38400 &
     _________________________________________________________________

   et sur l'autre machine
     _________________________________________________________________

pppd -detach crtscts lock defaultroute <local IP>:<remote IP> /dev/ttyS3 38400
&
     _________________________________________________________________

   Si vous reliez deux rseaux locaux (avec une liaison srie !) vous
   aurez besoin d'un routage plus complexe, vous pouvez utiliser
   /etc/ppp/ip-up exactement de la mme faon qu'il est dcrit plus haut.

   _Robert Hart_
   Port Hedland, Western Australia
   Melbourne, Victoria, Australia August/October 1996 January/March 1997
