Linux PPP Howto

par Robert Hart, hart@interweft.com.au

Version 3.0, 31 mars 1997
(Adaptation fran�aise par Antoine Levavasseur levavass@efrei.fr, le 22 octobre 1997). Ce document montre comment connecter votre PC Linux � un serveur PPP, comment utiliser PPP pour relier deux r�seaux locaux ensemble, et fournit une m�thode pour configurer votre machine Linux comme serveur PPP. Ce document fournit �galement une aide pour d�boguer les connections PPP qui ne fonctionnent pas.

Copyright

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

Distribution

Le document original sera post� dans comp.os.linux.answers lorsque de nouvelles versions du document arriveront. Il est �galement disponible en HTML � :

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

Comme sunsite.unc.edu est tr�s charg�, vous �tes encourag�s � utiliser un miroir plus proche de chez vous. En particulier la version fran�aise de ce HOWTO est post� r�guli�rement dans fr.comp.os.linux.annonce, et est disponible sur ftp.lip6.fr et http://www.freenix.fr/.

Remerciements

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

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

Traduction Fran�aise de ce document

La traduction du pr�sent document PPP-Howto (et pr�c�demment PPP-FAQ) �tait assur�e par Ren� Cougnenc. C'�tait l'un des premiers (si ce n'est le premier) utilisateur de Linux en France alors que ce n'�tait qu'un petit projet un peu fou lanc� par Linus Torvalds. Ren� Cougnenc a particip� au d�veloppement de Linux et a assur� la traduction de nombreux HOWTO et ouvrages sur Linux qui font encore r�f�rence. Si vous utilisez Linux aujourd'hui c'est sans doute un peu gr�ce � lui...
Prendre ses pas dans la traduction de ce HOWTO �tait un peu d�licat car la barre �tait plac�e haut, et j'esp�re que le lecteur que vous �tes ne sera pas d��u par mon travail.
Et si Ren� nous entends l�-haut, je suis s�r qu'il l�vera avec nous son verre � la sant� de notre syst�me d'exploitation favori ! :-)

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

1. Introduction

PPP (Point to Point Protocol) est un m�canisme qui permet de faire fonctionner IP (Internet Procotol) et tous les autres protocoles r�seaux � travers une liaison s�rie - qui peut �tre une connexion s�rie directe (avec un c�ble null-modem), � travers une liaison par un telnet, ou encore une liaison utilisant les modems et les lignes t�l�phoniques (et bien s�r utilisant les lignes num�riques comme RNIS).

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

Vous pouvez �galement configurer votre PC Linux comme un serveur PPP, de cette fa�on, d'autres ordinateurs peuvent appeler votre ordinateur et acc�der aux ressources de votre PC et/ou r�seau local.

Comme PPP est un syst�me qui marche dans les deux sens, vous pouvez �galement utiliser PPP sur deux PC Linux pour relier ensemble deux r�seaux (ou un r�seau local � Internet), cr�ant ainsi un r�seau � large domaine (WAN : Wide Area Network).

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

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

1.1 Clients et Serveurs

PPP est un protocole strictement sym�trique; il n'y a (techniquement) aucune diff�rence entre la machine qui appelle et la machine qui est appel�e. Cependant, pour des raisons de clart�, il est int�ressant de penser en terme de serveur et client.

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

Quand vous configurez une machine Linux pour r�pondre aux appels pour les connexion PPP, vous configurez un serveur PPP.

Tous les PC Linux peuvent �tre � la fois serveur et client PPP - m�me en m�me temps si vous avez plus d'un port s�rie (et d'un modem si n�cessaire). Comme d�crit plus haut, il n'y a pas de r�elle diff�rence entre les clients et les serveurs tant que l'on utilise PPP et que la connexion est �tablie.

Ce document r�f�rence la machine qui initie l'appel (qui le compose) comme le CLIENT, alors que la machine qui r�pond au t�l�phone, v�rifie l'authentification de l'appel (en utilisant les noms utilisateurs, les mots de passe et �ventuellement d'autres m�canismes) est r�f�renc�e comme le SERVEUR.

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

La proc�dure expos�e dans ce document va vous permettre d'�tablir et d'automatiser votre connexion � Internet.

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

1.2 Diff�rences entre les distributions Linux

Il y a de nombreuses distributions Linux diff�rentes qui on leurs propres idiosyncrasies et fa�ons de faire les choses.

En particulier, il y a deux mani�res diff�rentes sur une machine Linux (ou Unix) de d�marrer, configurer ses interfaces et ainsi de suite.

Il y l'initialisation BSD et l'initialisation SysV system. Si vous consultez certains forums de discussion Unix, vous trouverez de temps en temps des guerres de religion entre les partisans de chacun des deux syst�mes. Si ce genre de chose vous pla�t, allez donc les rejoindre pour g�cher de la bande passante avec eux !

Les distributions les plus utilis�es sont sans doute :

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


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

R�cemment, certaines initialisation syst�mes BSD se mettaient � utiliser un r�pertoire /etc/rc.d/ contenant les fichiers de d�marrage plut�t que de tout mettre dans /etc.

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


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

Si vous essayez de chercher o� votre interface et les routes r�seau associ�es sont configur�es, vous devez parcourir tous les fichiers pour parvenir � trouver o� sont les commandes correspondantes.

1.3 Outils de configuration sp�cifiques aux distributions

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

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

2. Adresse IP

Tout mat�riel connect� � Internet doit avoir sa propre, et unique adresse IP. Elle sont distribu�es de fa�on centralis�e par l'autorit� d�sign�e pour chaque pays.

Si vous �tes connect�s par un r�seau local (LAN) � Internet, VOUS DEVEZ utiliser une adresse IP de votre propre domaine d'adresses qui vous a �t� assign� pour les ordinateurs et mat�riels de votre r�seau local. Vous NE DEVEZ PAS prendre n'importe quelle adresse IP et l'utiliser lorsque vous vous connectez avec un autre r�seau local (et � plus forte raison Internet). Au pire �a ne marchera pas du tout et cela peut causer des ravages puisque votre adresse IP 'vol�e' va interf�rer avec les communications d'un autre ordinateur qui utilise d�j� l'adresse IP que vous avez prise au hasard.

Remarquez que les adresses IP de ce document appartiennent (� part quelques exceptions) aux adresses de r�seaux non connect�s qui sont r�serv�es aux r�seaux qui ne sont pas (encore) connect�s � Internet. (RFC1918)

Il y a des adresses IP qui sont sp�cifiquement destin�es aux r�seaux locaux qui ne sont pas connect�s � Internet. Ces adresses IP sont :

Si vous avez un r�seau pour lequel vous n'avez pas allou� d'adresse IP aupr�s de l'autorit� responsable de votre pays, vous devez utiliser une des adresses r�seau de la s�quence pr�c�dente pour vos machines.

Ces adresses ne doivent jamais �tre utilis�es sur Internet.

Cependant, elles peuvent �tre utilis�es pour les r�seaux locaux Ethernet sur la machine qui est connect�e � Internet. C'est parce que les adresses IP sont en fait allou�es aux interfaces r�seau et non � l'ordinateur. Ainsi, votre interface Ethernet peut utiliser 10.0.0.1 (par exemple), et quand vous vous connecterez � Internet en utilisant PPP, votre interface PPP r�cup�rera une autre adresse IP (valide) du serveur. Votre PC sera connect� � Internet alors que les autres ne le seront pas.

Cependant, en utilisant Linux, les capacit�s de IP Masquerading (aussi appel� NAT - Network Adress Translation) de Linux et du programme ipfwadm, vous pouvez connecter votre r�seau local � Internet (avec quelques restrictions sur les services), m�me si vous n'avez pas d'adresse IP valide pour vos machines en Ethernet.

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

Pour la plupart des utilisateurs, qui sont connect�s avec une seule machine � leur fournisseur d'acc�s Internet (FAI) par PPP, obtenir une adresse IP (ou plus largement une adresse r�seau) n'est pas n�cessaire.

Si vous souhaitez connecter un petit r�seau local � Internet, de nombreux FAI peuvent vous fournir un sous-r�seau d�di� (une s�quence sp�cifique d'adresses IP) sur leur espace d'adresses IP existant. Alternativement, utilise IP masquerading.

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

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

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

3. Buts de ce document

3.1 Mettre en place un client PPP

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

Bien que dip (la mani�re standard de cr�er des connexions SLIP) puisse �tre utilis� pour mettre en place un connexion PPP, les scripts dip sont g�n�ralement un peu complexes. Pour cette raison, ce document ne traite pas l'utilisation de dip pour lancer une connexion PPP.

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

3.2 Relier deux R�seaux locaux ou un r�seau local � Internet gr�ce � PPP

Ce document donne des informations (de base) pour relier deux r�seaux locaux entre eux ou un r�seau local � Internet gr�ce � PPP.

3.3 Configurer un serveur PPP

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

Notez qu'il y a un grand nombre de fa�ons de configurer Linux comme serveur PPP. Ce document donne une m�thode - qui est utilis�e par l'auteur pour configurer quelques petits serveurs PPP (chacun avec 16 modems).

Cette m�thode est connue pour fonctionner correctement. Cependant, ce n'est pas forc�ment la meilleure m�thode.

3.4 Utiliser PPP avec une connexion Null-Modem directe

Ce document offre un bref aper�u d'utilisation de PPP pour relier deux PC Linux avec un c�ble null modem. Il est possible de relier d'autres Syst�mes d'exploitation � Linux de cette fa�on �galement. Pour ce faire, utiliser la documentation du syst�me d'exploitation pour lequel vous �tes int�ress�.

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

4. Versions des logiciels trait�s

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

Au moment de la r�daction, la derni�re version officielle de PPP disponible est ppp-2.2.0f. La nouvelle version (ppp-2.3) est encore en beta.

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

Vous devez �galement �tre particuli�rement vigilant et ne pas utiliser le programme PPP 2.1.2 avec un noyau Linux 2.0.X.

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

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

5. D'autres documents utiles/importants

Je conseille aux utilisateurs de lire :

Le meilleur point de d�part pour la documentation Linux est The Linux Documentation Project Home Page. Les HOWTO sont mis � jour raisonnablement r�guli�rement.

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

Ces documents (ainsi que quelques autres, comme les RFCs correspondants) fournissent des explications compl�mentaires et plus d�taill�es que ce qui est possible dans les HOWTO.

Si vous connectez un r�seau local � Internet avec PPP, vous avez besoin de conna�tre un certain nombre de choses sur les r�seaux TCP/IP. En compl�ment des documents pr�c�dents, vous trouverez dans les livres O'Reilly "TCP/IP Network Administration" et "Building Internet Firewalls" un b�n�fice consid�rable !

5.1 Les Mailing Listes utiles

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

Remarques de bon sens: certaines listes sont sp�cifiquement destin�s au utilisateurs "experts" et/ou � certains sujets sp�cifiques. M�me si personne ne se plaindra que vous soyez voyeur (souscrire sans poster de messages), vous recevrez certainement des commentaires chauds (voire des flammes) si vous postez des questions de d�butant dans les listes innappropri�es.

Ce n'est pas parce que les utilisateurs gourous d�testent les nouveau utilisateurs, mais parce que ces listes sont l� pour contenir des remarques sp�cifiques � un certain niveau de difficult�.

Vous �tes largement encourag�s � souscrire librement � diff�rentes listes mais faites absolument des commentaires qui cadrent avec le sujet (et le niveau) de la liste !

Un bon point de d�part pour les mailing-list Linux est Linux Mailing List Directory

6. Pr�sentation de ce qui doit �tre fait pour faire fonctionner PPP comme client

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

Par cons�quent, cette section a pour but de fournir une pr�sentation concise des actions pour connecter votre syst�me Linux comme client � un serveur PPP.

6.1 Obtenir/installer les programmes

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

C'est la derni�re version officielle lors de la r�daction du document. Cependant, prenez la derni�re version disponible sur ce site (ppp-2.3 �tait en b�ta lors de la r�daction de ce document et devrait sortir bient�t).

Le paquetage PPP contient les instructions sur la fa�on de compiler et d'installer le logiciel donc ce HOWTO n'en parlera pas. !

6.2 Compiler le support PPP dans le noyau

L'installation de PPP Linux se divise en deux parties

De nombreuses distributions semblent fournir un support PPP dans les noyaux install�s par d�faut, mais certaines ne le font pas.

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


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

Votre noyau � le support PPP compil�.

Toutefois, vous devez recompiler votre propre noyau quelque soit votre distribution pour fournir l'utilisation la plus efficace possible des ressources disponibles et de votre configuration mat�rielle personnelle. Il est bon de savoir que le noyau ne peut �tre swapp� hors de la m�moire. Avoir un noyau le plus petit possible est donc int�ressant surtout pour une machine limit�e en m�moire.

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

Pour plus de d�tails, voir le Kernel-HOWTO � The Linux Kernel HOWTO

6.3 Obtenir les informations pour votre fournisseur d'acc�s � Internet

Il y a presque une infinit� de mani�res de configurer un serveur PPP. Pour se connecter chez votre fournisseur d'acc�s (ou un serveur PPP pour acc�der � votre intranet), vous devez obtenir des informations sur la fa�on dont le serveur fonctionne.

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

Toutefois, un nombre croissant de FAI utilisent Linux pour offrir leur service - et Linux p�n�tre �galement l'environnement industriel, vous devriez r�duire ainsi les chances de rencontrer des probl�mes.

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

6.4 Configurer votre modem et votre port s�rie

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

De la m�me fa�on, les ports s�rie de votre modem ainsi que votre ordinateur doivent �tre configur�s correctement.

La section Configurer votre modem et votre port s�rie fournit des informations � ce sujet.

6.5 Mettre en place la r�solution de noms (DNS)

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

Voir la section Configurer la r�solution de nom vers l'adresse pour une configuration d�taill�e de cela.

En particulier, vous n'avez pas besoin de lancer un serveur de nom sur votre PC Linux pour le connecter � Internet (sauf si vous le souhaitez). Tout ce dont vous avez besoin est de conna�tre l'adresse IP d'au moins l'un des serveurs de noms que vous pouvez utiliser (plut�t celui de votre fournisseur d'acc�s).

6.6 PPP et les privil�ges root

Puisqu'�tablir une liaison PPP entre votre ordinateur Linux et un autre serveur PPP n�cessite la manipulation des p�riph�riques r�seau (l'interface PPP est une interface r�seau) et des tables de routages du noyau, pppd n�cessite les privil�ges root.

Pour des d�tails l�-dessus, voir la section Utiliser PPP et les privil�ges root.

6.7 V�rifier les fichiers de votre distribution PPP et configurer les options de PPP

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


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

Vous devrez cr�er des fichiers suppl�mentaires en fonction de ce que vous souhaitez exactement utiliser avec PPP :


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

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

Pour les d�tails � ce sujet, voir en section Configurer les fichiers de connexion de PPP.

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

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

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

Les informations d'authentification de l'utilisateur sont �chang�es � la place comme partie prenante du protocole de contr�le de connexion qui est la premi�re partie de l'�tablissement d'une liaison PPP.

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

6.9 Se connecter au serveur PPP � la main

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

Voir la section Configurer une connexion PPP � la main pour des d�tails complets.

6.10 Automatiser votre connexion PPP

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

La section Automatiser votre connexion - Cr�er les scripts de connexion couvre la configuration des fichiers n�cessaires, et la mise en place des scripts et du processus de login avec le serveur PPP, ainsi que des d�tails complets sur chat.

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

6.11 Terminer la connexion

Une fois que votre connexion est activ�e et fonctionne, vous devez pouvoir d�sactiver la liaison.

Consultez la section Terminer une connexion PPP.

6.12 Si vous avez des probl�mes

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

En plus des probl�mes de journalisation et de d�marrage du service PPP, il y a des probl�mes li�s aux modems et aux lignes de t�l�phones qui s'ajoutent !

La section R�soudre les probl�mes fournit des informations de base au sujet des erreurs classiques, et la fa�on de les isoler et de les corriger.

Elle n'est toutefois pas destin�e � offrir plus que les informations de base. Al Longyear maintient la PPP-FAQ qui contient bien plus d'informations � ce sujet !

6.13 Une fois que la connexion est lanc�e

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

La section Une fois que la connexion est lanc�e fournit des informations sur le script /etc/ppp/ip-up, les param�tres que PPP lui envoie et comment l'utiliser pour r�cup�rer votre courrier �lectronique de votre compte de votre fournisseur d'acc�s, ou envoyer les messages en attente de transmission sur votre machine.

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

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

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

7. Configurer votre noyau Linux

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

V�rifiez ce r�pertoire - de nombreuses distributions installent les sources (fichiers et r�pertoires) pendant leur processus d'installation.

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


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

(pour les noyau Linux version 2.0.x)

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

7.1 Installer les sources du noyau

La suite regroupe de br�ves instructions pour obtenir et installer les sources du noyau Linux. Des informations compl�tes sont disponibles a The Linux Kernel HOWTO.

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

  1. Changer de r�pertoire vers /usr/src/
    cd /usr/src/
  2. V�rifier dans /usr/src/linux pour voir si les sources sont d�j� install�es.
  3. Si vous n'avez pas les sources, r�cup�rez les � Linux kernel source directory ou sur un miroir plus proche comme ftp.lip6.fr.
    Si vous cherchez une version plus ancienne du noyau (comme la 1.2.X), elles sont conserv�es dans Old Linux kernel source directory.
  4. Choisissez le noyau appropri� - g�n�ralement le plus r�cent disponible est le meilleur. Le r�cup�rer et mettre le fichier tar dans /usr/src.
    Remarque: un fichier 'tar' est une archive - parfois compress�e (comme le sont les fichiers tar des sources du noyau Linux) il contient de nombreux fichiers r�partis dans plusieurs r�pertoires. C'est l'�quivalent Linux des fichiers multi-r�pertoires sous MS-DOS.
  5. Si vous avez d�j� les sources de Linux install�es, mais que vous voulez les mettre � jour, il faut effacer les anciens fichiers. Utiliser la commande
    rm -rf /usr/src/linux
  6. Maintenant d�compresser et extraire les sources avec la commande
    tar xzf linux-2.0.XX.tar.gz
  7. Maintenant, cd /usr/usr/linux et lire le fichier README. Il contient une excellente explication de la fa�on de faire pour configurer et compiler un nouveau noyau. Lisez ce fichier (c'est une bonne id�e de l'imprimer pour en garder une copie sous la main quand vous compilerez votre noyau jusqu'� ce que vous l'ayez fait suffisamment pour vous d�brouiller tout seul).

7.2 Conna�tre votre mat�riel

Vous DEVEZ savoir quelles cartes/p�riph�riques vous avez dans votre PC si vous commencer � recompiler votre noyau !!! Pour certains p�riph�riques (comme les cartes sons) vous devez �galement connaitre quelques param�tres (comme les IRQ et les adresse I/O et des choses du genre).

7.3 Compilation du noyau - le noyau Linux 1.2.13

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

make config

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


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

R�pondre aux autres questions du make config en accord avec le mat�riel de votre PC et les caract�ristiques que vous souhaitez pour votre syst�me d'exploitation Linux. Continuer ensuite � suivre les instructions de compilation et d'installation du README pour votre nouveau noyau.

Le noyau 1.2.13 cr�ait seulement 4 p�riph�riques PPP. Pour les cartes s�ries multiports, vous devez �diter les sources du noyau PPP pour avoir plus de ports. (Voir le fichier README.Linux accompagnant la distribution de PPP-2.1.2 pour des d�tails complets des �ditions simples que vous devez faire).

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

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

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

make config

Cependant, vous pouvez aussi utiliser

make menuconfig

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

Il y a aussi l'interface de configuration sous X-Window chaudement recommand�e

make xconfig

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

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

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


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

Pour ajouter le support PPP � votre noyau, r�pondre � la question suivante :


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

Pour un module chargeable, r�pondre M, sinon pour le compiler directement dans le noyau, r�pondre Y.

A la diff�rence du 1.2.13, le noyau 2.0.x cr�e les p�riph�riques PPP au vol et selon les besoins, et il n'y a absolument pas besoin de bricoler le source pour augmenter le nombre de p�riph�riques PPP.

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

Si vous utilisez PPP-2.2, vous trouverez qu'un probl�me de la cr�ation des p�riph�riques PPP 'au vol' est qu'aucun p�riph�rique n'est trouv� dans le fichier /proc/net tant qu'un p�riph�rique n'est pas cr�� avec le lancement de pppd :


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

Une fois que vous avez un (ou plus) services ppp lanc�s, vous verrez des entr�es comme celles-ci (sur un serveur PPP) :


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

7.6 Consid�rations g�n�rales sur la configuration du noyau pour PPP

Si vous configurez votre PC Linux comme un serveur PPP, vous devez activer le support IP Forwarding. Il est �galement n�cessaire si vous voulez utiliser Linux pour relier deux r�seaux locaux entre eux ou un r�seau local � Internet.

Si vous reliez un r�seau local � Internet (ou reliez deux r�seaux entre eux), vous devez �tre concern�s par la s�curit�. Ajouter le support pour IP firewall dans votre noyau est alors sans doute obligatoire !

Vous aurez �galement besoin, d'utiliser IP Masquerade pour relier un r�seau local qui utilise les adresses IP non connect�es mentionn�es plus haut.

Pour activer IP Masquerade et IP firewalling, vous DEVEZ r�pondre Oui � la premi�re question de make config :


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

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

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

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

Avant d'�tablir la connexion PPP avec un serveur, vous devez obtenir les informations suivantes (de l'administrateur syst�me/support utilisateur/ personnes g�rant le serveur PPP) :

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

9. Configurer votre modem et votre port s�rie

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

Se souvenir que :

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

Si vous avez des p�riph�riques sur vos ports s�ries qui partagent une IRQ avec votre modem vous allez avoir des probl�mes. Vous devez vous assurer que le port s�rie de votre modem est sur sa propre et unique IRQ. De nombreuses cartes s�ries modernes (et les ports s�ries des cartes m�res de bonne qualit�) permettent de changer les IRQ des ports s�rie.

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


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

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

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

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

Si vous d�placez vos ports s�ries vers des IRQ non-standard, vous devez sp�cifier � Linux quel IRQ utilise chaque port. setserial permet de le faire, et de pr�f�rence lors du processus de lancement dans rc.local ou rc.serial qui est appel� dans rc.local ou comme une partie de l'initialisation SysV system. Pour la machine pr�sent�e ci-dessus, les commandes utilis�es sont


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

Toutefois, si vous utilisez le module s�rie charg� dynamiquement au besoin avec le processus kerneld, vous ne pouvez pas d�finir et perdre les IRQ � chaque red�marrage. Si le module s�rie est effac�, Linux perds alors les configurations sp�ciales.

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

9.1 Remarque au sujet des ports s�ries et des capacit� de vitesse

Si vous utilisez un modem haut d�bit (externe) (14.400 Bits par seconde ou plus), votre port s�rie doit �tre capable de suivre le d�bit qu'un tel modem est capable de produire, en particulier si le modem compresse les donn�es.

Cela demande que votre port s�rie utilise un UART(Universal Asynchronous Receiver Transmitter) moderne comme un 16550(A). Si vous utilisez une vieille machine (ou une vieille carte s�rie), il est tout � fait possible que votre port s�rie ait seulement un UART 8250, ce qui am�nera des probl�mes consid�rables avec un modem haute vitesse.

Utiliser la commande

setserial -a /dev/ttySx

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

Remarque : les premi�res versions des puces UART 16550 avaient une erreur. Elle a �t� rapidement d�couverte et une mise � jour de la puce est sortie - l'UART 16550A. Un nombre relativement faible de puces erron�es ont cependant �t� mises en circulation. �a serait de la malchance que d'un r�cup�rer une, en particulier sur certaines cartes d'occasion, mais il suffit de chercher la r�ponse qui s'appelle 16550A.

9.2 Noms des ports s�rie

Historiquement, Linux utilise les p�riph�riques cuaX pour les appels sortants et ttySx pour les appels entrants.

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

9.3 Configuration de votre modem

Vous devez configurer votre modem correctement pour PPP - pour cela, LISEZ LE MANUEL DE VOTRE MODEM ! La plupart des modems ont une configuration par d�faut en usine avec les options requises par PPP. La configuration minimale sp�cifie :

Les autres param�tres (en commandes Hayes standard) que vous devez v�rifier sont :

Un site fournit la configuration des modems pour une vari�t� de fabricants et de mod�les de modems croissante � Modem setup information qui devrait vous simplifier la configuration.

Il est aussi int�ressant de v�rifier comment fonctionne l'interface s�rie entre votre ordinateur et votre modem. La plupart des modems modernes vous permettent d'utiliser l'interface s�rie � une vitesse FIXE permettant � l'interface avec la ligne t�l�phonique de changer de vitesse pour atteindre la plus haute vitesse que les deux modems peuvent supporter.

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

Utiliser les outils de communication (c.-�-d. minicom ou seyon) pour acc�der � la configuration de votre modem, et l'adapter � ce qui est n�cessaire � PPP. De nombreux modems renvoient leurs r�glages courants apr�s la commande AT&V, mais vous devez consulter le manuel de votre modem.

Si vous avez compl�tement modifi� les r�glages, vous pouvez repartir sur des bases saines (g�n�ralement) en envoyant AT&F - �a retourne aux r�glages usine. (Pour la majorit� des modems que j'ai rencontr�, les r�glages usine on tout ce qu'il faut pour faire du PPP - mais vous devez v�rifier).

Un fois que vous avez la commande n�cessaire pour configurer votre modem, �crivez-l�. Vous devez maintenant prendre une d�cision : vous pouvez stocker ces param�tres dans la m�moire non-volatile de votre modem, comme cela vous pourrez la relancer en envoyant une commande AT appropri�e. Alternativement, vous pouvez passer le param�trage correct � votre modem lors du processus de connexion de PPP.

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

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

9.4 Remarque sur le contr�le de flux s�rie

Lorsque les donn�es transitent sur les lignes de communication s�rie, il peut arriver que les donn�es arrivent plus vite que l'ordinateur ne peut les traiter (l'ordinateur peut �tre occup� � faire autre chose - n'oubliez pas que Linux est un syst�me Multi-t�ches Multi-utilisateurs). Pour s'assurer que des donn�es ne se sont pas perdues (les donn�es n'arrivent pas dans le tampon d'entr�e pour se perdre ensuite), certaines m�thodes de contr�les sont n�cessaires.

Il y a deux fa�ons de faire sur des lignes s�ries :

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

Pour les liaisons � haut d�bit utilisant PPP (avec l'utilisation des 8 bits de donn�es) le contr�le de flux mat�riel est vital, et c'est la raison pour laquelle vous devez utiliser le contr�le de flux mat�riel.

9.5 Tester votre modem pour composer un num�ro

Maintenant que vous en avez termin� avec la configuration du modem et du port s�rie, il serait utile de v�rifier si cette configuration marche vraiment en appelant votre fournisseur d'acc�s et voir si vous pouvez vous connecter.

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

(Remarque : � ce niveau, nous n'essayerons pas d'�tablir la connexion PPP - mais juste d'�tre s�r que nous pouvons composer un num�ro et ainsi trouver exactement ce que le serveur nous envoie pour se connecter et lancer PPP).

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

Si votre serveur utilise PAP, vous ne verrez pas de message de login, mais vous verrez � la place la (repr�sentation texte) du protocole de contr�le de liaison (une suite incoh�rente de caract�res) s'afficher sur votre �cran.

Quelques mots d'avertissements :

Il est int�ressant de dialoguer au moins deux fois - certains serveurs changent leur message d'accueil (c.-�-d. avec le temps !) chaque fois que vous vous connectez. Les deux messages critiques que votre machine Linux doit pouvoir identifier chaque fois que vous vous vous connectez sont :

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

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

�a doit donner quelque chose comme ceci :




(et �a ne s'arr�te pas !)

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

Si vous ne voyez pas directement apr�s la connexion (et le processus de connexion et le lancement du serveur PPP si besoin), tapez Entr�e pour voir si le serveur PPP d�marre...

A ce niveau, vous pouvez raccrocher votre modem (g�n�ralement, taper +++ rapidement et envoyer la commande ATHO une fois que votre modem vous a r�pondu OK).

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

10. Configurer la r�solution de nom vers l'adresse (DNS)

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

Cependant, pour que cette machine soit trouv�e par les autres ordinateurs sur Internet, elle est r�ellement connue par son adresse IP lorsque les ordinateurs communiquent � travers Internet.

Traduire (r�soudre) les noms de machines (et de domaine) en nombres r�ellement utilis�s sur Internet est le travail de machines qui offrent le DNS.

Ce qui se passe en fait :

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

Une solution est de rentrer tous les h�tes avec qui vous voulez dialoguer dans le fichier /etc/hosts (ce qui est en r�alit� totalement impossible si vous �tes connect� � Internet); une autre fa�on est d'utiliser les adresses IP plut�t que les noms (une t�che de m�morisation impossible sauf pour les petits r�seaux).

La meilleure fa�on est de configurer Linux pour qu'il connaisse ou r�cup�re l'information de conversion des noms en adresses - automatiquement. Ce service est fourni par le syst�me DNS. La seule chose � faire est d'entrer l'adresse IP des serveurs de noms dans le fichier /etc/resolv.conf.

10.1 Le fichier /etc/resolv.conf

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

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

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


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

�diter ce fichier (le cr�er si n�cessaire) pour contenir les informations que votre FAI vous a donn�. Il doit avoir les droits et les permissions comme suit :

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

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

10.2 Le fichier /etc/hosts.conf

Vous devez �galement v�rifier que votre fichier /etc/hosts.conf est correctement configur�. Il doit ressembler �


order hosts,bind
multi on

Il indique au r�solveur d'utiliser les informations du fichier host avant d'envoyer les requ�tes pour une r�solution DNS.

11. Utiliser PPP et les privil�ges root

Puisque PPP � besoin de configurer les p�riph�riques r�seau, modifier les tables de routage entre autres, il a besoin des privil�ges root.

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

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

Si /usr/sbin/pppd n'est pas d�fini comme cela, alors en �tant root taper la commande :

chmod u+s /usr/sbin/pppd

Cela permet � pppd de fonctionner avec les privil�ges root m�me i si le programme est lanc� par un utilisateur ordinaire. Ainsi pppd a les bons privil�ges pour configurer les interfaces r�seau et les tables de routage.

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

Selon ce que vous voulez faire de votre syst�me - particuli�rement si vous voulez qu'un utilisateur puisse initialiser une liaison PPP, vous devez mettre vos scripts ppp-on/off lisibles et ex�cutables par tout le monde. (c'est sans doute g�nial si vous �tes le SEUL utilisateur du PC).

Cependant, si vous NE voulez PAS que n'importe qui puisse lancer une connexion PPP (par exemple, votre enfant qui a un compte sur votre PC Linux et que vous ne voulez pas qu'il se connecte � Internet sans votre permission), vous devez faire un groupe PPP (en tant que root, �diter le fichier /etc/group) et :

M�me si vous faites cela, les utilisateurs normaux ne pourront pas fermer la connexion avec un programme ! Utiliser ppp-off n�cessite les privil�ges root. M�me si n'importe quel utilisateur peut �teindre le modem (ou d�connecter la ligne t�l�phonique sur un modem interne).

Un alternative (et une meilleure m�thode) de faire cela est d'utiliser le programme sudo, qui offre une meilleure s�curit� et vous permettra de choisir quels utilisateurs (autoris�s) pourrons activer/d�sactiver la liaison en utilisant des scripts. Utiliser sudo permet aux utilisateurs autoris�s d'activer/d�sactiver la liaison PPP de fa�on propre et s�curis�e.

12. Configurer les fichiers de connexion de PPP

Maintenant, vous devez �tre connect� en tant que root pour cr�er les r�pertoires et �diter les fichiers n�cessaires � la configuration de PPP, m�me si vous souhaitez que PPP soit utilisable par tous les utilisateurs.

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

Pour PPP 2.1.2 les fichiers sont :


/usr/sbin/pppd          # le programme PPP
/usr/sbin/ppp-on        # le script d'appel/connexion
/usr/sbin/ppp-off       # le script de d�connexion
/etc/ppp/options        # les options utilis�es pour toutes le connexions
/etc/ppp/options.ttyXX  # les options sp�cifiques pour ce connecter sur ce port

Pour PPP 2.2. les fichiers sont :


/usr/sbin/pppd                  # Le programme PPP
/etc/ppp/scripts/ppp-on         # le script d'appel connexion
/etc/ppp/scripts/ppp-on-dialer  # premi�re partie du script d'appel
/etc/ppp/scripts/ppp-off        # le script chat r�el
/etc/ppp/options                # options utilis�es par pppd pour toutes les 
                                # connexions
/etc/ppp/options.ttyXX          # options sp�cifiques pour se connecter sur ce
                                # port

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

Dans votre r�pertoire /etc, il devrait y avoir un r�pertoire ppp :

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

S'il n'existe pas - le cr�er avec ces possessions et permissions.

Si le r�pertoire existe d�j�, il devrait contenir un fichier d'options mod�le appel� options.tpl. Ce fichier est inclus plus bas au cas o� il n'existerait pas.

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

Si vous avez une ligne s�rie/modems multiple (c'est typiquement le cas des serveurs PPP), cr�er un fichier g�n�ral /etc/ppp/options contenant les options communes � tous les ports s�ries dans lequel vous supportez la composition et la r�ception d'appels et un fichier de configuration individuel pour chaque ligne s�rie sur laquelle vous �tablirez la configuration individuelle n�cessaire pour chaque port.

Ces fichiers d'options sp�cifiques aux ports sont appel�s options.ttyx1, options.ttyx2 et ainsi de suite (ou x est la lettre appropri�e pour votre port s�rie).

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

Il est plus simple de maintenir une configuration qui utilise les fichiers /etc/ppp/options.ttySx. Si vous utilisez PPP sur diff�rents sites, vous pouvez cr�er un fichier d'options pour chaque site dans /etc/ppp/options.site, et ainsi sp�cifier le fichier d'options en param�tre � la commande PPP lorsque vous vous connectez (en utilisant l'option file option-file de pppd dans la ligne de commande de pppd).

12.1 Le fichier options.tpl fourni

Certaines distributions de PPP semblent avoir perdu le fichier options.tpl, donc voici le fichier complet. Je sugg�re de NE PAS �diter ce fichier pour cr�er votre fichier(s) /etc/ppp/options. Copiez plut�t celui-ci dans un nouveau fichier et �ditez-le alors. Si vous vous trompez dans votre �dition, vous pourrez toujours revenir en arri�re en recommen�ant sur l'original.


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

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

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

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

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

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

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

# Specifie que certains caracteres doivent etre echapes sur la transmission
# (en fonction de la facon dont le client souhaite qu'ils soient echappes avec
# la table de controle async). Les caracteres qui sont echappes sont specifies
# comme une liste de nombres hexa separes par des guillemets. La plupart des
# caracteres peuvent etres specifies avec l'option escape, a moins que l'option 
# asyncmap soit activee puisque dans ce cas seuls les caracteres de controle
# peuvent etres specifies. Les caracteres qui ne peuvent etre echapes ont les
# valeurs hexa 0x20 - 0x3f ou 0x5e.
#escape 11,13,ff

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

En fait, comme toujours, �a d�pend. Les options sp�cifi�es ici devraient marcher avec la plupart des serveurs.

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

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


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

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

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

Pour les fichiers de configuration pr�c�dents, ajouter les lignes suivantes :


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

13.1 Utiliser MSCHAP

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

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


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

L'information critique ici est auth chap 80.

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

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

13.2 Le fichier de secrets de PAP/CHAP

Si vous utilisez l'authentification PAP ou CHAP, alors vous devez cr�er les fichiers . Ce sont


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

Il doivent �tre poss�d�s par root, le groupe root et avoir les permissions 740 pour la s�curit�.

Le premier point � remarquer au sujet de PAP et CHAP est qu'ils sont con�us pour authentifier les ordinateurs mais pas les utilisateurs

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

H� bien, une fois que l'ordinateur a �tabli une connexion PPP avec le serveur, n'importe quel utilisateur de votre syst�me peut utiliser cette connexion - pas seulement vous. C'est pourquoi vous pouvez configurer un r�seau � large domaine en reliant deux r�seaux locaux avec PPP.

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

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

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


name votre_utilisateur nom_chez_votre_FAI

dans votre fichier /etc/ppp/options.

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

Puisque PAP permet d'authentifier les ordinateurs, techniquement, vous devez aussi sp�cifier un nom d'ordinateur distant. Toutefois, comme de nombreuses personnes ont plus d'un seul FAI, vous pouvez utiliser un caract�re g�n�rique (*) pour le nom d'ordinateur distant dans le fichier de secrets.

Il est aussi int�ressant de remarquer que de nombreux FAI utilise des banques de modems multiples connect�s sur diff�rents serveurs de terminaux - tous ont un nom diff�rent, mais sont accessibles avec un seul num�ro d'appel. Il peut alors �tre difficile dans certaines circonstances de savoir � l'avance quel est le nom de l'ordinateur distant, puisque cela d�pendra du serveur de terminal sur lequel vous vous connecterez !

13.3 Le fichier de secrets de PAP

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


# Authentication Secrete avec PAP
# client        serveur       secret     adresses_IP_locale_acceptable

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

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


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

Cela signifie que pour une machine locale fred (pppd lui impose de s'appeler comme cela m�me si �a n'est pas son nom de machine r�el) et pour n'importe quel serveur, utiliser le mot de passe (secret) "flintstone".

Remarquez que vous ne devez pas sp�cifier d'adresse IP locale, � moins que vous ne deviez FORCER une adresse locale statique particuli�re. M�me si vous essayez cette option, il y a peu de chances qu'elle marche puisque la plupart des serveurs PPP (pour des raisons de s�curit�) ne permettent pas au syst�me distant de configurer l'adresse IP qu'ils re�oivent.

13.4 Le fichier de secrets de CHAP

Cette m�thode n�cessite une m�thode authentification mutuelle - c'est � dire que vous devez permettre � votre machine d'authentifier le serveur distant ET le serveur distant d'authentifier votre machine.

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

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


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

et pour barney


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

Remarquez en particulier que les deux machines doivent avoir des entr�es pour une authentification bidirectionnelle. Cela permet � la machine locale d'authentifier elle-m�me la machine distante ET la machine distante d'authentifier elle-m�me la machine locale.

13.5 Supporter plusieurs connexions authentifi�es avec PAP

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

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

Comme vous pouvez le supposer, PPP fournit un m�canisme pour r�gler cela. PPP permet de d�finir un << pseudonyme >> pour le serveur distant final de la connexion en utilisant l'option remotename de pppd.

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


fred    pppserveur1      barney
fred    pppserveur2      wilma

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

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

14. Configurer une connexion PPP � la main

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

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

V�rifiez que vous �tes root.

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

Si vous utilisez PAP ou CHAP, se connecter simplement sur le syst�me distant devrait d�marrer PPP et vous devriez voir des caract�res s'afficher sans toutefois se connecter (m�me si �a peut ne pas marcher sur certains serveurs - essayez alors d'appuyer sur Entr�e et les caract�res devraient s'afficher).

Maintenant quittez le programme de communication sans initialiser le modem (ALT-Q ou CTRL-A Q dans minicom) et au message d'accueil de Linux (�tant root) tapez


pppd -d -detach /dev/ttySx 38400 &

L'option -d active le d�boguage - la conversation de d�marrage de la connexion ppp sera retranscrite dans votre journal syst�me - ce qui est tr�s utile si des probl�mes apparaissent.

Les lumi�res de votre modem devraient alors clignoter puisque la connexion PPP est �tablie. Cela peut prendre un peu de temps avant que la connexion soit termin�e.

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


ifconfig

En plus des �ventuels p�riph�riques loopback et Ethernet, vous devriez avoir quelque chose qui ressemble � :


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

O�

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

Remarque : ifconfig indique �galement que votre liaison fonctionne correctement !

Si vous aucun p�riph�rique PPP n'est affich� ou quelque chose du genre


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

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

Vous devez aussi pouvoir voir une route vers l'h�te distant (et m�me plus). Pour cela, entrez la commande


route -n

Vous devriez obtenir quelque chose comme :


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

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

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

La seconde est la route par d�faut (�tablie en donnant � pppd l'option defaultroute). C'est cette route qui indique � votre PC Linux d'envoyer tous les paquets qui ne sont pas destin�s � vos interfaces Ethernet - vers lesquelles vous avez des routes r�seau sp�cifiques - au serveur PPP lui-m�me. Le serveur PPP est alors responsable de router vos paquets vers Internet et de vous renvoyer les paquets chez vous.

Si vous ne voyez pas une table de routage avec deux entr�es, quelque chose ne marche pas. En particulier si votre syslog contient des messages indiquant que pppd ne remplace pas la route par d�faut, vous devez avoir une route par d�faut qui pointe sur votre interface Ethernet - qui DOIT �tre remplac�e par une route r�seau sp�cifique : VOUS NE POUVEZ AVOIR QU'UNE SEULE ROUTE PAR DEFAUT !!!

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

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


ping 10.144.153.51

Vous devriez obtenir


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

Ce listing doit continuer sans jamais s'arr�ter - pour le stopper, taper CTRL C, vous recevrez alors des informations compl�mentaires :


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

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

Maintenant, essayez de pinger un nom d'h�te (pas le nom du serveur PPP lui-m�me) mais un h�te d'un autre site dont vous SAVEZ qu'il y a de tr�s fortes chances qu'il marche...). Par exemple


ping sunsite.unc.edu

ou lip6.fr

Dans ce cas, il va y avoir une petite pause le temps que Linux obtienne l'adresse IP du nom de h�te que vous avez 'ping�' par le DNS que vous avez sp�cifi� dans le /etc/resolv.conf - ne vous inqui�tez pas (les lumi�res de votre modem devraient clignoter). Rapidement, vous devriez avoir l'affichage suivant


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

L� encore, arr�tez le en tapant CTRL C pour obtenir les statistiques...


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

Si vous n'avez pas de r�ponse, essayer de pinger l'adresse de votre serveur DNS de votre FAI. Si vous n'avez pas de r�sultat, alors il doit y avoir un probl�me avec votre /etc/resolv.conf.

Si �a ne fonctionne pas, vous devez avoir un probl�me de routage, ou votre FAI a un probl�me � vous renvoyer les paquets. V�rifiez les tables de routages pr�sent�es plus haut et si tout est OK, contacter votre FAI. Si cela se trouve apr�s votre FAI, alors le probl�me est de votre cot�.

Si tout marche correctement, fermez la connexion en tapant


ppp-off

Apr�s une courte pause, le modem devrait raccrocher.

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

Vous devez �galement effacer le fichier cr�� par pppd


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

15. Automatiser votre connexion - Cr�er les scripts de connexion

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

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

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

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

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

pour PPP-2.1.2

ppp-on
ppp-off

et pour PPP 2.2

ppp-off
ppp-on
ppp-on-dialer

Maintenant, si vous utilisez PPP 2.1.2, je vous presse fermement de d�truire ces fichiers d'exemple. Il y a pleins de probl�mes potentiels avec ceux-ci - et ne me dites pas qu'ils marchent correctement - je les ai �galement utilis� pendant des ann�es (et les recommandait m�me dans la premi�re version de ce HOWTO) !

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

15.2 Le script ppp-on

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


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

Voici le script ppp-on-dialer :


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

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


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

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

15.3 Editer les scripts de d�marrage de PPP fournis

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

Le script ppp-on

Vous devez �diter ces fichiers pour contenir VOTRE nom utilisateur de votre FAI, VOTRE mot de passe de votre FAI, et le num�ro de t�l�phone de votre FAI.

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

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


$LOCAL_IP:$REMOTE_IP \

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

Le script ppp-on-dialer

C'est le deuxi�me des scripts qui lance votre liaison PPP.

Remarque : un script chat est normalement sur une ligne compl�te. Les backslashs sont utilis�s pour permettre � la ligne de se r�partir sur plusieurs lignes physiques (pour une lisibilit� plus humaine) et ne font pas partie du script lui-m�me.

Cependant, il est tr�s utile de le regarder en d�tail, comme cela nous comprenons ce qu'il est r�ellement suppos� faire !

15.4 Ce que script Chat signifie...

Un script chat est une s�quence de paires de "cha�nes d'attentes" et de "cha�nes d'envoi ". En particulier, remarquez que nous attendons TOUJOURS quelque chose avant d'envoyer quoi que ce soit.

Si nous envoyons quelque chose SANS avoir rien re�u avant, nous devons attendre une cha�ne vide avant (indiqu�e par un "") Et de la m�me mani�re attendre quelque chose sans avoir rien envoy� ! Ainsi, si les cha�ne consistent en quelques mots, (c.-�-d. NO CARRIER), vous devez entourez les cha�nes par des quotes pour qu'elles soient vues comme une seule entit� par chat.

La ligne chat de notre mod�le est :


exec /usr/sbin/chat -v

Invoque chat, le -v indique � chat de mettre toutes ses entr�e/sorties dans le journal syst�me (g�n�ralement /var/log/messages). Une fois que votre script chat marchera correctement, �ditez cette ligne et enlevez le -v pour �conomiser des messages inutiles dans votre syslog.


TIMEOUT         3

�a d�finit un temps d'attente de trois secondes avant la r�ception d'une entr�e attendue. Vous devrez l'augmenter � 5 ou 10 secondes si vous utilisez un modem extr�mement lent !


ABORT           '\nBUSY\r'

Si la cha�ne BUSY est re�ue, abandonner l'op�ration.

M


ABORT           '\nNO ANSWER\r'

Si la cha�ne NO ANSWER est re�ue, abandonner l'op�ration.


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

Si la cha�ne RINGING est re�ue de mani�re r�p�t�e, abandonner l'op�ration. C'est parce que quelqu'un vous appelle !


"              \rAT

Ne rien attendre du modem et envoyer la cha�ne AT.


OK-+++\c-OK   ATH0

C'est un petit plus compliqu� car cela utilise certaines capacit�s de chat � r�cup�rer les erreurs.

�a veux dire...Expect OK, si on ne l'a pas re�u (parce que le modem n'est pas en ligne de commande) alors envoyer +++ (la cha�ne standard des modems compatible Hayes pour retourner en ligne de commande) et attendre OK. Ensuite envoyer ATH0 (la cha�ne pour raccrocher). Cela permet au script de r�pondre � la situation ou votre modem avait laiss� la ligne d�croch�e !


TIMEOUT         30

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


OK              ATDT$TELEPHONE

Attends un OK (la r�ponse du modem � la commande ATH0) et compose le num�ro que nous voulez appeler.


CONNECT         ''

Attendre CONNECT(ce que le modem nous envoie lorsque le modem distant d�croche) et n'envoie rien en r�ponse.


ogin:--ogin:    $ACCOUNT

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


assword:        $PASSWORD

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

Ce script chat � une capacit� de r�cup�ration d'erreurs r�sonnable. Chat poss�de bien d'autres possibilit�s que celles d�taill�s. Pour plus d'informations, consulter la page de manuel de chat (man 8 chat).

D�marrer PPP sur le serveur final

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

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

A la fin du script (apr�s la ligne password) ajouter une paire attente envoi en plus - elle cherchera un message de login (une suite de caract�res qui ont une signification particuli�re dans le shell Bourne - comme $ et [ ou ] (les crochets ouverts et ferm�s).

Une fois que chat � obtenu le prompt du shell, chat doit envoyer la commande de d�marrage de ppp n�cessaire sur le serveur PPP de votre FAI.

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


[hartr@kepler hartr]$

et n�cessite que je tapes


ppp

pour lancer ppp sur le serveur.

Une id�e judicieuse peut �tre d'ajouter un peu de r�cup�ration d'erreur, dans mon cas j'utilise


        hartr--hartr    ppp

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

Une fois que le message est re�u, j'envoie la cha�ne ppp.

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

Malheureusement, certains serveurs g�n�rent un nombre de messages tr�s variable ! Vous aurez peut-�tre besoin de vous connecter plusieurs fois avec minicom pour comprendre comment �a marche et r�cup�rer une cha�ne "d'attente" stable.

15.5 Un script chat pour les connections authentifi�es avec PAP/CHAP

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


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

15.6 Les options debug et file option_file de pppd

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

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

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

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


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

16. Testez votre script de connexion

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

Dans cette nouvelle session, tapez la commande

tail -f /var/log/messages

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

Dans la premi�re fen�tre (ou console virtuelle), tapez la commande

ppp-on &

(ou le nom que vous avez donn� � la nouvelle version de votre /usr/sbin/ppp- on). Si vous ne mettez pas le script en t�che de fond en sp�cifiant & en fin de commande, vous ne r�cup�rerez pas le prompt de votre terminal avant que ppp se termine (ou que la liaison se termine).

Maintenant revenez dans la fen�tre ou vous affichez votre journal syst�me.

L'affichage devrait ressembler � ce qui suit (si vous avez sp�cifi� l'option -vi a chat et -d � pppd )....c'est le d�roulement du script chat et des r�ponses envoy�es dans le fichier journal syst�me suivi des informations de d�marrage de pppd :


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

(Remarque - j'utilise les adresses IP STATIQUES - ma machine l'envoie au serveur PPP - vous ne verrez pas la m�me chose si vous utilisez des adresses IP DYNAMIQUES.) Ainsi, le server n�cessite une commande sp�cifique pour d�marrer ppp � la fin.

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

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

17. Terminer une connexion PPP

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

Dans votre fichier journal de votre syst�me, il devrait y avoir quelque chose ressemblant � :


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

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

18. R�soudre les probl�mes

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

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

Un probl�me relativement courant est que les gens compilent le support PPP dans leur noyau et apr�s, lorsqu'ils essayent de lancer pppd, le noyau r�pond qu'il ne supporte pas ppp ! Un grand nombre de raisons peuvent en �tre la cause.

Bootez-vous avec le bon noyau ?

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

Une bonne fa�on de v�rifier le noyau est d'envoyer la commande uname -a, qui affiche la ligne ressemblant �


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

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

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

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

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

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

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

Lancez vous pppd en �tant root ?

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

18.2 Mon modem se connecte mais PPP ne d�marre jamais

Il y a d'innombrables possibilit�s avec �a (regardez dans comp.os.linux....).

Une erreur EXTREMEMENT fr�quente est que vous avez mal tap� quelque chose dans vos scripts. La seule chose � faire est de v�rifier que vous avez la conversation entre votre PC Linux et le serveur rapport� dans le syslog /var/log/message) allez ensuite dans celui-ci ligne par ligne. Vous aurez peut-�tre besoin d'appeler votre serveur ppp � la main pour rev�rifier tout �a.

Vous devez v�rifier les messages de logs r�els tr�s attentivement - et ayez � l'esprit que les hommes on tendance � lire ce qu'ils PENSENT avoir tap� - et non ce qu'ils ont sous leurs yeux !

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

Il y a plusieurs possibilit�s � cela - comme des retours sur la ligne etc., qui peuvent �tre la cons�quence d'une (ou plusieurs) choses.

Pour comprendre ce qui se passe, il est n�cessaire de chercher se qui se passe en coulisses dans pppd lui-m�me.

Lorsque pppd d�marre, il envoie des paquets LCP (Link Control Protocol) � la machine distante. Si il re�oit une r�ponse valide il passe ensuite � l'�tape suivante (avec IPCP - les paquets de contr�le IP) et c'est seulement une fois que cette n�gociation est termin�e que les trames IP r�elles commencent et que vous pouvez utiliser la liaison PPP.

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

Il y a plusieurs possibilit� pour qu'un r�flexion arrive.

Vous n'�tes pas correctement connect� sur le serveur

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

Ainsi, le paquet LCP sera r�fl�chi et vous aurez une erreur.

Vous devez v�rifier et corriger (si n�cessaire) attentivement votre script chat (voir plus haut).

Vous n'avez pas lanc� PPP sur le serveur

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

V�rifiez votre script chat (voir plus haut).

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

18.4 Le processus PPP distant est long � d�marrer

L� c'est un peu d�licat !

Par d�faut, votre pppd Linux est compil� pour envoyer un maximum de 10 requ�tes LCP de configuration. Si le serveur est un peu lent � d�marrer, la totalit� des 10 requ�tes auront �t� envoy�es avant que le serveur PPP distant n'ait eu le temps de les recevoir.

Sur votre machine, pppd voit la r�flexion des 10 requ�tes (avec le 8�me bit invers�) et s'arr�te.

Il y a deux fa�on de r�soudre cela :

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

Sinon, vous pouvez �tre un peu malin de votre c�t�. Vous avez peut-�tre remarqu� que lorsque vous vous connectez � la main au serveur PPP et que vous d�marrez alors PPP, le premier caract�re que ppp envoie et qui appara�t est toujours le caract�re tilda (~).

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


\~      ''

Remarque : comme le caract�re tilda a une signification particuli�re pour le shell, il doit �tre �chapp� (en fait pr�c�d� par un backslash).

18.5 La route par d�faut n'est pas configur�e

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

La raison habituelle lorsque cette erreur appara�t est que certaines distributions configurent une route par d�faut pour votre carte Ethernet au lieu de la configurer comme une route r�seau sp�cifique.

Voir le Linux NAG et le HOWTO Net2/3 pour des informations sur la fa�on de configurer correctement votre carte Ethernet et les routes associ�es.

Une alternative � cela est que votre r�seau local utilise d�j� un gateway/routeur et que votre table de routage est d�j� configur�e pour envoyer la route par d�faut � cet endroit.

R�soudre cette situation peut n�cessiter quelques connaissances de r�seau IP qui sort du domaine de ce HOWTO. Il est sugg�r� d'obtenir l'avis d'un expert (par les groupes de news ou quelqu'un que vous pouvez interroger pr�s de vous).

18.6 Autres probl�mes

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

Lisez la FAQ PPP(qui est une s�rie de questions-r�ponses). C'est un document tr�s didactique et les r�ponses y SONT ! De ma propre (et triste) exp�rience, si la r�ponse � votre probl�me n'est pas dedans, votre probl�me N'est PAS de la faute de ppp ! Pour ma part, j'utilisais un noyau ELF alors que je n'avais pas mis � jour les modules du noyau. J'ai juste perdu 2 jours (et presque une nuit) � chercher comment doit �tre un serveur PPP parfait avant de faire lumi�re !

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

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

Consultez �galement la documentation de PPP la FAQ et tout les documents mentionn�s ici !

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

Vous pouvez essayer de m'envoyer personnellement un email, mais si j'ai une journ�e (et m�me une vie) charg�, je ne garanti pas de r�pondre rapidement (m�me pas du tout) selon la quantit� de travail en cours et l'�tat de ma vie priv�e !

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

20. Probl�mes classiques lorsque la liaison fonctionne

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

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

20.1 Je n'arrive pas � voir apr�s le serveur PPP ou je suis connect�

OK - votre connexion PPP est lanc�e et fonctionne vous pouvez pinger le serveur PPP avec son adresse IP (la deuxi�me ou "remote" adresse IP affich�e par ifconfig ppp0), mais vous ne pouvez rien atteindre apr�s cela.

Tout d'abord, essayez de pinger les adresses IP que vous avez sp�cifi� dans /etc/resolv.conf comme serveur de noms. Si elles marchent, vous pouvez voir apr�s votre serveur PPP (en tout cas ce qui � une adresse IP identique � ce que vous avez sp�cifi�). Maintenant essayez de pinger l'adresse compl�te de votre fournisseur d'acc�s :

ping mon.fournisseur.internet.fr

Si �a ne marche pas, vous avez un probl�me avec la r�solution des noms. C'est probablement � cause d'une faute de frappe dans votre fichier /etc/resolv.conf. V�rifiez �a attentivement � partir des informations que vous aviez obtenues en appelant votre fournisseur d'acc�s. Si �a semble correct, appelez votre fournisseur d'acc�s, et v�rifiez que vous avez not� l'adresse IP correctement.

Si �a ne marche TOUJOURS pas (et que votre fournisseur d'acc�s vous confirme que le serveur de noms fonctionne correctement), vous devez avoir un probl�me ailleurs - et je vous sugg�re de v�rifier votre installation de Linux (en particulier les permissions des fichiers).

Si vous ne pouvez TOUJOURS pas pinger le serveur de nom de votre fournisseur d'acc�s par l'adresse IP, soit il est �teint (appelez les par t�l�phone et v�rifiez) soit il y a un probl�me de routage du c�t� de votre fournisseur d'acc�s. De m�me appelez-les et demandez leur.

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

Un bon test est d'essayer de se connecter avec le programme que votre fournisseur d'acc�s vous a donn� pour (oups) Microsoft Windows. Si tout marche sur un autre syst�me d'exploitation avec exactement le m�me compte, alors le probl�me vient de votre machine Linux et NON de votre fournisseur d'acc�s.

20.2 Je peux envoyer du courrier mais pas en recevoir

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

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

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

21. Utiliser les services Internet avec des adresses IP dynamiques

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

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

En particulier, vous pourrez r�pondre au courrier que vous avez re�u m�me si votre machine n'est plus connect�e. Le courrier restera dans votre queue de messages jusqu'� ce que vous appeliez votre FAI.

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

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

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

21.1 Configurer le courrier �lectronique (email)

M�me avec une adresse IP dynamique, vous devrez certainement configurer sendmail sur votre machine pour envoyer le courrier que vous �crivez localement. La configuration de sendmail peut �tre obscure et difficile - ce document ne vous parleras pas de la fa�on de faire. Cependant, vous aimeriez sans doute configurer sendmail pour que votre fournisseur d'acc�s soit consid�r� comme un h�te "smart relay" (l'options DS de sendmail). (Pour plus d'info sur la configuration de sendmail, voir la documentation de sendmail - et regardez la configuration de m4 fourni avec sendmail. Il y a forcement quelque chose qui r�ponds � ce que vous cherchez).

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

Une fois que vous avez configur� sendmail, vous avez probablement envie que sendmail envoie les messages en attente d�s que la connexion PPP est lanc�e. Pour cela, ajouter la commande

sendmail -q &

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

Les mails entrant sont probl�matique avec les adresses IP dynamiques. La fa�on de les supporter est de :

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

21.2 Configurer un serveur de noms local

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

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

Il existe �galement un DNS-HOWTO.

Si un petit r�seau local acc�de � Internet gr�ce � votre PC Linux (avec IP masquerading par exemple), c'est sans doute une excellente id�e d'utiliser un serveur de noms (avec la directive forwarders) puisque cela r�duira les delais et la bande passante utilis�e pour la r�solution des noms.

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

22. Relier deux r�seaux locaux avec PPP

Il y a fondamentalement aucune diff�rence entre le fait de relier un seul PC Linux avec PPP et relier deux r�seaux locaux avec PPP et une machine sur chaque r�seau. Souvenez-vous PPP est un protocole r�versible.

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

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

Pour relier deux r�seaux locaux, vous devez utiliser des adresses IP diff�rentes (ou des sous-r�seau d'adresses diff�rentes) et vous devrez utiliser des adresses IP statiques ou l'IP Masquerading. Si vous voulez utiliser l'IP Masquerading, consultez le mini-howto IP masquerade pour avoir des instructions sur la mani�re de le configurer.

22.1 Configurer les adresses IP

Arrangez-vous avec l'administrateur syst�me de l'autre r�seau local pour choisir les adresses IP qui seront utilis�s de chaque c�t� de l'interface PPP. Si vous utilisez des adresses IP statiques, il sera sans doute pratique d'appeler un num�ro de t�l�phone d�di�.

Maintenant, �ditez le fichier /etc/ppp/options[.ttyXX] appropri� - il est judicieux d'avoir un modem et un port d�di� de chaque c�t� de la connexion. Cela n�cessite quelques changements dans le fichier /etc/ppp/options et la cr�ation d'un fichier options.ttyXX appropri� pour les autres connexions !

Sp�cifiez les adresses IP pour le c�t� de votre liaison PPP dans les fichiers d'options appropri�s exactement comme cela est d�cris plus haut pour les adresses IP statiques.

22.2 Configurer le routage.

Vous devez vous occuper que les paquets du r�seau local soit rout�s � travers l'interface lorsque la liaison PPP est lanc�e. Ce processus se fait en deux parties.

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

Si toutefois, la liaison relie seulement deux r�seaux locaux, alors une route r�seau sp�cifique doit �tre ajout�e pour tous les r�seaux accessible par cette liaison. C'est la commande 'route' qui le fait pour chaque r�seau dans le script /etc/ppp/ip-up script (voir une fois que la liaison fonctionne...) pour des instructions d�taill�es.

La seconde chose dont vous avez besoin est de pr�venir les autres ordinateurs que vous �tes le gateway vers les r�seaux situ�s � l'autre bout de la liaison.

Bien s�r, l'administrateur r�seau de l'autre cot� de la liaison doit faire les m�me choses ! Cependant, puisque qu'il route les paquets vers votre r�seau particulier, une route r�seau sp�cifique est indispensable, et non la route par d�faut (� moins que le r�seau situ� � l'autre bout se connecte chez vous pour acc�der � Internet).

22.3 S�curit� r�seau

Si vous reliez votre r�seau local � Internet avec PPP - ou du moins avec un r�seau local "�tranger", vous devez r�fl�chir aux probl�mes de s�curit�. Je vous conseille fermement de penser � configurer un firewall !

Vous devriez �galement parler � l'administrateur r�seau de votre site AVANT de lancer une connexion vers un r�seau local �tranger voire vers Internet ce cette mani�re. Ne rien faire peut soit n'amener aucune r�action soit de s�rieux probl�mes !

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

Une fois que la connexion est �tablie, pppd cherche un /etc/ppp/ip-up. Si ce script existe et est ex�cutable, le daemon PPP le lance. Cela permet d'automatiser des commandes de routages sp�ciales qui peuvent �tre n�cessaires et toutes les autres actions que vous souhaitez lancer une fois que la liaison PPP est activ�e.

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

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

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

23.1 Routages sp�ciaux

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

/etc/ppp/ip-up est utilis� � chaque lancement de ppp, vous devez donc �tre extr�mement vigilant d'ex�cuter les commandes de routage correctes pour la liaison qui d�marre - et non lorsque n'importe quelle liaison d�marre !

23.2 Support du courrier �lectronique en attente

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

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

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

Le script suivant permet de nombreuses utilisations.


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

Le r�sultat du lancement de la liaison PPP vers notre campus Newman et le d�marrage de ce script, d�termine les entr�es de la table de routage (cette machine est aussi notre serveur PPP g�n�ral ET supporte nos liaisons Internet). J'ai ajout� des commentaires sur la sortie pour expliquer a quoi correspond chaque entr�e) :


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

23.4 Support du courrier �lectronique

La section pr�c�dente montrait comment supporter le mail sortant - en envoyant simplement le courrier lorsque la liaison d�marrait.

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


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

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

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


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

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

24. Utiliser /etc/ppp/ip-down

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

25. Possibilit� de routage sur un r�seau local

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

Cette section ne pr�tend pas vous apprendre le routage - elle traite seulement de cas simples et sp�ciaux de routage (statique) !

Je vous recommande chaudement de lire de Guide d'administration R�seau Linux si vous n'�tes pas habitu� avec le routage. De m�me le livre d'O'Reilly "TCP/IP Network Administration" couvre le sujet de mani�re tr�s abordable.

La r�gle de base du routage statique est que la route par DEFAUT pointe � l'endroit o� il y le PLUS grand nombre d'adresse r�seau. Pour les autres r�seau, entr�s des routes sp�cifiques dans la table de routage.

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

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

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

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

Si votre interface Ethernet (eth0) pointe vers la route par d�faut, (la premi�re colonne contiendra un "default" dans la ligne eth0) vous devez changer les scripts d'inititalisation d'Ethernet pour qu'ils utilisent des adresses r�seau sp�cifiques plut�t que la route par d�faut (consultez le HOWTO Net2 et le NAG).

Cela va permettre � pppd de configurer votre route par d�faut comme suit :

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

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

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

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

Si votre r�seau local � aussi des routeurs, vous devez d�j� avoir des gateways pour interconnecter les r�seaux disponibles sur votre site. Vous devez TOUJOURS mettre la route par d�faut vers l'interface PPP - et utiliser des routes sp�cifiques pour les autres r�seaux que vous acc�dez.

25.1 Remarques sur la s�curit�

Lorsque vous configurez une machine Linux sur un r�seau local existant sur Internet, vous ouvrez potentiellement tout votre r�seau local vers Internet - ainsi que les pirates qui l'utilise. Avant de commencer, je vous conseille vivement de consulter votre administrateur r�seau et le responsable de la s�curit� de votre site. Si votre connexion PPP vers Internet est utilis� et permet d'attaquer votre site, vous serez dans la plus mauvaise position face � la col�re de vos coll�gues et votre administrateur syst�me et r�seau. Vous pourriez vous-m�me avoir de s�rieux probl�mes !

Avant de connecter un r�seau local sur Internet, vous devez prendre en compte les probl�mes de s�curit� m�me avec une connexion DYNAMIQUE - dans ce cas la r�f�rence la plus r�cente est le "Building Internet Firewalls" d'O'Reilly !

26. Configurer un serveur PPP

Comme c'est mentionn� plus haut, il y a des tas de fa�ons de faire. Ce que je pr�sente ici est la fa�on de faire une liaison tournante sur plusieurs lignes t�l�phoniques (avec une carte s�rie multi-ports utilisant des Cyclades)

Si vous n'aimez pas la m�thode pr�sent�e ici, faites donc comme vous pr�f�rez. J'aimerais toutefois ajouter des m�thodes suppl�mentaires dans les prochaines versions de ce HOWTO. Envoyez donc moi comment vous faites !

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

M�me si, j'ai d�j� exp�riment� l'utilisation de shadow password (et l'utilise de temps en temps). Les informations pr�sent�es ici n'utiliserons toutefois pas ce m�canisme.

26.1 Compiler le noyau

Tous les commentaires pr�c�dent concernant la compilation du noyau et les versions du noyau et de pppd sont encore valables. Cette section consid�re que vous avez lu les sections pr�c�dentes du document !

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

Si vous utilisez une carte s�rie multi-port, vous devez bien entendu inclure �galement les pilotes n�cessaires dans le noyau !

26.2 Pr�sentation du syst�me de serveur

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

Comme nous sommes une organisation �ducative, nous ne faisons pas payer le personnel ni les �tudiants pour leur acc�s, et nous n'avons donc pas besoin de nous inqui�ter des probl�mes de payement.

Un firewall existe entre notre site et Internet, et cela limite les acc�s des utilisateurs puisque les lignes d'appels sont sur notre firewall Internet (pour certaines raisons �videntes, le d�tails des autres firewalls internes ne sera pas pr�sent� ici et serait de toute fa�on inutile)

Le processus avec lequel un utilisateur �tablit une liaison PPP avec notre site (une fois qu'ils ont un compte bien s�r) :

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

Quand l'utilisateur raccroche de son cot�, pppd le d�tecte et indique au modem de raccrocher, fermant en m�me temps la liaison PPP.

26.3 Faire marcher les programmes tous ensemble

Vous avez besoin des programmes suivants :

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

26.4 Configurer les fichiers d'options

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


asyncmap 0
netmask 255.255.254.0
proxyarp
lock
crtscts
modem

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

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

L'option 'proxyarp' configure (surprise) une entr�e proxy ARP dans la table ARP du serveur qui signifie en substance 'envoie moi tous les paquets destin�s au client'. C'est la mani�re la plus simple de configurer le routage vers un client PPP unique - mais elle ne peut �tre utilis� pour le routage entre deux r�seaux locaux - vous devez alors utiliser les routes r�seau r�elles qui ne pourront pas utiliser le proxy ARP.

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

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


kepler:slip01

Remarquez en particulier que vous pouvez utiliser les noms d'h�tes valides dans ce fichier (je trouve que c'est la seule fa�on de se souvenir des adresses IP des machines importantes de mon r�seau, les noms sont bien plus significatifs) !

26.5 Configurer pppd pour permettre aux utilisateurs de le lancer

Comme configurer une liaison ppp implique de configurer un p�riph�rique dans le noyau (une interface r�seau) et de manipuler les tables de routage, des privil�ges sp�ciaux sont n�cessaires - en fait la totalit� des privil�ges root.

Heureusement, pppd est pr�vu pour marcher correctement avec set uid root. Vous devez donc


chmod u+s /usr/sbin/pppd

Quand vous listez le fichier, il doit appara�tre comme cela


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

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

26.6 Cr�er un alias global pour pppd

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

Cela nous donne


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

Et il fait ceci

Quand un utilisateur se connecte comme cela, il va appara�tre apr�s un 'w'


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

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

27. Utiliser PPP avec une connexion null modem

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

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

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

Maintenant, sur le serveur, enlevez getty et assurez vous que les ports s�rie sont configur�s correctement sur les deux machines avec 'setserial'.

Tout ce que vous avez besoin maintenant est de d�marrer pppd sur les deux syst�mes. Je suppose que les connexions utilise une connexion par /dev/ttyS34. Ainsi sur les deux machines lancez la commande :


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

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

Le routage dont vous avez besoin d�pend de ce que vous voulez faire exactement. G�n�ralement, une des machines sera connect� sur un r�seau Ethernet (et m�me plus) le routage n�cessaire est donc exactement le m�me qu'entre un serveur PPP et un client.

Sur la machine �quip�e d'Ethernet, la commande sera donc


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

et sur l'autre machine


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

Si vous reliez deux r�seaux locaux (avec une liaison s�rie !) vous aurez besoin d'un routage plus complexe, vous pouvez utiliser /etc/ppp/ip-up exactement de la m�me fa�on qu'il est d�crit plus haut.

Robert Hart
Port Hedland, Western Australia
Melbourne, Victoria, Australia August/October 1996 January/March 1997