| 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.
İ
|