Pierre Gambarotto wrote:
> J'ai un portable sous potato, que je trimballe de la maison au boulot
> (admirez la rime, c'est involontaire :-)
>
> Forcement, les config reseau sont differentes d'un lieu a l'autre.
> Comment peut-on gerer cela ? Y'a-t-il un outil adequat ?
> Je precise que mon interface reseau est de type pcmcia (donc fichier
> de config dans /etc/pcmcia/network.opts).
>
> Je suppose que je ne suis pas le premier a avoir ce genre de
> problemes, aussi n'hesitez pas a envoyer des pointeurs, je sais lire
> :-)
Tout d'abord d�sol� pour la r�ponse tardive, d�m�nagement, travaux et
bras cass� ne font pas bon m�nage. Du haut de ma main gauche je me suis
repench� sur ce probl�me que j'exposais d�ja fin janvier. Aujourd'hui, je
pense avoir atteint le Nirvana de la gestion ``multi-contexte r�seau''
sur la m�me machine _sans_ reboot. Mon probl�me est l�g�rement
diff�rent du tiens cas j'ai une config PCMCIA et une config PPP mais il
n'y a pas de probl�me � g�rer plusieurs config PCMCIA via le SCHEME
cargctl(8) et plusieurs config PPP via l'option ipparam dans ton fichier
provider.
Voici le squelette d'un network.opt avec plusieurs schemes:
start_fn () { run-part /etc/pcmcia/ip-up.d }
stop_fn () { run-part /etc/pcmcia/ip-down.d }
case "$ADDRESS" in
Home,*,*,*) ... ;;
Office,*,*,*) ... ;;
esac
Voici mes r�sultats:
0. Pr�requis pour la package PCMCIA
Pour fonctionner avec PPP, de nombreux packages (exim, dnrd, masqmail,
wwwoffle) ajoutent un script de d�marrage dans /etc/ppp/ip-up.d et un
script d'arr�t dans /etc/ppp/ip-down.d. Je me suis inspir� de ce
m�canisme pour PCMCIA et j'ai cr�� les r�pertoires /etc/pcmcia/ip-up.d
et /etc/pcmcia/ip-down.d. J'ai alors configur� start_fn() et stop_fn()
dans network.opts de la mani�re suivante:
start_fn () { run-part /etc/pcmcia/ip-up.d }
stop_fn () { run-part /etc/pcmcia/ip-down.d }
Je suis en discution avec le maintainer de PCMCIA et nous allons
demander une modification de la Debian Policy pour avoir les r�pertoires
/etc/ip-up.d et /etc/ip-down.d commun pour tous les services � d�marrer
ou arr�ter lorsque le r�seau est up ou down. Mais c'est une autre histoire...
1. La R�solution des noms (DNS)
Tu dois savoir que le ou les serveurs DNS sont configur�s dans le
fichier /etc/resolv.conf, le module PCMCIA ajoute les lignes qui vont
bien suivant le $SCHEME (cardctl scheme foo) que tu as choisi. Mais que
ce passe-t-il pour les d�mons lanc�s _avant_ les changements ? Rien car
la libc cache ces informations d�s la premi�re lecture du fichier. Pour
contourner ce probl�me, il faut faire tourner un DNS local. Ton fichier
/etc/resolv.conf peu alors se r�duire � la seule ligne
nameserver 127.0.0.1
Je te conseils alors dnrd comme serveur DNS. Il n'est peut-�tre que
dans unstable mais il se compile tr�s bien sur ma slink. J'y ai ajout�
deux scripts /etc/pcmcia/ip-up.d/0dnrd et /etc/pcmcia/ip-down.d/9dnrd
(ils sont d�ja envoy� au maintainer du package).
Pour une configuration PPP, il faut que tu ajoutes l'option `usepeerdns'
dans /etc/ppp/options. Attention, cette option n'est disponible qu'�
partir de ppp-3.2.7.
Voici mes scripts ip-up.d et ip-down.d, ils fonctionnent � la fois pour
PPP et pour PCMCIA.
ip-up.d:
#!/bin/sh
# Exit if package was removed but not purged.
test -x /usr/sbin/dnrd || exit 0
if [ -n "$PPP_IFACE" ]; then
DEVICE="$PPP_IFACE"
# Comment the following lines if you does no want to use
automatically
# assigned DNS servers.
# Note: You have to run the ppp/ippp daemon with the option
# "ms-get-dns" in order to use this feature.
# Since version 2.3.7 of ppp daemon, option "usepeername"
# set environment variables $DNS1 and $DNS2
dns_list="$DNS1 $DNS2 $MS_DNS1 $MS_DNS2"
else
dns_list="$DNSSRVS $DNS_1 $DNS_2 $DNS_3"
fi
case "$DEVICE" in
#ippp0) dnrd -s 123.45.67.89 ;;
*)
DNS=
for ns in $dns_list ; do
DNS="$DNS -s $ns"
done
if [ -n "$DNS" ]; then
/usr/sbin/dnrd $DNS
fi
;;
esac
ip-down.d:
#!/bin/sh
# Exit if package was removed but not purged.
test -x /usr/sbin/dnrd || exit 0
/usr/sbin/dnrd
2. La Messagerie
Pour la messagerie, j'utilise MasqMail-0.1.1 (� ma connaissance, tu as
dans unstable le package masqmail-0.0.12-2) auquel j'ai aussi ajout� les
scripts ip-up.d et ip-down.d pour pcmcia. C'est un MTA tr�s facile �
configurer et qui sait r��crire les lignes `From:' et `MAIL FROM:'
suivant la configuration online utilis�e. Pour ma part, je ne laisse
changer que le return-path pour �tre averti des erreurs. Depuis la
version 0.1.0, tu peux �galement r�cup�rer tes mails d'un ou plusieurs
serveurs POP de mani�re automatique.
3. Le WEB
Pour surfer offline, tu dois connaitre wwwoffle. J'y ai ajout� un
changement dynamique de la configuration Proxy (et les script ip-up.d et
ip-down.d pour pcmcia). C'est tout frais, je n'ai pas encore fait de
diff :-)
4. les NEWS
J'utilise tr�s peu les news, je n'ai donc pas encore de solution � ce
sujet :-(
Je vais faire �voluer mon site web d'ici la fin de la semaine, j'y
mettrais les packages pour slink et les diffs qui vont bien.
Voil�, voil�. J'esp�re que �a t'aide.
--
Edouard G. Parmelan
http://egp.free.fr