Linux PPP, Foire Aux Questions
 Par Alfred Longyear, adaptation Francaise Rene Cougnenc
 27 Janvier 1994

 Ce document contient les reponses aux questions frequemment posees
 concernant l'implementation de PPP sous Linux, il s'agit de la traduc-
 tion Francaise et d'une mise en forme SGML du fichier contenu dans
 l'archive de distribution du paquetage PPP. Depuis, Al Longyear dif-
 fuse un ``PPP-HOWTO''. Ce document ayant ete realise avant, il con-
 serve le nom de PPP-FAQ et est un peu different du HOWTO original; en
 fait il est plus complet.

 1.  Mentions legales

  "Linux PPP Frequently Asked Questions" est Copyright (c) 1994 Alfred
 Longyear.

 Ce document  peut etre reproduit en tout ou partie a condition que son
 origine soit clairement mentionnee et que ce present copyright soit
 present.  Aucune modification du texte n'est autorisee.

 Microsoft est une marque deposee de  Microsoft Corporation.  Morning
 Star est une marque deposee de
  Morningstar Technologies Incorporated.  Tous les autres produits
 mentionnes sont des marques deposees des compagnies en etant
 proprietaires.



 2.  Introduction

 Voici les reponses aux questions frequemment posees concernant
 l'utilisation de PPP sous Linux.

 Envoyez toute correction que vous jugerez necessaire a l'adresse
  [email protected]. Attention ! consultez le texte original Anglais
 auparavant; l'auteur, Alfred Longyear, n'est pas concerne par les
 eventuelles erreurs introduites dans cette adaptation Francaise.

 Ce document sera occasionnellement remis a jour, mais surement pas
 tres regulierement, realiser ce genre de choses prend un temps non
 negligeable et n'est pas un travail passionnant.  Sa diffusion sera
 tout aussi peu precise, nous tacherons de le rendre disponible sur les
 principaux sites diffusant Linux en France. Le source original est
 realise en SGML et formate par le systeme Linux-doc-SGML mis au point
 par Matt Welsh pour la documentation du systeme Linux.  Vous
 disposerez par consequent de ce texte dans differents formats, qui
 sont:

 o  Sortie DVI apres formatage LaTeX, que vous pourrez par exemple
    afficher sous X-Window par la commande xdvi,

 o  Sortie PostScript, permettant directement l'impression papier du
    plus bel effet,

 o  Sortie HTML, qui vous autorisera a parcourir ce document sous forme
    hypertexte dans Chimera, Mosaic ou tout autre client WWW,

 o  Sortie ASCII, desaccentuee et pas tres jolie, mais si vous ne
    pouvez pas faire autrement elle sera lisible sur n'importe quoi,

 o  Et bien sur du texte source SGML ayant permis la realisation de ces
    precedents formats.

 La mise en page n'est pas extraordinaire, le kit Linux-doc-sgml
 n'etant pas destine a realiser des productions aussi peaufinees que
 celles faites directement sous LaTeX.

 Tout au long de ce document, il est fait usage du terme "distant" pour
 designer "systeme situe a l'autre bout de la connexion modem", que
 l'on appelle souvent "peer". Son adresse IP est l'adresse 'P-t-P'
 indiquee par la commande 'ifconfig'.




 3.  Questions et reponses



 3.1.  Qu'est-ce que PPP ?

 PPP, ou "Point-to-Point Protocol", est un protocole internet
 ``officiel''. Il est destine a l'echange de paquets IP (ou autre type
 de reseau) sur une liaison serie. Sa description se trouve dans le RFC
 1661.

 Contrairement a ce que beaucoup de personnes pensent, PPP ne signifie
 pas du tout "Peer to Peer Processing", bien qu'il soit possible
 d'effectuer des communications "peer-peer" en utilisant TCP/IP sur une
 liaison PPP.


 3.2.  Mon entreprise (universite) ne supporte pas PPP. Puis-je
 l'utiliser ?

 En general, non. Une implementation ``classique'' de PPP necessite des
 modifications aux routages et interfaces reseau du systeme
 d'exploitation.  Cela peut necessiter la recompilation du noyau du
 systeme distant.

 Ce n'est pas une tache de simple utilisateur. Si vous arrivez a
 convaincre vos administrateurs systeme que PPP est une ``bonne
 chose'', alors vous aurez une chance de voir ce protocole installe. Si
 ils sont refractaires a cette idee, vous ne pourrez probablement pas
 utiliser PPP.

 Malgre tout, si vous utilisez un systeme qui est supporte par les gens
 qui vendent "TIA" ("The Internet Adapter") il y a un petit espoir.
 Nous n'avons pas beaucoup d'informations sur ce paquetage, mais nous
 avons entendu dire qu'ils comptent supporter PPP dans les prochaines
 versions. (Ces informations sont sans doute tres anciennes, contactez-
 les directement. Vous trouverez des renseignements sur TIA sur
 ftp.marketplace.com dans le repertoire /pub/tia).

 Un portage Linux est prevu.

 Si votre systeme n'est pas supporte par TIA et que vous ne pouvez
 convaincre vos administrateurs de l'utilite de PPP, essayez d'utiliser
 le paquetage "term".


 3.3.  Ou et sous quelle forme se trouve PPP ?

 Il se decompose en deux parties, dont la premiere est dans le noyau,
 incluse depuis Linux 1.1.13.

 NE REMPLACEZ PAS LE PILOTE FOURNI AVEC LE NOYAU PAR UNE VERSION
 TROUVEE DANS LE PAQUETAGE PPPD !!!

 La seconde partie est le "demon pppd". Ce programme est INDISPENSABLE,
 ses sources se trouvent dans le fichier ppp-2.1.2b.tar.gz sur les
 sites diffusant Linux.

 Pour les noyaux de version inferieure a 1.1.13, le pilote necessaire
 est inclus dans un sous-repertoire de cette archive. C'est le seul cas
 ou vous devez utiliser ces fichiers systeme, mais il est plutot
 preferable que vous mettiez a jour votre noyau.


 3.4.  Je viens de recuperer PPP. Quelle est la suite des operations ?

 Lisez la documentation fournie. Elle a ete ecrite pour vous !

 Commencez par lire les fichiers README et README.linux. Diverses
 autres sources de documentation sont indiquees ci-apres.


 3.5.  Quelles autres documentations sur PPP sont disponibles ?

 (Ou est la doc ? Ou est la FAQ ? etc.)

 Il existe plusieurs sources d'information concernant le protocole PPP
 tel qu'il est implemente sous Linux.


 o  Le fichier README contenu dans l'archive des sources.

 o  Le fichier README.linux au meme endroit.

 o  Le document Linux Net-2-HOWTO.

 o  Le "Network Admin Guide".

 o  La page de manuel du programme "pppd".

 o  La FAQ de PPP (Ce n'est pas le document que vous lisez ici).

 Le fichier HOWTO peut se telecharger sur les sites habituels diffusant
 Linux, par exemple sur ftp.ibp.fr dans le repertoire
 /pub/linux/docs/HOWTO.

 Le Network Admin Guide fait partie du projet de documentation Linux,
 vous trouverez ce livre sous forme electronique au meme endroit.  Il
 sera prochainement publie par O'Reilly et disponible en version
 Francaise. Si vous desirez un document de presentation
 professionnelle, vous pourrez alors acheter cet ouvrage plutot que de
 le telecharger et l'imprimer vous-meme.

 Les pages de manuel sont fournies avec les sources. Il vous faudra les
 placer dans les repertoires standard, /usr/man/man8 pour que la
 commande man puisse les traiter. Vous pouvez bien entendu les examiner
 directement a l'aide de groff.

 La FAQ de PPP decrit le protocole en lui-meme et ses diverses
 implementations sur differents systemes. Vous trouverez ce document
 dans le forum Usenet comp.protocols.ppp, ou encore dans news.answers
 et il est bien entendu archive sur rtfm.mit.edu dans le repertoire
 /usenet.  Il est a l'heure actuelle compose de huit parties.


 3.6.  Ou dois-je poser des questions relatives a PPP ?

 Il est preferable de les poser dans le groupe comp.protocols.ppp.  Il
 est fait pour cela. Helas, beaucoup d'utilisateurs ont tendance a
 exposer d'abord leur problemes dans les groupes comp.os.linux.*, ou
 ils recoivent des reponses bien que ce ne soit pas l'endroit ideal.

 Tres peu de questions sur PPP sont directement liees a son
 implementation sous Linux. La plupart des problemes poses sont d'ordre
 general, concernent l'utilisation du paquetage PPP et les reponses
 sont applicables a n'importe quel autre systeme d'exploitation.

 Aussi, pour reduire le trafic dans les groupes Linux, et pour toucher
 les vrais specialistes de PPP, si vous devez utiliser Usenet a ce
 sujet, utilisez absolument le groupe comp.protocols.ppp.


 3.7.  PPP ne marche pas, pppd se termine apres l'appel. SOS !!!

 C'est l'une des questions les plus irritantes. Nous nous rendons bien
 compte que c'est un appel a l'aide, mais il est inutile de poster un
 tel message SANS AUCUNE AUTRE INFORMATION. La plupart des gens
 susceptibles de pouvoir vous aider l'ignoreront, purement et
 simplement.

 Il vous faut fournir les logs systeme (syslog) produits lorsque vous
 lancez le programme pppd avec l'option debug. De plus, si vous
 utilisez chat pour l'appel du service, utilisez son option -v pour
 obtenir une trace du dialogue.

 Fournissez egalement le log de demarrage de votre noyau Linux.  Il
 informe des differentes configurations propres a votre systeme, comme
 la version de PPP, le type de port serie, etc.

 Enfin, rajoutez toute information que vous pensez relative a votre
 probleme. Bien entendu, votre machine, disques durs, boutons de
 souris, terminaux, n'ont aucun interet... Ce qui compte est surtout le
 systeme que vous tentez de contacter, la version de PPP ou de serveur
 de terminaux qu'il utilise, les types et vitesses de modem de part et
 d'autre, etc.

 Faites attention, editez soigneusement ces informations, en supprimant
 eventuellement tout numero de telephone, login et mot de passe
 susceptibles d'apparaitre. Ils n'ont aucune utilite pour le deboguage,
 et les diffuser sur Usenet ne serait pas tres malin. Supprimez aussi
 les lignes qui ne viennent pas du noyeau ou de pppd.

 Ne postez jamais integralement le log du programme pppd lance avec
 l'option kdebug 7 !

 Si le probleme demande une analyse du flux de donnees, vous serez
 contacte par courrier electronique et l'on vous demandera la trace par
 ce biais. Usenet coute deja bien trop cher pour beaucoup de gens.

 L'information est ecrite sous plusieurs niveaux. Les messages de
 deboguages sont au niveau debug. Ceux d'information le sont au niveau
 info, les erreurs au niveau error.  Incluez tous les niveaux par le
 groupe local2, issu du processus pppd.

 De plus, surtout ne supprimez pas les informations horaires, elles
 sont tres importantes.


 3.8.  Je cherche une implementation de PPP ailleurs que sous Linux.

 Existe-t-il des versions pour HP-UX, AIX, ou... bien d'autres systemes
 ?

 Lisez les documentations mentionnees plus haut.

 AIX sera supporte dans la version 2.2 du paquetage pppd.  HP-UX n'est
 a notre connaissance supporte que par la version commerciale
 MorningStar.
 Si vous ne trouvez vraiment aucun renseignement, demandez dans
 comp.protocols.ppp, mais surtout pas dans un groupe Linux, qui n'est
 en aucun cas concerne.


 3.9.  Saviez vous qu'il existe une autre implementation nommee "dp" ?

 Oui, nous sommes au courant. Le paquetage "dp" fut envisage au tout
 debut de l'implementation de PPP sous Linux. Il est tres bien, il
 supporte l'appel a la demande. Il ne peut fonctionner que sur un
 systeme supportant les streams, c'est a dire principalement le nouveau
 SunOS (Solaris).

 Linux, pour l'instant, ne supporte pas les streams.

 Il existe d'autres ensembles PPP disponibles par l'Internet.  Le
 paquetage Portable ppp ressemble beaucoup au code TIA; une autre
 implementation se nomme tout simplement ppp, et on trouve du code pour
 PPP dans l'excellent paquetage KA9Q.

 De toutes ces versions, pppd etait le plus proche de ce que Linux
 necessitait pour assurer un portage correct.

 (Si vous desirez plus d'informations sur ces autres implementations,
 demandez dans comp.protocols.ppp.


 3.10.  Quels RFC decrivent le protocole PPP tel qu'implemente sous
 Linux ?

 L'implementation courante de PPP est un melange de plusieurs.  La plus
 grande partie du code de PPP est realisee selon les RFC 1331 et 1332.
 Ces documents sont maintenant obsoletes; le 1331 fut remplace par le
 1548 qui, a son tour, fut remplace par le 1661 six mois plus tard.
 Vous trouverez une liste complete dans la FAQ PPP.

 La plupart des implementations de PPP converseront sans problemes avec
 celle de Linux.

 Tous les RFC 1134, 1171, et 1172 (et, de ce fait, 1055) sont
 maintenant obsoletes. Ils ne sont interessants que si vous comptez
 deboguer une connection avec une ancienne implementation de PPP, et si
 vous vous demandez pourquoi, par exemple, elle vous a demande l'option
 IPCP 2 avec une longueur de 4 seulement, et un type de compression
 0x0037.  (Il en circule encore de nombreuses versions, faites
 attention).

 Le PPP de Linux ne supportera pas ces vieilleries.


 3.11.  PPP peut il converser avec SLIP ?

 Non. SLIP fonctionne avec SLIP, PPP fonctionne avec PPP.

 Quelques distributeurs peuvent offrir des produits fonctionnant a la
 fois en SLIP et PPP. Toutefois, ils doivent etre configures dans l'un
 de ces deux modes. Il n'existe actuellement aucune methode permettant
 de determiner a la connexion quels types de protocoles SLIP, ou PPP,
 est attendu.


 3.12.  Quel est le meilleur ? PPP ou SLIP ?

 CELA DEPEND DE NOMBREUX FACTEURS !


 Les gens qui posent ce genre de question n'ont en general pas lu le
 moindre document sur ces protocoles, a commencer par le Net-2-HOWTO.

 Un articles tres interessant sur ce sujet est disponible sur le
 serveur Web de Morning Star, www.morningstar.com.


 3.13.  Quel est le mieux ? L'authentification CHAP ou PAP ?

 Si vous avez le choix, prenez CHAP.  Sinon, PAP sera mieux que rien.



 3.14.  Que doit contenir le fichier  /etc/ppp/pap-secrets ?


 Le protocole pap est le plus souvent implemente sous la forme de votre
 nom d'utilisateur associe a un mot de passe.  Vous devez mettre le nom
 du systeme distant, votre nom d'utilisateur, et le mot de passe.

 Prenons un exemple: L'utilisateur abbot veut appeler costello.
 L'entree sera la suivante:



              #remote    account    password     IP address list
              costello   abbot      firstbase






 3.15.  Que doit contenir le fichier  /etc/ppp/chap-secrets ?


 Le probleme le plus courant est que les gens ne reconnaissent pas
 cette negociation CHAP par un couple de secrets.  Chacun des deux
 ordinateurs devant se relier doivent connaitre les deux secrets pour
 que la communication aboutisse.

 Par exemple, si abbot  veut communiquer avec costello, le fichier sur
 abbot contiendra:



                  #local      remote         secret        IP address list
                  abbot       costello       firstbase
                  costello    abbot          who




 Et celui de costello sera:



                  #local      remote         secret        IP address list
                  abbot       costello       firstbase
                  costello    abbot          who






 3.16.  J'ai des erreurs lors de la compilation...

 J'ai des erreurs lors de la compilation du noyau quand j'inclus le
 pilote ppp.c. Ce noyau est en version 1.1.8. Que faire ?

 Avez-vous edite le fichier ppp.c pour lui indiquer la configuration du
 noyau que vous utilisez ? Il y a deux #define qui doivent etre
 correctement definis si vous comptez compiler le code pour PPP.


         ._____________________.__________________._________________________.
         |                     |                  |                         |
         |  version du noyau   |     NET02D       |     NEW_TTY_DRIVERS     |
         |_____________________|__________________|_________________________|
         |                     |                                            |
         |  < 1.0.0            |        MISE A JOUR NECESSAIRE !!!!         |
         |_____________________|__________________._________________________|
         |  1.0.0  - 1.0.*     |     #define      |     #undef              |
         |  1.1.0  - 1.1.3     |     #define      |     #undef              |
         |  1.1.4  - 1.1.12    |     #undef       |     #undef              |
         |_____________________|__________________|_________________________|
         |                     |                                            |
         |  1.1.13             |       MISE A JOUR NECESSAIRE !!!           |
         |_____________________|__________________._________________________|
         |                     |                  |                         |
         |  1.1.14 - ... NOTE  |     #undef       |     #define             |
         |_____________________|__________________|_________________________|




 Le troisieme #define au debut du fichier s'appelle OPTIMIZE_FLAG_TIME.
 Il peut etre ou non defini avec n'importe quelle version du noyau
 supportant PPP. Vous trouverez plus de details en lisant ppp.c.

 NOTE: A partir du noyau 1.1.14, ne remplacez pas les fichiers
 drivers/net/ppp.c et include/linux/ppp.h.  Ils sont adaptes a votre
 version.

 Donc, comme vous le voyez dans le tableau ci-dessus, pour le noyau
 1.1.8 par exemple, il faut definir a la fois NET02D et
 NEW_TTY_DRIVERS. De meme, une version 1.1.18 contient deja tout ce
 qu'il faut, vous n'avez aucune modification a faire.


 3.17.  Que signifie le message:  unable to create pid file ?


 Vous devez creer le repertoire /var/run.  Dans certaines
 distributions, il s'agit d'un lien symbolique vers le repetoire /etc.

 Ce n'est qu'un avertissement, qui n'empeche pas PPP de fonctionner
 correctement. Toutefois, le script ppp-off depend de ce fichier, il
 est donc preferable de regler le probleme.

 L'entete POSIX path.h definit l'endroit du fichier pid sous le nom
 _VAR_RUN. Si vous desirez utiliser un autre repertoire pour PPP ou
 d'autres programmes, changez la valeur de cette definition et
 recompilez les programmes.


 3.18.  Que veut dire /etc/ppp/options: no such file or directory ?


 Vous devez creer le repertoire /etc/ppp et y mettre un fichier nomme
 options. Il doit etre lisible par le processus pppd (root).
 Ce fichier peut etre vide, tout simplement. Dans ce cas, utilisez la
 commande touch pour le creer. Lisez la page de manuel de pppd pour
 obtenir une description de ce fichier.

 Il est possible de compiler pppd pour qu'il n'utilise pas ce fichier;
 dans ce cas il faut supprimer (commenter) la ligne SECURE_FLAGS =
 -DREQ_SYSOPTIONS=1 dans le Makefile.


 3.19.  Le programme ``dip'' reference PPP...


 Lorsque je tente d'utiliser mode ppp depuis dip j'obtiens une erreur
 disant que le mode PPP n'est pas supporte.  Est-il prevu d'utiliser
 dip avec PPP ?

 Le programme dip controle l'etablissement  d'une liaison SLIP. Puisque
 le processus pppd doit faire plusieurs choses a des moments differents
 que dans un lien SLIP, il y a fort peu de chances pour que dip et pppd
 puissent s'entendre un jour.

 La commande dip peut neanmoins etre utilisee pour l'appel telephonique
 et le lancement de PPP sur le systeme distant. Dans ce cas il est
 preferable de le lancer en tant qu'argument connect de pppd.


 3.20.  Comment arreter PPP ? Existe-t-il un ``dip -k'' pour PPP ?

 Non, il n'y en a pas.

 Dans le repertoire chat, vous trouverez un script appele ppp-off. Il
 arretera la liaison PPP de la meme facon que votre dip -k .

 Le voici ci-dessous. Copiez-le dans un fichier que vous rendrez
 executable par la commande chmod +x et le tour sera joue.


      ______________________________________________________________________
      #!/bin/sh
      DEVICE=ppp0
      #
      # Si le fichier pid de ppp0 est present, alors c'est que le programme
      # tourne. Arretons-le.
      if [ -r /var/run/$DEVICE.pid ]; then
              kill -INT `cat /var/run/$DEVICE.pid`
      #
      # Si ca n'a pas marche, c'est qu'il n'y a plus de processus actifs
      # correspondant a ce pid. Cela peut aussi signifier que le fichier
      # de verrouillage a ete laisse en place. Il faut supprimer ce verrou.
              if [! "$?" = "0" ]; then
                      rm -f /var/run/$DEVICE.pid
                      echo 'ERROR: Removed stale pid file'
                      exit 1
              fi
      #
      # Succes. Laissons pppd faire son propre menage.
              echo 'PPP link to $DEVICE terminated.'
              exit 0
      fi
      #
      # Le processus pppd n'est pas actif sur ppp0
      echo 'ERROR: PPP link is not active on $DEVICE'
      exit 1
      ______________________________________________________________________


 3.21.  deconnecte. Je dois l'arreter manuellement pour que getty
 reprenne la main.  Le processus pppd ne se termine pas lorsque le
 modem se


 Avez-vous lance le programme avec le parametre modem ?

 Ce parametre indique a pppd d'honorer les signaux relatifs au statut
 du modem sur la ligne, qu'il ignore par defaut. Il est decrit dans la
 page de manuel de pppd.

 Est-ce que votre modem reflete bien l'etat de la communication par la
 ligne DCD ?

 La commande Hayes positionnant ce comportement est generalement  &C1.
 Si vous remettez l'appareil a zero par ATZ lors de la communication,
 assurez-vous bien qu'il gere toujours le signal DCD. La configuration
 d'usine fournie par beaucoup de constructeurs est helas d'ignorer ce
 Carrier Detect.

 Le signal DTR est genere par l'ordinateur et indique au modem de
 raccrocher la ligne. La sequence Hayes pour cela est generalement
 &D1 ou   &D2, la seconde etant preferee pour utiliser PPP. La
 configuration par defaut des constructeurs etant souvent d'ignorer
 DTR.

 N'utiliseriez-vous pas un cable de liaison bon marche, incomplet, ne
 transmettant pas la ligne DCD ? Les cables de Macintosh classic, par
 exemple, ont la reputation de poser ce probleme. Cet ordinateur
 n'utilise pas ce signal.

 Pour les connexions en mode serveur, avez-vous fait executer pppd
 correctement ? Le processus doit etre lance par un appel exec; si vous
 le lancez depuis le shell comme une simple commande, ce sera le shell
 qui recevra SIGHUP et non pas le processus pppd.

 Le script doit avoir un format du type suivant:



      ______________________________________________________________________

           #!/bin/sh
           exec pppd -detach modem ...
      ______________________________________________________________________





 3.22.  bien lorsque je fais un ``get''.  Les transferts FTP echouent
 quand je fais un ``put'' mais se passent


 Est-ce que le controle de flux est bien en service ?  Il se valide par
 l'option crtscts de pppd, pour ce qui est du controle de flux materiel
 RTS/CTS, et par l'option xonxoff pour XON/XOFF. Sans controle de flux,
 vous perdrez des caracteres et le resultat sera desastreux pour la
 compression vj, entre autres.


 3.23.  Comment utiliser le controle de flux XON/XOFF ?


 Le mieux est de ne pas l'utiliser, et de choisir RTS/CTS.  Toutefois,
 si vous ne pouvez faire autrement, vous devez operer selon les trois
 points suivants:


 o  Vous devez specifier l'option xonxoff a pppd.  Cela indiquera au
    programme de configurer le port serie pour le controle de flux
    XON/XOFF, en indiquant ces caracteres au pilote.

 o  Vous devez specifier les deux caracteres XON et XOFF dans le
    parametre asyncmap de pppd. Cela indiquera au systeme distant qu'il
    doit encoder XON et XOFF lorsqu'il doit les envoyer en tant que
    caracteres normaux. Il suffit en principe d'indiquer asyncmap
    a0000.

 o  Bien sur, n'oubliez pas d'indiquer au modem d'utiliser ce type de
    controle de flux. Consultez la documentation de votre appareil pour
    determiner la commande Hayes necessaire.


 3.24.  Le modem ne semble jamais se connecter aux vitesses rapides.


 Mettez la vitesse desiree dans la commande de pppd.  Si vous ne
 l'indiquez pas, ce sera celle qui est initialisee au moment ou vous
 lancez le programme qui sera utilisee, et elle peut etre quelconque :
 tous les programmes ne remettent pas correctement les parametres du
 port serie qu'ils ont trouve en arrivant. Certains peuvent meme
 laisser des valeurs etranges amenant un fonctionnement curieux (Une
 vitesse de 0, par exemple !).


 3.25.  Pourquoi ne puis-je lancer pppd si je ne suis pas root ?

 Le processus pppd a besoin de modifier le parametrage du reseau, et
 ceci n'est autorise qu'au super-utilisateur.  Si vous desirez pouvoir
 lancer pppd sous un autre nom d'utilisateur, le programme doit alors
 etre ``suid root'':


              chown root pppd
              chmod 4755 pppd




 Si vous voulez n'autoriser pppd qu'a un petit groupe de personnes,
 attribuez-le a ce groupe et interdisez a tous les autres son
 execution.


 3.26.  Je peux atteindre la machine distante, mais aucune autre.

 N'auriez-vous pas oublie le parametre defaultroute ?  Il rajoute une
 route par defaut dans vos tables de routage, de maniere a ce que les
 paquets vers toutes les autres adresses IP soient envoyes par
 l'interface PPP.

 Le programme ne remplacera pas une route par defaut deja existante.
 Ceci est volontaire, cela evite de detruire la route par defaut vers
 d'eventuels routeurs Ethernet par accident. Dans ce cas, un message
 d'avertissement est envoye au systeme de ``log'' de la machine, via
 syslog, et ce sera a vous d'effectuer les operations que vous jugerez
 necessaires.




 3.27.  J'ai une route par defaut mais je ne peux toujours pas me con-
 necter ailleurs !


 Cela ne provient pas de votre systeme Linux local, mais probablement
 d'un probleme de routage sur la machine distante.

 Le systeme distant a besoin d'une route vers vous, tout comme vous en
 avez une vers lui. Ceci peut etre realise de quatre facons
 differentes. Chaque methode a ses avantages et inconvenients; vous
 devez en choisir une, et une seule.


 1. Utiliser une route de type ``host''. Sur chaque machine du site
    distant, rajouter une route vers votre adresse IP Linux, avec comme
    passerelle le serveur de terminaux que vous utilisez pour votre
    acces local. Cette methode fonctionnera si vous avez un nombre
    limite de machines et un reseau tres simple.

 2. Utiliser une route de type ``network''. Subdivisez les adresses IP
    distantes de maniere a ce que l'adresse IP locale a votre machine
    Linux, celle de votre serveur distant, et celle de l'interface
    Ethernet de ce dernier soient dans le meme domaine IP.

    Cette methode fonctionnera si vous possedez des adresses a
    distribuer.  Elle sera parfaite si vous possedez un reseau de
    classe B et pouvez assigner toutes les adresses distantes dans le
    meme domaine IP.  Ajoutez alors une route reseau sur chacune des
    passerelles et routeurs de facon que toute adresse du reseau
    distant soit accedee par le serveur de terminaux. Beaucoup de
    configurations possedent beaucoup de machines mais tres peu de
    routeurs. (A sii.com, nous avons plus de 300 systemes actifs et
    seulement 3 routeurs).

 3. Utilisez le programme gated sur toutes les passerelles et sur le
    serveur de terminaux. Cela fera diffuser par le serveur de
    terminaux des informations vers les passerelles, indiquant qu'il
    peut accepter des paquets pour votre adresse IP.  Puisque les
    machines auront une route par defaut vers l'une de ces passerelles,
    ces dernieres genereront les requetes ICMP de redirection et le
    routage s'etablira automatiquement.

 4. Utilisez ``proxy ARP'' sur le serveur de terminaux.  Cette methode
    ne fonctionnera que si votre adresse IP locale correspond a l'un
    des domaines IP des cartes reseau.

 En resume, il n'y a pas de solution miracle, simple et unique.  Vous
 devez faire votre choix parmi l'une de ces quatre la.


 3.28.  est toujours refuse (NAK). Le systeme ne se connecte pas.  Je
 n'arrete pas de recevoir le message disant que le ``magic number''

 La probabilite que les deux systemes aient choisi le meme nombre
 magique est d'une chance sur un billion. Si vous obtenez
 continuellement cette erreur, prenez un billet de loterie et/ou
 surveillez votre femme :-)

 Les deux causes les plus courantes de ce probleme sont:


 1. Le modem s'est deconnecte immediatement apres avoir realise la
    connexion et l'acces au systeme distant. Beaucoup de modems sont
    configures pour renvoyer l'echo des donnees qu'on leur injecte, et
    vos dialoguez avec l'echo local.

 2. Les programmes realisant PPP ne sont pas en service sur le systeme
    distant au moment ou vous tentez d'etablir le lien.  Est-ce que la
    machine distante est bien configuree pour PPP ?  Est-ce que les
    programmes s'y trouvent bien accessibles, tant en chemin d'acces
    qu'en permissions ?

    Cela tendrait a indiquer que c'est le shell qui vous realise un
    echo local des donnees que vous envoyez.

    Quoi qu'il en soit, le systeme Linux envoie des donnees que l'autre
    cote retourne immediatement. Ce n'est pas une condition acceptable,
    vous avez ce que l'on appelle une "boucle".


 3.29.  par le message ``Could not determine local IP address''.  Je
 tente de me connecter a un Telebit Netblazer, et il termine

 Le Netblazer n'a pas votre adresse IP. Vous n'avez pas non plus votre
 adresse IP. La liaison ne s'effectuera pas tant que ces deux
 parametres ne seront pas connus.

 On a du vous donner une feuille de papier sur laquelle ces deux
 adresses IP sont indiquees. Vous devez signaler au Netblazer l'adresse
 a utiliser. Indiquez alors ces deux adresses, locale et distante,
 comme parametres lors du lancement du programme pppd, selon le format
 suivant:


              adresse_locale:adresse_distante




 N'oubliez surtout pas les deux points (:) de separation.




 3.30.  par le message ``Could not determine remote IP address''.  Je
 tente de me connecter a un Telebit Netblazer, et il termine

 Lisez donc la reponse a la question precedente...




 3.31.  Je ne peux pas ``pinguer'' mon adresse IP locale.

 Vous ne pouvez pas parceque vous n'avez pas de route vers cette
 adresse. C'est le fonctionnement normal. N'essayez pas.

 Si vous voulez faire un ping sur votre propre systeme, utilisez
 l'adresse loopback: 127.0.0.1.

 Vous devriez pouvoir ``pinguer'' l'adresse distante.  Toutefois,
 certains serveurs interdisent cette operation.

 En regle generale, n'essayez pas ping sur l'une ou l'autre de ces
 adresse. Choisissez en une troisieme, que vous savez accessible sur le
 reseau distant.


 3.32.  de mon serveur PPP ?  Puis-je utiliser la meme adresse IP
 locale pour toutes les lignes


 Oui.

 L'adresse locale n'est pas significative pour le systeme local.  Vous
 devez avoir une adresse IP  distante unique. Le routage est fait en
 fonction de l'adresse distante et non locale.


 3.33.  plaint de se voir refuser le protocole fffb. Qu'est-ce que
 c'est que ca ?  J'utilise un serveur de terminaux Xyplex et pppd se

 Le serveur de terminaux Xyplex est trouble par la compression
 d'entetes Van Jacobson. Utilisez l'option -vj de pppd pour ne pas
 l'utiliser.


 3.34.  Le log contient souvent Alarm. Est-ce grave ?

 Non.

 Cela signifie simplement qu'une mesure de temps s'est ecoulee, c'est
 une partie necessaire de la phase d'etablissement du protocole.


 3.35.  que c'est que cette histoire ?  Le log indique  protocol reject
 for protocol c025. Qu'est-ce

 Le site distant voudrait mettre en service le protocole d'analyse de
 qualite de liaison sur la machine Linux.  (LQR, ``Link Quality
 Reporting'').  Ce protocole n'est pas encore supporte, ce n'est pas
 une erreur. Linux signale en substance: ``L'autre m'a demande ca, je
 lui ai dit que je ne sais pas le faire pour l'instant et qu'il ne
 m'embete pas avec''.

 L'implementation MorningStar tentera toujours LQR. C'est normal.


 3.36.  ne jamais se terminer. Le peripherique n'est jamais ``UP'', et
 finalement le programme raccroche. Que se passe-t-il ?  La connexion
 s'effectue mais la sequence d'initialisation semble

 Essayez avec l'option debug et examinez les traces systeme.  (Vous
 aurez de toutes facons besoin de ces traces si vous comptez demander
 de l'aide). Si elles montrent que vous envoyez la sequence `` LCP-
 request'' continuellement et que la valeur d'``id'' ne s'incremente
 pas, c'est qu'il n'y a pas de PPP a l'autre bout.

 Les trois causes les plus courantes sont:


 o  PPP n'est pas lance sur la machine distante. Vous envoyez des
    demandes de negociation a un programme quelconque, qui est
    probablement en train de vous repondre ``Qu'est-ce que c'est que ce
    charabia ?''

    Assurez-vous que le protocole PPP est bien lance a l'autre bout
    avant d'entrer dans la phase de negociation du protocole.

    Essayez d'utiliser un programme de communications normal et simulez
    la session a la main. Vous devriez alors voir nettement la
    tentative de negociation PPP vous arriver, c'est facile a
    identifier: il s'agit de trains d'environ 16 caracteres, contenant
    beaucoup d'accolades ouvrantes. Il ne doit pas y avoir de retour-
    chariot dedans et ils sont envoyes par saccades.



 o  La liaison n'est pas ``8 bits clean''. Cela signifie que pour
    utiliser PPP, vous devez etre configure en 8 bits de donnees, pas
    de parite et un bit de stop. PPP ne peut fonctionner qu'en 8 bits.

    Le programme pppd passera automatiquement la ligne sous ce format.
    La machine distante doit egalement se conformer a cette
    configuration sous peine de nombreuses erreurs de format et parite.

    PPP encode certains caracteres. Il ne lui est pas possible de
    travailler au niveau bit comme kermit peut le faire.  PPP ne
    fonctionne pas sur une liaison 7 bits.

    Il y a une option de compilation dans le pilote ppp.c (qui fait
    partie du noyau) appelee CHECK_CHARACTERS, qui ajoute du code
    destine a effectuer des tests supplementaires sur les caracteres
    recus. Elle pourra vous indiquer si la parite etait validee ou si
    le systeme distant envoyait du 7 bits.


 o  Le systeme distant est configure pour demander l'authentification
    PAP ou CHAP. Vous n'avez pas configure votre systeme local pour le
    faire. Par consequent, l'autre cote refuse tous vos paquets jusqu'a
    en rencontrer un d'identification, que vous n'enverrez jamais.

    Dans ce cas, il vous fait soit configurer la machine distante pour
    qu'elle ne demande pas d'authentification, ou configurer le systeme
    local pour qu'il le fasse.


 3.37.  La connexion echoue sur une erreur ioctl(TIOCSCTTY).

 Utilisez l'archive ppp-2.1.2b.tar.gz. Il s'agit d'un bug qui n'etait
 pas gere avant la diffusion de ppp-2.1.2a.


 3.38.  n'arrive pas a trouver l'adresse MAC avec Linux 1.0.  J'essaie
 d'utiliser proxyarp. La fonction proxyarp

 Utilisez l'archive ppp-2.1.2b.tar.gz. Le programme pppd etait compile
 par erreur sous Linux 1.1.8 et utilisait les definitions  Net-3 plutot
 que celles de l'ancien Net-2.


 3.39.  des versions 4.6 des bibliotheques partagees ! Alors ???  Bon
 sang ! J'ai recupere ppp-2.1.2b et il dit qu'il a besoin

 Desole, on s'est trompe, nous travaillons avec vos programmes du
 futur, que voulez-vous. Un jour ou l'autre, vous disposerez egalement
 de ces librairies.

 En attendant,il va vous falloir recompiler le code vous-meme, avec les
 bibliotheques dont vous disposez. C'est tres facile:

 Allez dans le repertoire pppd, effacez le mauvais binaire, et tapez la
 commande ``make''. Faites de meme dans le repertoire chat si vous
 comptez utiliser ce programme.

 Une autre solution est de vous procurer une version de ces
 bibliotheques et de jouer les Alpha-testeurs :-)


 3.40.  ou bien  ioctl(PPPIOCSINPSIG): I/O error . Allo, Docteur ?  La
 connection echoue avec des erreurs comme  ioctl(TIOCGETD): I/O error



 Regardez les messages du noyau lors de l'amorcage de votre systeme
 Linux. Si il affiche  PPP version 0.1.2, vous avez une version
 beaucoup trop ancienne du pilote ppp.c.

 Si vous voyez PPP version 0.2.7, vous disposez de la version a jour,
 mais qui cependant n'a pas ete compilee avec les memes definitions
 pour les valeurs d'ioctl().

 Verifiez que vous disposez bien d'un fichier, ppp.h, qui doit se
 trouver dans le repertoire include/linux des sources du noyau. Dans ce
 cas, recompilez le noyau, puis le programme pppd.


 3.41.  ``ioctl(TIOCSETD): I/O error'' et ``ioctl(TIOCNXCL): I/O
 error''.  Pourquoi donc ?  Quelquefois, j'obtiens les messages
 ``ioctl(PPPIOCGDEBUG): I/O error'',

 Parceque le systeme distant a raccroche le telephone.  Les pilotes tty
 retablissent alors la discipline correcte sur le port serie, et ces
 erreurs sont le resultat du processus pppd, tentant de faire la meme
 chose.

 Tout cela est parfaitement normal, il n'y a pas d'inquietudes a avoir.


 3.42.  J'essaie d'utiliser le reseau merit, et je me fais jeter.

 Des utilisateurs de ce reseau ont signale qu'il necessite PAP.  Avez-
 vous essaye l'authentification PAP ?


 3.43.  adresse MAC bizarroide.  Mon ifconfig affiche autre chose que
 ce qui suit.   Il indique l'interface ppp comme ``unknown'' et une



         ppp0      Link encap Point-to-Point Protocol
                   inet addr 192.76.32.2  P-t-P 129.67.1.165  Mask 255.255.255.0




 Ce n'est pas grave. Cet affichage n'est la que pour information.  Si
 vous utilisez un noyeau 1.1. recent, mettez a jours vos programmes
 reseau.


 3.44.  et route et ca ne marche toujours pas ! J'ai lu ca dans le
 Net-2-HOWTO; ou est l'erreur ?  Mon systeme ne marche pas. J'utilise
 slattach,ifconfig

 N'utilisez jamais slattach et ifconfig avec PPP. Ces programmes ne
 sont utiles que pour SLIP.  Le processus pppd s'occupe de ces
 fonctions tout seul au moment opportun, c'est a dire apres l'echange
 des protocoles LCP et IPCP.

 Vous ne pouvez pas remplacer pppd par slattach et ifconfig.  La plus
 grande partie du protocole PPP se trouve dans pppd.  Le noyau ne
 connait que IP (et IPX dans l'avenir).

 La route vers le site distant sera automatiquement ajoutee par pppd.
 Il n'y a pas d'option pour supprimer cette operation. Le programme se
 terminera si la route ne peut pas etre rajoutee a la table de routage.

 La route par defaut peut etre automatiquement ajoutee, ou non.  Ceci
 est controle par l'option  defaultroute.  Si vous avez deja une route
 par defaut, elle ne sera pas modifiee.

 Si vous devez router un reseau entier, mettez la commande dans le
 script /etc/ppp/ip-up. Les parametres passes a ce script sont:


 o  $0 - nom du script (/etc/ppp/ip-up ou /etc/ppp/ip-down)

 o  $1 - nom de l'interface reseau (comme ppp0)

 o  $2 - nom du peripherique (comme /dev/cua0)

 o  $3 - vitesse du peripherique en bits par seconde (comme 38400)

 o  $4 - l'adresse IP locale

 o  $5 - l'adresse IP distante


 3.45.  et non pas la route vers le host. Comment faire ?  D'accord,
 j'ai les parametres. Mais je veux la route vers le reseau

 Sur sunsite.unc.edu se trouve un paquetage du nom de devinfo.tar.gz.
 Il contient quelques petits utilitaires pratiques qui extraient les
 donnees concernant un peripherique et font differentes operations sur
 les notations d'adresses IP.

 La documentation est fournie sous forme de pages de manuel.

 Par exemple, si vous voulez router le domaine IP entier vers le site
 distant, vous pouvez mettre les choses suivantes dans le script
 /etc/ppp/ip-up.

 Bien entendu, si les valeurs ne sont pas variables, il vous suffit
 d'utiliser les entrees appropriees avec la commande route.


      ______________________________________________________________________
      # Obtention du masque reseau pour l'interface ppp0 (ou autres)
      NETMASK = `devinfo -d $1 -t mask`

      # Obtention du domaine IP (sans l'adresse host en supprimant les bits ad hoc)
      DOMAIN = `netmath -a $5 $NETMASK`

      # Rajout de la route vers le reseau que nous connaissons maintenant
      route -net add $DOMAIN gw $5
      ______________________________________________________________________






 3.46.  Quand Linux supportera-t-il la numerotation sur demande ?
 J'en ai absolument besoin !

 Mercredi prochain !

 Plus serieusement, la numerotation sur demande devait se trouver dans
 la prochaine version. Toutefois, le paquetage pppd est l'oeuvre de
 Paul Mackerras (nous ne faisons que le portage) et il a prefere
 commencer par ce qu'il preferait, c'est a dire la compression BSD.

 Aussi, cela viendra apres que ce code de compression soit diffuse. Il
 y a deja quelques volontaires s'etant propose pour travailler sur le
 projet. Vous pouvez vous y mettre aussi !
 3.47.  Quid du filtrage ? Quand allez-vous implementer ca ?

 Rien n'est prevu a ce sujet dans le code de PPP.  Utilisez le code
 ipfirewall, c'est disponible sur sunsite.unc.edu. Aidez l'auteur a
 deboguer la chose, et ca fera ce que vous desirez que ca fasse.


 3.48.  Quid de IPX ?

 L'addition du support pour IPX se fait tranquillement.  J'ai (Al
 Longyear) commence a  y travailler pour quelqu'un me l'ayant demande
 sur l'IRC (Internet Relay Chat).  Je dois d'abord approfondir les
 manuels Novell pour comprendre quelles sont les valeurs correctes pour
 les fonctions de routages necessaires pour IPXCP. (IPXCP est le
 protocole de controle d'IPX).


 3.49.  Quid de NETBIOS ?

 Il existe un protocole PPP Netbios. Toutefois, la meilleure solution
 serait que vous utilisiez TCP/IP et le code ``samba''.

 Microsoft et compagnie ont utilise le protocole PPP Netbios.  C'est
 generalement un savant melange tres proprietaire et une implementation
 ne fonctionne pas forcement avec une autre.

 Je laisse ces machins a quelqu'un d'autre.



 3.50.  documentation et c'est vide...Pourquoi ?  Je viens de regarder
 /proc/net/dev comme indique dans la


 Avez-vous juste tape la commande ``ls -l /proc/net'' en vous etonnant
 de trouver une taille de zero octets ? Si c'est le cas, c'est normal.
 Vous devez faire:



                      cat /proc/net/dev




 Vous devriez alors voir le contenu de ce fichier, qui ne doit pas etre
 vide. Sa taille est toujours indiquee comme etant nulle, c'est le
 systeme de fichiers ``proc''qui veut ca. Ce ne sont pas de vrais
 fichiers, ils sont simules par le noyau. Ne tenez pas compte de la
 taille, tapez la commande indiquee.



 3.51.  avec le PPP Microsoft. Pourquoi diable ?  Je ne peux pas con-
 necter de/vers mon code Windows NT (Daytona)


 Le PPP de Microsoft envoie une authentification de type 0xC207, alors
 que le PAP normal est 0xC203.

 Microsoft a choisi d'utiliser un protocole d'authentification non
 standard dans Windows NT. C'est leur droit le plus strict, a condition
 qu'ils aient enregistre leur numero de protocole avec l'IANA. (C'est
 le cas).  Toutefois, ils sont dans l'obligation de supporter la
 sequence de refus du protocole, ce qui est logique.  Il y avait un
 bogue dans les beta-versions Daytona, qui peut encore se trouver dans
 les versions definitives, qui fait que cette sequence n'est pas
 supportee. Il insiste pour que le systeme Linux supporte cette
 authentification.

 Par consequent, allez dans la configuration des parametres TCP/IP pour
 Daytona et supprimez la sequence d'authentification.  Du coup, tout
 marchera avec des implementations standard de PPP, comme celle de
 Linux.

 Le protocole d'authentification de Microsoft est du type PAP, avec
 leur propre algorithme d'encryptage des mots de passe.  Le PAP normal
 envoie les mots de passe en clair, ce qui violerait la securite C2.


 3.52.  les News ?  Avez-vous un lecteur de courrier compatible PPP ?
 et pour

 Heu... ?

 Vous vous trompez de groupe si vous cherchez des bricoles MSDOS.  PPP
 n'a rien a voir du tout avec l'agent de transport de courrier !  Ils
 sont tous ``compatibles'' avec PPP :-)





 4.  Courts exemples a titre de pense-bete

 Cette section ne constitue pas un mode d'emploi, elle contient
 quelques trucs epars qui peuvent rendre service, sans aller chercher
 dans la documentation generale.


 4.1.  Verifier que le noyau contient bien le pilote PPP

 On utilise le systeme de fichiers /proc, tres pratique pour ce genre
 de choses:



      bash$ cat /proc/net/dev
      Inter-|   Receive                  |  Transmit
       face |packets errs drop fifo frame|packets errs drop fifo colls carrier
          lo:      0    0    0    0    0        0    0    0    0     0    0
        ppp0:      0    0    0    0    0        0    0    0    0     0    0
        ppp1:      0    0    0    0    0        0    0    0    0     0    0
        ppp2:      0    0    0    0    0        0    0    0    0     0    0
        ppp3:      0    0    0    0    0        0    0    0    0     0    0
         sl0:      0    0    0    0    0        0    0    0    0     0    0
         sl1:      0    0    0    0    0        0    0    0    0     0    0
         sl2:      0    0    0    0    0        0    0    0    0     0    0
         sl3:      0    0    0    0    0        0    0    0    0     0    0
        eth0:      0    0    0    0    0        0    0    0    0     0    0




 Si vous avez les quatre lignes ppp0, le pilote PPP est bien la. Les
 lignes sl0 concernent SLIP et eth0 l'Ethernet, vous pouvez ne pas en
 disposer bien sur.





 4.2.  Connexion a un serveur PPP via modem.

 Pour utiliser PPP, vous invoquez le programme pppd avec les options
 appropriees. Tout ce que vous avez besoin de savoir sur ce programme
 est contenu dans la page de manuel de pppd(8). Voici un exemple assez
 general.

 La commande ci-apres peut etre directement tapee sous shell, ou de
 facon plus pratique faire l'objet d'un petit shell-script.



      ______________________________________________________________________
        pppd connect 'chat -v "" ATDT5551212 CONNECT "" ogin: ppp word: sesame' \
            /dev/cua1 38400 -detach debug crtscts modem defaultroute 192.1.1.17:
      ______________________________________________________________________




 Adaptez ces valeurs aux votres bien entendu.


 4.3.  Verifier la connexion

 Tout d'abord, tapez /sbin/ifconfig, vous devez obtenir quelque chose
 comme ce qui suit, ce qui compte est la partie ppp0:




      lo        Link encap Local Loopback
                inet addr 127.0.0.1  Bcast 127.255.255.255  Mask 255.0.0.0
                UP LOOPBACK RUNNING  MTU 2000  Metric 1
                RX packets 0 errors 0 dropped 0 overrun 0
                TX packets 0 errors 0 dropped 0 overrun 0

      ppp0      Link encap Point-Point Protocol
                inet addr 192.76.32.2  P-t-P 129.67.1.165  Mask 255.255.255.0
                UP POINTOPOINT RUNNING  MTU 1500  Metric 1
                RX packets 33 errors 0 dropped 0 overrun 0
                TX packets 42 errors 0 dropped 0 overrun 0





 Vous aurez l'etat du lien PPP, et les adresses IP etablies lors de la
 negociation. Verifiez les routes par la commande route ou netstat -r,
 et essayez trois ou quatre ping.


 5.  Creer un compte pour recevoir des connexions PPP


 Creez un compte nomme par exemple, ppp, comme ceci:


      ppp:(mot de passe crypte):102:50:PPP LOGIN:/tmp:/etc/ppp/ppplogin




 Le fichier /etc/ppp/ppplogin sera un shell-script executable contenant
 par exemple:

 ______________________________________________________________________
         #!/bin/sh
         exec /usr/etc/pppd :192.1.2.23
 ______________________________________________________________________




 Dans cet exemple, pppd insistera pour que la machine qui appelle se
 voit attribuer l'adresse IP 192.1.2.23, l'adresse locale pour le
 serveur sera celle trouvee dans /etc/hosts puisqu'elle n'est pas
 precisee.



 6.  Rajouter des canaux PPP supplementaires

 Par defaut, vous disposez de 4 canaux, ce qui permet 4 connexions
 simultanees (sur 4 modems par exemple).  Si vous en desirez plus, vous
 pouvez tres facilement reconfigurer le noyau pour les obtenir. Cela se
 fait en deux etapes.

 Tout d'abord vous devez editer le fichier
 /usr/src/linux/drivers/net/Space.c.  Il contient une section qui
 ressemble a ceci:



      ______________________________________________________________________
              #if defined(CONFIG_PPP)
              extern int ppp_init(struct device *);
              static struct device ppp3_dev = {
                  "ppp3", 0x0, 0x0, 0x0, 0x0, 3, 0, 0, 0, 0, NEXT_DEV,  ppp_init, };
              static struct device ppp2_dev = {
                  "ppp2", 0x0, 0x0, 0x0, 0x0, 2, 0, 0, 0, 0, &ppp3_dev, ppp_init, };
              static struct device ppp1_dev = {
                  "ppp1", 0x0, 0x0, 0x0, 0x0, 1, 0, 0, 0, 0, &ppp2_dev, ppp_init, };
              static struct device ppp0_dev = {
                  "ppp0", 0x0, 0x0, 0x0, 0x0, 0, 0, 0, 0, 0, &ppp1_dev, ppp_init, };
              #undef NEXT_DEV
              #define NEXT_DEV (&ppp0_dev)
              #endif   /* PPP */

      ______________________________________________________________________




 Cela doit vous sembler evident. Rajoutez les entrees dont vous avez
 besoin, n'oubliez pas de terminer par NEXT_DEV sur la premiere ligne
 et ne vous trompez pas dans la numerotation.

 Ensuite, vous devez modifier une ligne dans le fichier
 include/linux/ppp.h:


              #define PPP_NRUNIT     4




 Mettez la nouvelle valeur. Enfin, recompilez le noyau et reamorcez la
 machine. Les messages lors du demarrage, ainsi que l'affichage de
 /proc/net/dev devraient refleter vos modifications.