12. Configurer les fichiers de connexion de PPP

Contenu de cette section

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)


Chapitre suivant, Chapitre Précédent

Table des matières de ce chapitre, Table des matières générale

Début du document, Début de ce chapitre