Il n'est pas rare qu'un ordinateur isolé ne se connecte pas qu'à un unique réseau. Il est courant de se connecter à différents réseaux ou à l'Internet par le biais de différents FAI. Dans ce cas il peut être agaçant de changer vos fichiers de configuration à chaque fois que vous voulez vous connecter à un aute site.
La solution que je propose ici consiste à utiliser un jeu de plusieurs fichiers de configuration ; un pour chaque connexion. Vous pouvez trouver ici quelques scripts qui permettent d'automatiser le changement de l'un à l'autre.
Si le progamme avec lequel vous lisez votre courrier utilise un Agent de
Transfert de Messages (MTA en anglais) avec un hôte relais smtp
à qui
envoyer tous les messages, ou s'il envoie les messages directement au serveur
smtp
de votre FAI, changer de connexion signifie avoir à reconfigurer cette
option pour le serveur relais smtp
. Cela à cause du fait que les FAI
vérifient en général si la boîte de réception est locale ou bien sur tout domaine qui
leur est directement rattaché ou si l'adresse IP de l'envoyeur appartient bien à
l'intervalle d'adresses IP assigné par ce FAI et ce, dans le but d'éviter d'avoir
un serveur relais ouvert qui puisse être utilisé pour envoyer des spams, des
messages anonymes, etc.
Dans les exemples suivant vous apprendrez comment changer ce paramètre dans les
fichiers de configuration de Smail
en un fichier simple grâce auquel tous
les messages externes seront envoyés à un serveur smtp
relais. Si vous
utilisez un autre MTA sur votre système, vous pouvez m'envoyer les changements
nécessaires pour que je les inclue ici. Si vous utilisez un programme pour
lire votre courrier qui s'adresse directement au serveur smtp
externe
(Kmail, Netscape, etc.), envoyez-moi également vos modifications.
En tout premier lieu vous devez créer un sous-répertoire à /etc/diald
appelé providers
(traduction anglaise de fournisseurs !) où vous
stockerez 1) vos scripts pour passer automatiquement d'un FAI à l'autre, et
2) les sous-répertoires contenant le jeu de fichiers nécessaire à la configuration
de la connexion chez chaque FAI.
Le script suivant crée ce répertoire et y met les fichiers de configuration actuels de Diald, chat, pppd et Smail. Ces derniers seront utilisés comme modèles pour les futures configurations.
#!/bin/sh
#File /etc/diald/providers/setupdialdmultiprovider
mkdir /etc/diald/providers
mkdir /etc/diald/providers/setup
cp /etc/ppp/pap-secrets /etc/diald/providers/setup
cp /etc/ppp/chap-secrets /etc/diald/providers/setup
cp /etc/resolv.conf /etc/diald/providers/setup
cp /etc/diald/diald.options /etc/diald/providers/setup
cp /etc/diald/standard.filter /etc/diald/providers/setup
cp /etc/diald/personal.filter /etc/diald/providers/setup
cp /etc/diald/diald.connect /etc/diald/providers/setup
cp /etc/chatscripts/provider /etc/diald/providers/setup
cp /etc/diald/ip-up /etc/diald/providers/setup
cp /etc/diald/ip-down /etc/diald/providers/setup
cp /etc/smail/routers /etc/diald/providers/setup
Le script suivant vous aidera à copier la configuration qui sert de
modèle vers un nouveau répertoire, pour la modifier dans l'optique d'une nouvelle
connexion à un FAI ou à un réseau. Ce script
(/etc/diald/providers/newdialdprovider/
) prendra comme paramètre le nom
du FAI ou du réseau.
#!/bin/sh
#Fichier /etc/diald/providers/newdialdprovider
mkdir /etc/diald/providers/$1
cp /etc/diald/providers/setup/* /etc/diald/providers/$1
À présent vous pouvez modifier, en fonction de vos besoins, les fichiers
nouvellement créés dans /etc/diald/providers/providername
, tout en
gardant à l'esprit que providername
est le paramètre passé au script
newdialdprovider
.
Pour terminer, ce script vous permettra de changer les fichiers de configuration
de Diald pour pouvoir vous connecter à un autre FAI ou à un autre réseau.
J'utilise des liens symboliques pour éviter d'avoir à dupliquer les fichiers.
L'utilisation de tels liens permet que toute modification d'un fichier
original comme par exemple /etc/resolv.conf
soit reportée dans le
fichier lié, ici /etc/diald/providers/providername/resolv.conf
.
#!/bin/sh
#Fichier /etc/diald/providers/setdialdprovider
/etc/init.d/diald stop
#On attend que Diald s'arrête
sleep 4
ln -sf /etc/diald/providers/$1/pap-secrets /etc/ppp
ln -sf /etc/diald/providers/$1/chap-secrets /etc/ppp
ln -sf /etc/diald/providers/$1/resolv.conf /etc
ln -sf /etc/diald/providers/$1/diald.options /etc/diald
ln -sf /etc/diald/providers/$1/standard.filter /etc/diald
ln -sf /etc/diald/providers/$1/personal.filter /etc/diald
ln -sf /etc/diald/providers/$1/diald.connect /etc/diald
ln -sf /etc/diald/providers/$1/provider /etc/chatscripts
ln -sf /etc/diald/providers/$1/ip-up /etc/diald
ln -sf /etc/diald/providers/$1/ip-down /etc/diald
ln -sf /etc/diald/providers/$1/routers /etc/smail
/etc/init.d/diald start