14. Configurer une connexion PPP à la main

Contenu de cette section

Maintenant que vous avez créé les fichiers /etc/ppp/options et /etc/resolv.conf (et si besoin le fichier /etc/ppp/pap/chap-secrets), vous pouvez tester les paramètres en établissant une connexion PPP à la main. (Une fois que la connexion manuelle marchera, nous automatiserons le processus).

Pour ce faire, votre programme de communication doit pouvoir être quitté sans réinitialiser le modem. Minicom peut le faire avec Alt-Q (ou dans les versions plus ancienne de minicom CTRL-A Q)

Vérifiez que vous êtes root.

Lancez le programme de communication (minicom par exemple), appelez le serveur PPP et connectez-vous comme d'habitude. Si vous avez besoin d'envoyer une commande pour démarrer PPP sur le serveur, faites-le. Vous devriez maintenant voir les messages que vous aviez déjà vus.

Si vous utilisez PAP ou CHAP, se connecter simplement sur le système distant devrait démarrer PPP et vous devriez voir des caractères s'afficher sans toutefois se connecter (même si ça peut ne pas marcher sur certains serveurs - essayez alors d'appuyer sur Entrée et les caractères devraient s'afficher).

Maintenant quittez le programme de communication sans initialiser le modem (ALT-Q ou CTRL-A Q dans minicom) et au message d'accueil de Linux (étant root) tapez


pppd -d -detach /dev/ttySx 38400 &

L'option -d active le déboguage - la conversation de démarrage de la connexion ppp sera retranscrite dans votre journal système - ce qui est très utile si des problèmes apparaissent.

Les lumières de votre modem devraient alors clignoter puisque la connexion PPP est établie. Cela peut prendre un peu de temps avant que la connexion soit terminée.

A ce niveau, vous pouver afficher l'interface PPP en tapant la commande :


ifconfig

En plus des éventuels périphériques loopback et Ethernet, vous devriez avoir quelque chose qui ressemble à :


ppp0     Link encap:Point-Point Protocol
         inet addr:10.144.153.104  P-t-P:10.144.153.51 Mask:255.255.255.0
         UP POINTOPOINT RUNNING  MTU:552  Metric:1
         RX packets:0 errors:0 dropped:0 overruns:0
         TX packets:0 errors:0 dropped:0 overruns:0

(Naturellement, ifconfig ne renvoie pas ces nombres là, mais ceux qui sont utilisés par le serveur PPP.)

Remarque : ifconfig indique également que votre liaison fonctionne correctement !

Si vous aucun périphérique PPP n'est affiché ou quelque chose du genre


ppp0     Link encap:Point-Point Protocol
         inet addr:0.0.0.0  P-t-P:0.0.0.0  Mask:0.0.0.0
         POINTOPOINT  MTU:1500  Metric:1
         RX packets:0 errors:0 dropped:0 overruns:0
         TX packets:0 errors:0 dropped:0 overruns:0

Votre liaison PPP n'est pas correcte... voir la section suivante sur le débuggage !

Vous devez aussi pouvoir voir une route vers l'hôte distant (et même plus). Pour cela, entrez la commande


route -n

Vous devriez obtenir quelque chose comme :


Kernel routing table
Destination     Gateway         Genmask         Flags MSS    Window Use Iface
10.144.153.3    *               255.255.255.255 UH    1500   0        1 ppp0
127.0.0.0       *               255.0.0.0       U     3584   0       11 lo
10.0.0.0        *               255.0.0.0       U     1500   0       35 eth0
default         10.144.153.3    *               UG    1500   0        5 ppp0

Ce qui est important ici, c'est d'avoir DEUX entrées pointant vers votre interface ppp.

La première est une route d'hôte (indiqué par le drapeau H) et qui permet de voir l'hôte sur lequel vous êtes connecté - mais pas plus.

La seconde est la route par défaut (établie en donnant à pppd l'option defaultroute). C'est cette route qui indique à votre PC Linux d'envoyer tous les paquets qui ne sont pas destinés à vos interfaces Ethernet - vers lesquelles vous avez des routes réseau spécifiques - au serveur PPP lui-même. Le serveur PPP est alors responsable de router vos paquets vers Internet et de vous renvoyer les paquets chez vous.

Si vous ne voyez pas une table de routage avec deux entrées, quelque chose ne marche pas. En particulier si votre syslog contient des messages indiquant que pppd ne remplace pas la route par défaut, vous devez avoir une route par défaut qui pointe sur votre interface Ethernet - qui DOIT être remplacée par une route réseau spécifique : VOUS NE POUVEZ AVOIR QU'UNE SEULE ROUTE PAR DEFAUT !!!

Vous devez explorer vos fichiers d'initialisation de votre système pour trouver où est configuré votre route par défaut (elle doit utiliser la commande route add default...). Changer cette commande par quelque chose du genre route add net ....

Maintenant testez la liaison en 'pingant' le serveur à l'adresse IP affiché par ifconfig, comme suit :


ping 10.144.153.51

Vous devriez obtenir


PING 10.144.153.51 (10.144.153.51): 56 data bytes
64 bytes from 10.144.153.51: icmp_seq=0 ttl=255 time=328.3 ms
64 bytes from 10.144.153.51: icmp_seq=1 ttl=255 time=190.5 ms
64 bytes from 10.144.153.51: icmp_seq=2 ttl=255 time=187.5 ms
64 bytes from 10.144.153.51: icmp_seq=3 ttl=255 time=170.7 ms

Ce listing doit continuer sans jamais s'arrêter - pour le stopper, taper CTRL C, vous recevrez alors des informations complémentaires :


--- 10.144.153.51 ping statistics ---
4 packets transmitted, 4 packets received, 0% packet loss
round-trip min/avg/max = 170.7/219.2/328.3 ms

Jusqu'ici tout va bien, jusqu'ici tout va bien.

Maintenant, essayez de pinger un nom d'hôte (pas le nom du serveur PPP lui-même) mais un hôte d'un autre site dont vous SAVEZ qu'il y a de très fortes chances qu'il marche...). Par exemple


ping sunsite.unc.edu

ou lip6.fr

Dans ce cas, il va y avoir une petite pause le temps que Linux obtienne l'adresse IP du nom de hôte que vous avez 'pingé' par le DNS que vous avez spécifié dans le /etc/resolv.conf - ne vous inquiétez pas (les lumières de votre modem devraient clignoter). Rapidement, vous devriez avoir l'affichage suivant


 PING sunsite.unc.edu (152.2.254.81): 56 data bytes
64 bytes from 152.2.254.81: icmp_seq=0 ttl=254 time=190.1 ms
64 bytes from 152.2.254.81: icmp_seq=1 ttl=254 time=180.6 ms
64 bytes from 152.2.254.81: icmp_seq=2 ttl=254 time=169.8 ms
64 bytes from 152.2.254.81: icmp_seq=3 ttl=254 time=170.6 ms
64 bytes from 152.2.254.81: icmp_seq=4 ttl=254 time=170.6 ms

Là encore, arrêtez le en tapant CTRL C pour obtenir les statistiques...


--- sunsite.unc.edu ping statistics ---
5 packets transmitted, 5 packets received, 0% packet loss
round-trip min/avg/max = 169.8/176.3/190.1 ms

Si vous n'avez pas de réponse, essayer de pinger l'adresse de votre serveur DNS de votre FAI. Si vous n'avez pas de résultat, alors il doit y avoir un problème avec votre /etc/resolv.conf.

Si ça ne fonctionne pas, vous devez avoir un problème de routage, ou votre FAI a un problème à vous renvoyer les paquets. Vérifiez les tables de routages présentées plus haut et si tout est OK, contacter votre FAI. Si cela se trouve après votre FAI, alors le problème est de votre coté.

Si tout marche correctement, fermez la connexion en tapant


ppp-off

Après une courte pause, le modem devrait raccrocher.

Si ça ne marche pas, soit vous éteignez votre modem, soit vous lancez votre programme de communication et vous interrompez votre modem avec +++ puis vous raccrochez avec ATH0 quand vous recevez le message OK de votre modem.

Vous devez également effacer le fichier créé par pppd


rm -f /var/lock/LCK..ttySx


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