• Aucun résultat trouvé

Le protocole Point-a-Point | PPP

8.2 PPP sous Linu

Sous Linux, PPP est compose de deux parties; un pilote bas niveau HDLC situe dans le noyau, et un demon pppd fonctionnant au niveau utilisateur, gerant les di erents protocoles de contr^ole. Dans la version courante, le petit utilitaire chat est aussi fourni, qui permet l'etablissement de la liaison en gerant la communication par modem et le dialogue avec le serveur d'une facon simple mais ecace.

Le pilote PPP inclus dans le noyau est ecrit par Michael Callahan, qui fut rejoint par Al Longyear. Le demon pppd utilise est une implementation libre supportant egalement SunOS, 386BSD et quelques autres systemes, realisee au depart par Drew Perkins et maintenue actuellement par Paul Mackerras; la partie Linux est maintenue par Alfred Longyear. Le programme chat est l'uvre de Karl Fox3.

Comme SLIP, PPP est implemente par une discipline de ligne speciale. Pour utiliser une ligne serie sous PPP, vous commencez par etablir une connexion modem tradi- tionnelle, puis basculez la ligne en mode PPP. Dans ce mode, toutes les donnees sont passees au pilote PPP, qui teste la validite des trames HDLC (chacune comporte un checksumsur 16 bits), puis les traite. Actuellement, seuls les datagrammes IP sont 3:Karl Fox peut ^etre joint a l'adressekarl@morningstar.com. Al Longyear et Paul Mackerras

sont tres pris; si vous avez des questions concernant PPP il vaut mieux les poser dans le forum Usenet comp.protocols.ppp ou l'un des groupes Linux, ou encore dans le canal((Net))des listes de

supportes, avec la compression VJ en option. Si Linux supporte un jour IPX, le pilote PPP sera mis a jour pour savoir les gerer aussi.

Le pilote inclus dans le noyau est assiste par pppd, le demon PPP, qui e ectue les phases d'initialisation et d'authenti cation necessaires avant que tout tra c soit pos- sible sur la liaison. Le comportement de ce programme peut ^etre ajuste par un certain nombre d'options. Comme PPP est plut^ot complexe, il est impossible de les expliquer toutes dans un seul chapitre; par consequent ce livre ne pourra pas traiter tous les as- pects de pppd, ce sera juste une introduction. Pour obtenir plus d'informations, consul- tez les pages de manuel et la documentation fournie avec la distribution source de pppd, ou vous trouverez l'essentiel de ce qui n'est pas traite dans cet ouvrage. Si vous avez toujours des problemes, tournez-vous vers le forum Usenet

comp.protocols.ppp

, ou vous pourrez dialoguer avec la plupart des gens impliques dans le developpement de pppd.

8.3 Utilisation de

pppd

Pour vous connecter a l'Internet par une liaison PPP, il vous faut une con guration reseau minimale, c'est-a-dire au moins l'interface loopback et une methode de reso- lution de noms, tout cela a ete explique dans les precedents chapitres. Pour utiliser DNS sur une liaision serie, consultez le chapitre 7 qui detaille ce cas particulier. Comme exemple pratique, nous allons encore une fois considerer que vous ^etes sur la machine

kro

. Vous avez deja appele le serveur PPP, que nous appellerons

pabo

, et ^etes entre sur le systeme sous le compte utilisateur

ppp

. La machine

pabo

a deja lance son pilote PPP. Apres ^etre sorti du programme de communications que vous avez employe pour appeler le serveur, vous faites alors:

# pppd /dev/cua3 38400 crtscts defaultroute

Cette commande va basculer la ligne serie cua3 en mode PPP et etablir une liaison IP avec l'h^ote

pabo

. La vitesse de transfert utilisee sur le port serie sera 38400 bps. L'option crtscts valide le contr^ole de ux RTS/CTS, ce qui est indispensable avec des vitesses superieures a 9600 bps.

La premiere chose que fait pppd est de negocier plusieurs caracteristiques de la liai- son par le protocole LCP. Generalement, les options par defaut fonctionneront, nous n'entrerons donc pas dans les details.

Pour l'instant, nous allons egalement considerer que

pabo

ne demande aucune iden- ti cation, et que par consequent la phase de con guration est terminee.

Le programme pppd va alors negocier les adresses IP a utiliser en employant IPCP, le protocole de contr^ole IP. Puisque nous n'avons speci e aucune adresse particuliere en appelant pppd dans l'exemple ci-dessus, il va essayer de prendre les adresses obtenues par le resolver sur les noms de chaque h^ote. Chacun annoncera alors son adresse a l'autre.

Generalement, ce comportement par defaut est parfait. M^eme si votre machine est sur un reseau Ethernet, vous pouvez employer la m^eme adresse IP pour les deux interfaces. Neanmoins, pppd permet d'utiliser une adresse di erente, ou m^eme de demander a l'autre c^ote de vous en assigner une. Ces options sont decrites dans la section((Options de con guration IP)).

Apres la phase de con guration IPCP, pppd va preparer la couche reseau de votre systeme a l'utilisation d'une liaison PPP. Tout d'abord, il con gure l'interface PPP comme un lien point-a-point, en prenant ppp0 pour la premiere interface active, ppp1 pour la seconde, et ainsi de suite. Ensuite, il va initialiser une entree dans la table de routage qui pointe vers l'h^ote connecte a l'autre bout de la liaison. Dans l'exemple ci-dessus, pppd mettra aussi la route par defaut sur

pabo

, car nous lui avons passe l'option defaultroute4. Par consequent, tous les datagrammes a destination de ma-

chines hors de votre reseau local seront envoyes a

pabo

. Il existe di erents autres schemas de routage rendus possibles par pppd, nous les verrons en detail un peu plus loin.