Révision : 01/07/00
 
  Config de ppp pour un iMac  
 
Introduction

Un remerciement à Phil Regalia pour avoir rédigé cette documentation sur PPP. Cette configuration a été testée par Phil sur un iMac.
La version anglaise de cette doc est disponible à l'adresse : http://www.imaclinux.net


Configuration manuelle de PPP

1.İ Le première étape consiste à créer (ou modifier) divers fichiers résidant dans le répertoire /etc.İ Dans ce qui suit, j'ai choisi un nom plus intéressant que "localhost" pour le nom de ma machine, en l'occurence "imax" ; il convient de remplacer toute occurence d'"imax" avec le nom de hôte que vous choisissez pour votre machine.

Nous allons également compléter le nom de machine avec un nom de domaine, ce qui entrera en vigueur lorsque la connection ppp s'établit ; le nom de domaine sera logiquement celui de votre prestataire de service internet.İ Le mien est wanadoo.fr, le votre risque d'être différent (libertysurf.fr, lycos.fr, etc...).

Voici le fichiers à configurer (en tant qu'utilisateur root) :

a) /etc/hosts.deny devrait avoir la ligne

ALL: ALL

tandis que /etc/hosts.allow paraît comme

ALL: LOCAL

b) Le nom de la machine est configurée soit dans /etc/HOSTNAME, soit dans /etc/sysconfig/network, selon votre distribution de Linux.
Dans le premier cas, /etc/HOSTNAME contient la seule ligne

imax.wanadoo.fr

Dans le deuxième cas, /etc/sysconfig/network paraît comme

NETWORKING=no
FORWARD_IPV4=true
GATEWAYDEV=
GATEWAY=
HOSTNAME=imax.wanadoo.fr

en remplaçant, bien entendu, "imax.wanadoo.fr" avec votre nom de machine + nom de domaine.
Faites attention à la ligne "NETWORKING=no" qui correspond à une machine en configuration autonome (sans connection à un réseau local) ; mettez en revanche "NETWORKING=yes" si vous êtes sur un réseau local. (L'absence de cette ligne peut entraîner des difficultés de demarrage.)

c)İ Vient ensuite le fichier /etc/resolv.conf :

search wanadoo.fr
nameserver 193.252.19.3
nameserver 193.252.19.4

La première ligne ajoute un nom de domaine aux noms "nons qualifiés" ; si je tape "telnet perso" depuis un terminal, le système cherchera "perso" ainsi que "perso.wanadoo.fr" sur le web. Si vous changez la première ligne en "search ." (avec le point), alors "telnet perso" cherchera "perso" tel quel. Il convient également de changer les adresses pour les serveurs de nom à ceux que votre prestataire de service internet vous aurez fournis. Mettez les adresses des serveurs de nom une par ligne, comme dans l'exemple ci-dessus.

d) Le fichier /etc/hosts peut être configuré commme suit :

127.0.0.1İİİİ localhostİİİİİ loopback
0.0.0.0İİİİİİ imaxİİİİİİİİİİ imax.wanadoo.fr

La première ligne est standard (et peut-être déjà configurée avec votre distribution). La deuxième ligne donne à votre machine une identité une fois que votre connection est activée ; remplacez-la bien sûr avec votre nom de machine.İ (Si vous êtes déjà sur un réseau local, d'autres lignes risquent d'être déjà présentes dans ce fichier, comme

192.168.10.2İ imaxİİİİİİİİİİ imax.wanadoo.fr

à titre d'exemple.İ Ceci ne pose aucun problème).
İ
e) Enfin, le fichier /etc/mailname contient la ligne :

wanadoo.fr

que vous remplacerez avec votre nom de domaine.

Remarque : Certaines informations ci-dessus peuvent être remplies avec l'utilitaire netcfg qui fait partie des distributions de Linux compatible avec RedHat.

2. Nous passons maintenant à ppp et ses fichiers correspondants.

a) Bien qu'on puisse lancer ppp avec une ligne de command (par exemple, en tapant "pppup" comme nous allons le faire), il est souvent préférable de chercher une interface graphique permettant de lancer votre connexion internet avec une clique de souris. Si vous utilisez KDE, vous avez déjà kppp ; pour WindowMaker il existe wmppp, pour Afterstep il y a asmodem, et ainsi de suite. Les programmes à suivre sont adaptés depuis wmppp mais sont assez génériques. Une fois fonctionnel, le processus de connexion peut être piloté par un programme graphique.

b) Créons maintenant les programmes "pppup" (pour activer la connexion) et "pppdown" (pour fermer la connextion), dans le répertoire /usr/local/bin ; voici les miens :

[imax]$ more /usr/local/bin/pppup
#!/bin/sh
/usr/sbin/pppd connect '/usr/sbin/chat -v -f /etc/ppp/chatscript'
[imax]$ more /usr/local/bin/pppdown
#!/bin/bash
DEVICE=ppp0
if [ -r /var/run/$DEVICE.pid ]; then
İİİİİİİİ kill -INT `cat /var/run/$DEVICE.pid`
İİİİİİİİ if [ ! "$?" = "0" ]; then
İİİİİİİİİİİİİİİİ rm -f /var/run/$DEVICE.pid
İİİİİİİİİİİİİİİİ echo >/dev/console "ERROR: Removed stale pid file"
İİİİİİİİİİİİİİİİ exit 1
İİİİİİİİ fi
İİİİİİİİ echo >/dev/console "PPP link to $DEVICE terminated."
İİİİİİİİ exit 0
fi
echo >/dev/console "ERROR: PPP link not active on $DEVICE"
exit 1

Ceux-ci devraient avoir 755 comme permissions (executables par tout le monde) :

[root]# chmod 755 /usr/local/bin/pppup
[root]# chmod 755 /usr/local/bin/pppdown

c) Deux dépendances viennent d'entrer en jeux : pppd (le daemon ppp) résidant dans /usr/sbin, et le "chat script" que nous créerons comme /etc/ppp/chatscript, et qui sera lu par le programme /usr/sbin/chat.İ Veillez à ce que pppd et chat puissent être lancés avec les privilèges de root :

[root]# chmod 4755 /usr/sbin/pppd
[root]# chmod 4755 /usr/sbin/chat

Sans cette étape, vous ne pourrez pas ouvrir votre connexion ppp depuis un compte d'utilisateur normal.
Voici le chatscript, qui fonctionne bien avec le modem interne de mon iMac révision C :

[root]# more /etc/ppp/chatscript
ABORT BUSY
ABORT 'NO CARRIER'
ABORT 'RING - NO ANSWER'
REPORT CARRIER
REPORT CONNECT
""
ATZ "OK"
ATDT12345678 CONNECT
"" ogin: "identifiant"
sword: "\qMotDePasse" ""

Il faut, bien entendu, remplacer la chaîne 12345678 avec le numéro de téléphone de votre prestataire de service internet, et remplacer les chaînes identifiant et MotDePasse avec l'identifiant et mot de passe correspondant à votre compte d'accès internet.
(Le \q a pour fonction de cacher votre mot de passe de tout fichier qui enregistre votre activité, par mesure de sécurité).
Ce fichier devrait être crée par root, et pour être sûr que personne (à part root et chat) ne puisse lire votre identifiant et mot de passe, rendez /etc/ppp/chatscript lisible par root exclusivement :

[root]# chmod 600 /etc/ppp/chatscript

La chaîne d'initialisation du modem correspond à la ligne

ATZ "OK"

ce qui marche dans la vaste majorité des cas.İ Si vous désirez plus de finesse sur cette initialisation, vous pouvez remplacer ATZ "OK" avec la ligne

AT&FW2S7=75 "OK"

pour une connexion V.90 (jusqu'à 57,6 koctets/sec).İ Si votre connexion fonctionne mal à ce débit (imputable, par exemple, à une ligne téléphonique de qualité douteuse), vous pouvez réduire le débit de votre connexion à 33,6 koctets/sec (correspondant à une connexion V.34) en utilisant la chaîne d'initialisation suivante :

AT&FW2S7=75+MS=11 "OK"

D'autres possibilités pour la chaîne d'initialisation des modems internes sur des Macs récents se trouvent à http://til.info.apple.com/techinfo.nsf/artnum/n24708 . <

d) Le fichier /etc/ppp/pap-secrets peut être configuré comme suit :

[root]# more pap-secrets
# Secrets for authentication using PAP
# clientİİİİ serverİİİİİ secretİİİİİİİİİİİİİİİİİ IP addresses
yourloginİİİİ *İİİİİİİİİ yourpassword

Remplacez les chaînes "yourlogin" et "yourpassword" avec l'identifiant et le mot de passe correspondant à votre compte d'accès internet.
Ce fichier sera crée par root, avec 600 comme permissions :

[root]# chmod 600 /etc/ppp/pap-secrets

e) Il nous faut enfin le fichier /etc/ppp/options ; le mien paraît comme suit :

[imax]$ more /etc/ppp/options
lock
asyncmap 0
#
# which device, what port/connect speed
#
/dev/modemİ 57600
#
# maximum transfer unit and maximum receive unit.
#
mru 1500
mtu 1500
#
# bsd compression: bsdcom nr,nt
# compress packets on receive and transmit, with maximum code size
# nr and nt bits, respectively (valid range: between 9 and 15).
# Larger values give better compression but consume more kernel memory.
#
bsdcomp 10,10
#
# hardware flow control
#
crtscts
#
# if you want to periodically touch the other end to make
# sure it's still alive, set these options.
#
lcp-echo-interval 20
lcp-echo-failure 3
#
# set ppp link as default route once link comes up.
#
defaultroute

Les différentes options sont expliquées sur la page de référence pour pppd (tapez man pppd ) au cas où vous souhaitez "optimiser" les paramètres ci-dessus.
Vérifiez maintenant que /dev/modem est configuré sur votre machine :

[imax]$ ls -l /dev/modem
lrwxrwxrwxİİ 1 rootİİİİ rootİİİİİİİİİİ 10 Jul 18İ 1999 /dev/modem -> /dev/ttyS0

Si /dev/modem n'existe pas, créez un lien symbolique vers le fichier dispositif correspondant (typiquement /dev/ttyS0 ou /dev/cua0) :

[root]# ln -s /dev/ttyS0 /dev/modem

3) Allez chercher un café (ou un autre boisson de votre préférence...) et faites redemarrer votre machine.
Lancez un émulateur de terminal (xterm, rxvt, Eterm, ou autre), tapez su pour accéder au compte root, puis tapez :

[root]# tail -f /var/log/messages

Puis, avec un deuxième terminal, lancez votre connexion ppp en tapant :

[imax]$ pppup

Le terminal executant "tail -f /var/log/messages" devrait produire des messages similaires à ceux-ci:

Apr 25 17:58:20 imax kernel: registered device ppp0
Apr 25 17:58:20 imax pppd[372]: pppd 2.3.5 started by regalia, uid 500
Apr 25 17:58:21 imax chat[373]: abort on (BUSY)
Apr 25 17:58:21 imax chat[373]: abort on (NO CARRIER)
Apr 25 17:58:21 imax chat[373]: abort on (RING - NO ANSWER)
Apr 25 17:58:21 imax chat[373]: report (CARRIER)
Apr 25 17:58:21 imax chat[373]: report (CONNECT)
Apr 25 17:58:21 imax chat[373]: send (ATZ^M)
Apr 25 17:58:21 imax chat[373]: expect (OK)
Apr 25 17:58:21 imax chat[373]: ATZ^M^M
Apr 25 17:58:21 imax chat[373]: OK
Apr 25 17:58:21 imax chat[373]:İ -- got it
Apr 25 17:58:21 imax chat[373]: send (ATDT12345678^M)
Apr 25 17:58:21 imax chat[373]: expect (CONNECT)
Apr 25 17:58:21 imax chat[373]: ^M
Apr 25 17:58:52 imax chat[373]: ATDT12345678^M^M
Apr 25 17:58:52 imax chat[373]: CONNECT
Apr 25 17:58:52 imax chat[373]:İ -- got it
Apr 25 17:58:52 imax chat[373]: send (^M)
Apr 25 17:58:52 imax chat[373]: expect (ogin:)
Apr 25 17:58:52 imax chat[373]:İ 57600^M
Apr 25 17:58:59 imax chat[373]: TRANSPAC.UQKT2^M
Apr 25 17:58:59 imax chat[373]: ^M
Apr 25 17:58:59 imax chat[373]: ^M
Apr 25 17:58:59 imax chat[373]: Login:
Apr 25 17:58:59 imax chat[373]:İ -- got it
Apr 25 17:58:59 imax chat[373]: send (yourlogin)
Apr 25 17:58:59 imax chat[373]: expect (sword:)
Apr 25 17:58:59 imax chat[373]:İ yourlogin
Apr 25 17:58:59 imax chat[373]: Password:
Apr 25 17:58:59 imax chat[373]:İ -- got it
Apr 25 17:58:59 imax chat[373]: send (??????)
Apr 25 17:58:59 imax pppd[372]: Serial connection established.
Apr 25 17:59:00 imax pppd[372]: Using interface ppp0
Apr 25 17:59:00 imax pppd[372]: Connect: ppp0 <--> /dev/modem
Apr 25 17:59:01 imax pppd[372]: localİ IP address 164.138.102.121
Apr 25 17:59:01 imax pppd[372]: remote IP address 194.250.214.7

Les dernières lignes indiquent que la connexion ppp s'est établie correctement.İ Vous pouvez maintent utiliser ping, telnet, ftp, netscape, etc.
Remarque : Si tail -f /var/log/messages vous donne des lignes comme ceux-ci :

modprobe:İ can't locate module ppp-compress-21
modprobe:İ can't locate module ppp-compress-26
modprobe:İ can't locate module ppp-compress-24

vous n'avez qu'à ajouter les lignes suivantes à votre fichier /etc/conf.modules :

alias ppp-compress-21 bsd_comp
alias ppp-compress-26 ppp_deflate
alias ppp-compress-24 ppp_deflate

(Merci à Stew Benedict pour ces informations ; il faut vérifier, bien sûr, que le modules bsd_compress.o et ppp_deflate.o se trouvent dans le répertoire /lib/modules/2.2.x/net/ où 2.2.x est la version de votre noyau).
Pour fermer votre connexion, il suffit de taper

[imax]$ pppdown

Le terminal executant tail -f /var/log/messages produira des messages qui resemblent à ceux-ci :

Apr 25 17:59:25 imax pppd[372]: Terminating on signal 2.
Apr 25 17:59:25 imax pppd[372]: Connection terminated.
Apr 25 17:59:25 imax pppd[372]: Exit.

et voilà.
Bien entendu, vous pouvez lancer ppp sans lancer "tail -f /var/log/messages" ; cette étape-là permet tout simplement de contrôler le processus de connexion afin de dépister des bogues éventuelles.
İ


 
 
 
Pour ajouter à ce site vos propres expériences et
autres renseignements, écrivez à son Auteur Web