Vous êtes sur la page 1sur 6

Configurer PPP

Révision 2

Objectifs
Expliquer le fonctionnement et la configuration des modems;
Savoir configurer une connexion dial-up;
Savoir configurer un serveur pppd;
Savoir utiliser wvdial

1.1 Gestion des modems série

Linux suppose en général que le modem est connecté sur un port 'série' identifié par les
fichiers type 'device' /dev/ttySX sous Linux.

Il faut tout d'abord déterminer sur quel port est connecté le modem.
La commande setserial -g interroge les ports 'série' et retourne la valeur UART (Universal
Asynchronous Receiver/Transmitter) du port ou 'unknown' s'il ne le trouve pas.

setserial -g /dev/ttyS[0-3]
/dev/ttyS0, UART: 16550A, Port: 0x03f8, IRQ: 4
/dev/ttyS1, UART: 16550A, Port: 0x02f8, IRQ: 3
/dev/ttyS2, UART: unknown, Port: 0x03e8, IRQ: 4
/dev/ttyS3, UART: unknown, Port: 0x02e8, IRQ: 3

Pour les modems qui ne seraient pas connectés à un port série, il est possible d'obtenir
des informations de configurations dans le fichier /proc/pci
L'adresse d'entrée-sortie (I/O) et l'interruption (IRQ) utilisées peuvent être associées à un
port série par la commande setserial

Ici, on l'associe au 3ème port série.

setserial /dev/ttyS2 port 0x2000 irq 3

La commande

setserial autoconfig

Page 1/6
permet de positionner la bonne valeur de l'UART pour ce port.

Cette configuration n'est pas conservée au redémarrage de la machine, il faut les


sauvegarder dans le fichier /etc/rc.serial
Ce script est l'un des derniers à être lancé par rc.sysinit lors du démarrage de la
machine.

Exemple de script /etc/rc.serial pour effectuer la configuration précédente

#!/bin/bash

TTY=/dev/ttyS2
PORT=0x2000
IRQ=3

echo "Setting up Serial Card ..."


/bin/setserial $TTY port $PORT irq $IRQ 2>/dev/null
/bin/setserial $TTY autoconfig 2>/dev/null

1.2 Composition de numéros

Une fois que l'on sait sur quel port le modem se trouve, on peut lui transmettre des
instructions spécifiques du type ATZ (initialisation) ou ATDT.(composition d'un numéro)

Un outil simple d'interface en mode texte avec le modem est minicom

Un autre outil plus élaboré est wvdialconf qui permet de rechercher automatiquement le
modem sur les ports série et de constituer un fichier de configuration.
Ce fichier servira à réaliser l'authentification et à lancer le démon pppd une fois la
connexion établie.

1.3 Scripts de connexion pppd et chat

Le script de 'chat' est utilisé pour communiquer avec le modem de la machine distante

Page 2/6
sous forme de chaînes de caractères attendues et envoyées.

Les chaînes attendues de la part du modem distant pour une connexion sont les
suivantes :

‘OK’
‘CONNECT'
‘login’
‘password’
‘TIMEOUT’

Le script est lu séquentiellement et démarre par la chaîne vide qui est associée à la
commande ATZ qui initialise le modem.
Après son initialisation le modem répond 'OK' et l'on peut alors numéroter avec la
commande 'ATDT'.
La « conversation » continue jusqu'à ce que le modem renvoie le prompt '>'. Cela signifie
que l'authentification s'est bien déroulée et que l'on peut lancer le démon pppd.

'ABORT' 'BUSY'
'ABORT' 'ERROR'
'ABORT' 'NO CARRIER'
'ABORT' 'NO DIALTONE'
'ABORT' 'Invalid Login'
'ABORT' 'Login incorrect'
'' 'ATZ'
'OK' 'ATDT01172341212'
'CONNECT' ''
'ogin:' 'mejdi'
'ord:' 'mot_de_passe_mejdi'
'TIMEOUT' '5'
'>' pppd

En début de script se trouvent les lignes associant l'abandon du script avec les réponses
du modem (BUSY, NO CARRIER etc ...)

Ce n'est évidemment pas la seule manière de procéder, on peut également lancer pppd
directement, puis lancer le 'chat' de connexion en utilisant la commande /usr/sbin/chat
qui effectuera le dialogue (ici en utilisant le fichier '/etc/sysconfig/network-scripts/chat-
ppp0').

pppd /dev/ttyS2 115200 \


nodetach \
lock \
debug \
crtscts \

Page 3/6
asyncmap 0000000 \
connect "/usr/sbin/chat -f /etc/sysconfig/network-scripts/chat-
ppp0"

Les lignes d'options de la commande pppd peuvent être sauvegardées dans le fichier /
etc/ppp/options. Ce fichier contient les nombreuses options que supporte la commande
'pppd'. Par exemple require-chap indique qu'il faut utiliser le fichier /etc/ppp/chap-
secrets pour l'authentification.

1.4 peers pppd : fichiers de configuration de pppd

Le répertoire /etc/ppp/peers sert à stocker les configurations correspondantes à différents


fournisseurs d'accès.

Exemple de fichier /etc/ppp/peers/le_fournisseur

noauth
connect "/usr/sbin/chat -v -f /etc/chatscripts/le_fournisseur"
defaultroute
/dev/ttyS1
115200

On peut alors appeler ce fournisseur d'accès simplement en lançant la commande, on


peut la rendre ainsi accessible à tous les utilisateurs.

pppd call le_fournisseur

Le fichier /etc/chatscripts/le_fournisseur doit exister ainsi que les entrées correspondantes


(éventuellement) dans les répertoires /etc/ppp/chap-secrets ou /etc/ppp/pap-secrets (c.f.
ci-dessus).
Le format de ces fichiers est le suivant

Secrets for authentication using CHAP


# client server secret local IP addresses
le_clien le_serveur mot_de_passe

Cela nécessite l'authentification mutuelle du client par le serveur et inversement.


L'adresse IP indiquée ici est utile lors d'une connexion à un réseau privé. On peut
associer une adresse IP particulière à un client et ainsi conserver des traces.

Page 4/6
1.5 wvdial

C'est la méthode par défaut utilisée par la distribution RedHat pour se connecter à un
réseau. La configuration de wvdial est aisée avec les outils de configuration graphique
disponibles avec KDE ou Gnome ou avec la commande en mode texte wvdialconf.

Le principe est le même que précédemment, wvdial utilise un fichier de configuration /


etc/wvdial.conf dont voici un exemple.

Modem = /dev/ttyS0
Dial command = ATDT
Baud = 115200
Init1 = ATZ
Modem Type = Analog Modem
[Dialer moi]
Phone = 0116641664
Username = andrei
Password = mot_de_passe_andrei
[Dialer lui]
Phone = 0190909090
Username = lui
Password = mot_de_passe_lui

Pour se connecter en utilisant la configuration associée à l'utilisateur 'moi' (Dailer dans le


fichier de configuration)

wvdial moi

Mot clefs
ppp
modems
minicom
Wvdia
/dev/ttyS
/bin/setserial
/etc/setserial.rc
/usr/sbin/chat
/etc/ppp/
/etc/ppp/peers
/etc/wvdial.conf

Page 5/6
Page 6/6

Vous aimerez peut-être aussi