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
   longyear@netcom.com. 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.