Je vais détailler la manière de configurer une connexion
en mode texte, en dehors de l'environnement graphique. Si vous êtes
vraiment pressés, il y a des moyens éventuellement plus simples
de s'y prendre. Par exemple, avec une RedHat, en suivant le document suivant,
rédigé par Eric Jacoboni et Joël Bernier:
Configurer
une connexion PPP avec l'outil "netcfg" de la RH5
Toutefois, je vous conseille quand même d'essayer la technique
ci-dessous, pour deux raisons:
- Elle est plus "basique" et permet, une fois les choses comprises,
de mieux résoudre les éventuels problèmes.
- C'est une excellente occasion d'apprendre des choses qui vous seront
fort utiles par la suite.
Mais bon, il fonctionne.
Le seul probleme, c'est qu'on ne peut pas encore se connecter !
C'est ce qu'on va faire maintenant, mais il faut repasser sous root.
Inutile de fermer cette fois la session xwindow, il suffit pour l'instant
d'ouvrir une nouvelle fenetre et d'y taper ce qui suit:
[chris@localhost chris]$ su root
Password:
La ligne de commande change et se termine par le # qui indique qu'on a maintenant les droits (et les risques!) de superutilisateur.
Avant de continuer, profitons de ces droits pour "démonter" le CDrom afin de pouvoir ouvrir le tiroir et le ranger, on ne devrait plus en avoir besoin avant un moment:
[root@localhost chris]# mount
/dev/hdc1 on / type ext2 (rw)
/proc on /proc type proc (rw)
/dev/hdc3 on /home type ext2 (rw)
/dev/hdb on /mnt/cdrom type iso9660 (ro)
[root@localhost chris]# umount /mnt/cdrom
[root@localhost chris]# mount
/dev/hdc1 on / type ext2 (rw)
/proc on /proc type proc (rw)
/dev/hdc3 on /home type ext2 (rw)
Nous allons avoir besoin d'un script qui s'appelle PPPquelquechose.
Pour le chercher on va remonter à la racine:
[root@localhost chris]# cd /
puis lancer la commande de recherche:
[root@localhost /]# find -name "*ppp*" -print
(Il existe une commande plus puissante pour faire la même chose,
mais c'est parfois plus compliqué pour un débutant. En quelques
mots:
la commande "updatedb" crée une base de données nommée
"locatedb" qu'on peut ensuite exploiter en faisant dans notre exemple:
locate *ppp*
Pour plus d'info, taper:
man locate)
Linux mouline un instant (En fait, il explore toute l'arborescence,
on a donc bien fait de démonter le CDrom, sinon il aurait cherché
aussi sur le CDrom ! Pour ceux qui souhaitent en savoir plus, "man find"
présente les très nombreuses options de la commande find)
Puis il affiche:
./etc/ppp
./etc/sysconfig/network-scripts/ifdown-ppp
./etc/sysconfig/network-scripts/ifup-ppp
./lib/modules/2.0.32/net/ppp.o
./usr/doc/ppp-2.2.0f
./usr/doc/ppp-2.2.0f/scripts/ppp-off
./usr/doc/ppp-2.2.0f/scripts/ppp-on
./usr/doc/ppp-2.2.0f/scripts/ppp-on-dialer
./usr/lib/perl5/i386-linux/5.00401/linux/if_ppp.ph
./usr/lib/perl5/i386-linux/5.00401/linux/if_pppvar.ph
./usr/lib/perl5/i386-linux/5.00401/linux/isdn_ppp.ph
[...]
Les scripts dont nous avons besoin sont dans
/usr/doc/ppp-2.2.0f/scripts/
(NB: Sur une distribution Slackware, il peuvent se trouver dans un répertoire
différent, mais ce n'est pas grave.
L'important c'est que vous sachiez où ils sont.
Plaçons-nous sur ce répertoire:
[root@localhost doc]# cd /usr/doc/ppp-2.2.0f/scripts
[root@localhost scripts]# ls
README keepalive
ppp-on redialer
callback ppp-off
ppp-on-dialer secure-card
Les trois scripts dont nous avons besoin sont les trois dont les noms
commencent par les lettre "ppp". Il faut les copier dans le
répertoire:
etc/ppp
[root@localhost scripts]# cp ppp* /etc/ppp
Un mot d'explication: Comme avec msdos, l'expression dite "expression
régulière":
ppp*
signifie "tout ce qui commence par les lettres "ppp", suivies de n'importe
quoi".
Allons dans ce répertoire pour voir si les copies y sont bien
arrivées:
[root@localhost scripts]# cd /etc/ppp
[root@localhost ppp]# ls
chap-secrets ip-up
pap-secrets ppp-on
ip-down options
ppp-off ppp-on-dialer
Regardons nos scripts plus en détail:
[root@localhost ppp]# ls -l ppp*
-rw-r--r-- 1 root root
967 oct 9 22:48 ppp-off
-rw-r--r-- 1 root root
1641 oct 9 22:48 ppp-on
-rw-r--r-- 1 root root
397 oct 9 22:48 ppp-on-dialer
Le propriétaire (user) de ces fichiers ne peut pas les exécuter.
C'est dommage !!! Corrigeons ça puis vérifions:
[root@localhost ppp]# chmod u+x ppp*
(ce qui signifie : change mode user: ajouter le droit d'eXécuter
les programmes commençant par "ppp")
[root@localhost ppp]# ls -l ppp*
-rwxr--r-- 1 root root
967 oct 9 22:48 ppp-off
-rwxr--r-- 1 root root
1641 oct 9 22:48 ppp-on
-rwxr--r-- 1 root root
397 oct 9 22:48 ppp-on-dialer
Autre problème: un de ces fichiers contient le password du compte
Internet, et ils sont tous les trois lisibles par tout le monde !
Il faut corriger ça:
[root@localhost ppp]# chmod o-r ppp*
(ce qui signifie change mode pour les autres (others) retirer le droit
de lire (read))
[root@localhost ppp]# ls -l ppp*
-rwxr----- 1 root root
967 oct 9 22:48 ppp-off
-rwxr----- 1 root root
1641 oct 9 22:48 ppp-on
-rwxr----- 1 root root
397 oct 9 22:48 ppp-on-dialer
Pour la suite, il sera plus simple d'avoir une vraie console "root" et pas un simple terminal sous Xwindow:
alt-F3
puis si besoin:
exit
login: root
password: xxxx
cd /etc/ppp
Nous allons modifier le script crucial avec l'éditeur de texte
le plus basique qui soit: "vi"
(Il y a un éditeur de texte beaucoup plus puissant, celui sur
lequel j'écris ces lignes, "EMACS", mais il est aussi beaucoup plus
complexe).
vi ppp-on
touche d'insertion pour pouvoir ecrire dans le fichier les renseignements
qui concernent votre FAI (Fournisseur d'Acces Internet)
modifier:
no de telephone de votre FAI
account (votre login chez votre FAI)
Password (votre password chez votre FAI)
Verifier dans la derniere ligne que /dev/ttyS0 correspond a votre modem.
Ici, il s'agit d'un modem en com1 (/dev/ttyS0).
S'il était en com2 on pourrait mettre /dev/ttyS1, etc .
/dev/cua0 devrait marcher aussi, mais je n'ai pas essayé.
Pour quitter l'insertion de texte:
<escape>
Puis écrire les modifications et quitter:
:w (return)
:q (return)
Vérifier le résultat par la commande:
cat ppp-on
ou:
less ppp-on
(On quitte less avec la touche "q")
Maintenant, lançons la connexion.
Attention, comme le répertoire "/etc/ppp" n'est pas dans le
"path"de "root"
(si vous ne me croyez pas, tapez: echo $PATH avec les majuscules, car
Linux, comme Unix, fait la différence),
il faut donner l'adresse du script de connexion en entier:
./ppp-on
(Le point signifiant "ce répertoire", comme sous DOS)
ou bien:
etc/ppp/ppp-on
Normalement, le modem compose et accroche.
Verifier:
tail -f /var/log/messages
permet de suivre en détails la connexion.
Normalement, quand celle-ci est établie, on voit son adresse
numérique sur l'Internet.
(sortir de tail par ctl-c)
Inutile d'aller plus loin, on n'a pas encore configuré les DNS
!
Raccrocher par:
./ppp-off
Bien maintenant, le modem fonctionne.
Reste a configurer la connection PPP.
Commencons par verifier que PPP fonctionne en "interne":
[chris@localhost chris]$ ping -c 5 127.0.0.1
PING 127.0.0.1 (127.0.0.1): 56 data bytes
64 bytes from 127.0.0.1: icmp_seq=0 ttl=64 time=0.3 ms
64 bytes from 127.0.0.1: icmp_seq=1 ttl=64 time=0.2 ms
64 bytes from 127.0.0.1: icmp_seq=2 ttl=64 time=0.2 ms
64 bytes from 127.0.0.1: icmp_seq=3 ttl=64 time=0.2 ms
64 bytes from 127.0.0.1: icmp_seq=4 ttl=64 time=0.2 ms
--- 127.0.0.1 ping statistics ---
5 packets transmitted, 5 packets received, 0% packet loss
round-trip min/avg/max = 0.2/0.2/0.3 ms
La résolution de l'adresse interne devrait fonctionner aussi:
[chris@localhost chris]$ ping -c 5 localhost.localdomain
PING localhost (127.0.0.1): 56 data bytes
64 bytes from 127.0.0.1: icmp_seq=0 ttl=64 time=0.2 ms
64 bytes from 127.0.0.1: icmp_seq=1 ttl=64 time=0.2 ms
64 bytes from 127.0.0.1: icmp_seq=2 ttl=64 time=0.2 ms
64 bytes from 127.0.0.1: icmp_seq=3 ttl=64 time=0.2 ms
64 bytes from 127.0.0.1: icmp_seq=4 ttl=64 time=0.2 ms
--- localhost ping statistics ---
5 packets transmitted, 5 packets received, 0% packet loss
round-trip min/avg/max = 0.2/0.2/0.2 ms
Pour accéder à l'Internet, il nous faut configurer les
DNS.
Ca se passe dans le fichier:
etc/resolv.conf
donc:
cd /etc
puis vi resolv.conf
Il faut rajouter (pour l'utilisation de vi, cf supra) les lignes:
nameserver 194.117.200.10
nameserver 194.117.200.15
ATTENTION: Les numéros IP ci-dessus sont ceux des DNS de MON
fournisseur d'accès, il faut mettre les VOTRES !
Par ailleurs, ces numéros sont précédés
d'une tabulation. Je ne sais pas si c'est important, mais je vous le dis.
Normalement, tout devrait fonctionner maintenant:
/etc/ppp/ppp-on
tail -f /var/log/messages
ctl-c après l'affichage des adresses Internet.
ping -c 5 www.linux.com devrait vous donner une réponse
Si oui, c'est que vous êtes connectés à l'Internet
!
Revenons à la session Xwindow que nous avions laissée
ouverte:
alt-F7
puis surfons un peu avec Netscape, ça devrait fonctionner.
Pour couper la connexion, revenons à la console "root":
alt-ctl-F3
puis:
/etc/ppp/ppp-off