7. Configuration automatique pour les connexions en dialup

Contenu de cette section

Ce chapitre explique comment j'ai configuré les choses pour que tout se fasse de manière automatique. Le façon dont j'ai procédé peut ne pas vous convenir du tout, mais ça peut quand même vous donner des idées. En outre, j'utilise ppp pour faire du dialup alors que beaucoup utilisent slip ou cslip, c'est pourquoi votre configuration peut être totalement différente de la mienne. Mais le programme dip de slip doit pouvoir faire beaucoup de ces choses pour vous.

Normalement, lorsque je ne suis pas connecté au Net, mon fichier resolv.conf contient simplement la ligne suivante :

domain uio.no

Ca permet d'éviter que la librairie de résolution de nom n'essaye de se connecter à un serveur de noms qui ne peut rien pour moi. Mais lorsque je me connecte, je veux démarrer mon named et avoir un resolv.conf qui ressemble à ceux que nous avons vus plus haut. J'ai résolu ce problème en gardant deux fichiers 'à la' resolv.conf que j'ai appelés resolv.conf.local et resolv.conf.connected. Le dernier ressemble au fichier resolv.conf décrit plus haut dans ce document.

Pour me connecter automatiquement au Net, je lance un script appelé 'ppp-on':


#!/bin/sh
echo calling...
pppd 

pppd possède un fichier appelé options qui lui donne tous les détails nécessaires pour établir la connexion. Une fois que ma connexion ppp est établie, le pppd lance un script appelé ip-up (Tout ceci est décrit dans la page de man de pppd). Voici un extrait de ce script :


#!/bin/sh
interface="$1"
device="$2"
speed="$3"
myip="$4"
upip="$5"
 ...
cp -v /etc/resolv.conf.connected /etc/resolv.conf
 ...
/usr/sbin/named 

C'est ici que je démarre mon named. A la fermeture de la connexion ppp, pppd lance un script appelé ip-down :


#!/bin/sh
cp /etc/resolv.conf.local /etc/resolv.conf
read namedpid </var/run/named.pid
kill $namedpid

De cette manière, les choses sont configurées lors de la connexion et déconfigurées à la déconnexion.

Quelques programmes, je pense en particulier à irc et talk, font un peu trop de suppositions, et pour que l'option dcc d'irc ou talk puissent fonctionner, il faut modifier le fichier hosts. J'insère cette ligne dans mon script ip-up :


 
cp /etc/hosts.ppp /etc/hosts
echo $myip roke >>/etc/hosts

hosts.ppp contient tout simplement


 127.0.0.1 localhost 

C'est la ligne echo qui insère l'adresse IP que j'obtiens pour mon nom d'hôte (roke). Il faut que vous remplaciez roke par le nom sous lequel votre machine se connaît. On peut l'obtenir par la commande hostname.

Il n'est pas très malin de faire tourner named lorsque l'on n'est pas connecté au Net. En effet, named essaye d'envoyer des requêtes sur le Net et, comme il a un grand timeout, il vous faut attendre ce timeout à chaque fois qu'un de vos programmes essaye de résoudre un nom. Si vous utilisez une connexion en dialup, il vous faut démarrer named à la connexion et l'arrêter lors de la déconnexion. J'ai reçu du courrier me disant que le comportement normal n'était pas celui-là, mais je n'ai pas réussi à le faire marcher sans avoir à attendre de longs timeouts. Merci de me mailer tous les détails si vous avez des informations plus précises.

Certaines personnes utilisent une directive forwarders parce qu'elles se trouvent au bout d'une ligne très lente. Si votre fournisseur d'accès a des serveurs de nom aux adresses 1.2.3.4 et 1.2.3.5, vous pouvez insérer la ligne suivante :


 forwarders 1.2.3.4 1.2.3.5 

dans le fichier named.boot. N'oubliez pas, dans ce cas, de laisser le fichier named.cache vide. Ceci vous permettra de diminuer la quantité de trafic IP généré par votre machine, et peut-être accélérer un peu les choses. C'est particulièrement important si vous payez au volume de données transférées. En plus, ça vous évite d'avoir à maintenir un serveur de nom pour faire cache : vous n'avez pas à maintenir à jour un fichier named.cache qui est désormais vide.


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