Bonjour Eric,

Eric Leblond wrote:

> J'ai un probl�me pour configurer un portable:
> Il y a quatre possiblit�s:
>       portable connect� � un r�pplicator de ports avec carte 3com
>       carte pcmcia ( 2 adresses IP diff�rentes suivant le lieu)
>       connexion ppp � lamaison par le modem de la carte PCMCIA.
>       
> On a essay� netenv, mais dans le r�plicateur de port c'est toujours la
> carte pcmcia qui est prise et pas la 3com.
> 
> Y a-t-il une solution pour au boot choisir sa config?

J'ai une solution presque parfaite pour toi, mais dans une autre
direction, je ne choisi rien au boot, tout est automatique et je ne
reboot pas mon portable :-)  La seul contrainte est qu'il faille retirer
la carte PCMCIA du socket lors qu'elle n'est pas utilis�.

J'utilise les paquets suivants dnrd, masqmail et wwwoffle l�g�rement
modifi�s.

ii  dnrd           2.8-2.1        Proxy DNS daemon
ii  masqmail       0.1.4-0        A mailer for hosts without permanent interne
ii  wwwoffle       2.5e-2.1       World Wide Web OFFline Explorer

Le principe est le suivant, pour PPP tu ajoutes dans le fichier
/etc/ppp/peers/provider la ligne `ipparam Provider' ainsi, lors de
l'ex�cutions des scripts /etc/ppp/ip-up.d et /etc/ppp/ip-down.d la
variable $PPP_IPPARAM aura le nom de ton contexte r�seau.  Il faut
v�rifier �galement que l'option `usepeerdns' est activ�e dans le fichier
/etc/ppp/options.

Pour PCMCIA, tu ajoutes dans /etc/pcmcia/networks.opt les lignes suivantes:

    export_env () { export SCHEME DEVICE DNSSRVS DNS_1 DNS_2 DNS_3; }
    start_fn () { export_env; run-parts /etc/pcmcia/ip-up.d; }
    stop_fn () { export_env; run-parts /etc/pcmcia/ip-down.d; }

Et tu configureras chaque lieu dans le `case "$ADDRESS" in' par
`Provider,*,*,*)'.

C'est la variable $SCHEME qui aura le nom de ton contexte r�seau et qui
sera utilis�e par les scripts /etc/pcmcia/ip-{up,down}.d.  Tu pourras
changer dynamiquement le scheme par `cardclt scheme Provider'.  C'est ce
que tu devras faire lorsque tu changes de lieu.

Il te faudra cr�er les r�pertoires /etc/pcmcia/ip-{up,down}.d et
utiliser les scripts modifi�es pour dnrd, masqmail et wwwoffle attach�s
(� copier �galement dans /etc/ppp/ip-up.d et /etc/ppp/ip-down.d).  Pour
wwwoffle, il te faudra �galement le script wwwoffle-config.pl qui n'est
pas dans le paquet wwwoffle mais dans le r�pertoire contrib des sources.
Je te l'attache au cas o�.

Maintenant, la configuration de chaque �l�ment suivant le contexte
r�seau.

. dnrd: Tu n'as rien � faire sauf configurer pour PCMCIA dans le
  fichiers /etc/pcmcia/network.opt la variable DSN_1 comme tu as d�ja d�
  le faire.  PPP se d�brouille tout seul gr�ce � l'option `usepeerdns'.

. wwwoffle: Chaque ligne qui doit �tre active pour une configuration
  donn�e doit �tre en commentaire et pr�c�d�e de la ligne '#//+Provider'
  dans le fichier /etc/wwwoffle/wwwoffle.conf.main.  Personnellement, je
  ne change que la section Proxy.  Attention, le fichier de configuration
  /etc/wwwoffle/wwwoffle.conf est r�g�n�r� � chaque fois.

. masqmail: Pour chaque contexte r�seau, il faudra que tu ajoutes un
  ligne de la forme suivante pour chaque Provider dans le fichier
  /etc/masqmail.conf:

    connect_route.Provider = "/etc/masqmail/Provider.route"

  Si ta machine re�oit directement des mails, il te faudra aussi changer
  la d�finition de listen_addresses par:

    listen_addresses="0.0.0.0:25"

  Ensuite, chaque fichier /etc/masqmail/Provider.route se limitera �:

    allowed_mail_locals = "egp"
    mail_host = "smtpserver.orsay.quadratec.fr"
    map_return_path_addresses = "egp: <[EMAIL PROTECTED]>"

  sauf que tu changeras les valeurs par les tiennes :-)


Voil� pour ce qui fonctionne comme des roulettes (en slink et potato).
Pour ton probl�me de r�plicateur, je n'ai pas encore eu le cas � g�rer.
Mais voici comment je traiterais le probl�me:

Si tu peux plugger � chaud le r�plicateur, il faudrait voir si le noyau
re�oit un �veinement quelconque dans le m�me esprit que pour les cartes
PCMCIA.  Mais comme je n'ai pas de r�ponse, il faudra utiliser une autre
technique qui sera sp�cifique � la potato.

Je placerais la magie dans le fichier /etc/network/interface en ayant
retirer la carte PCMCIA.

        iface eth0 inet static
            pre-up /etc/network/replicator.sh check
            up /etc/network/replicator.sh start
            down /etc/network/replicator.sh check
            down /etc/network/replicator.sh stop
            address ...
            ...

Le script replicator.sh serait l� pour d�tecter la pr�sence du
r�plicateur par exemple en recherchent une entr�e particuli�re sur le
bus PCI ou autre (check) et les options start et stop placeraient les
variables d'environnement idoine avant de lancer les scripts dans les
r�pertoires /etc/pcmcia/ip-{up,down}.d comme pour une carte PCMCIA.

        #!/bin/sh

        export SCHEME=Replicator
        export DEVICE=eth0
        export DNS_1=<le-dns-pour-le-replicator>

        case "$1" in
            check)
                    lspci | grep -vq '3Com'
                    ;;
            start)
                    run-parts /etc/pcmcia/ip-up.d
                    true
                    ;;
            stop)
                    run-parts /etc/pcmcia/ip-down.d
                    true
        esac

Si tu ne reboot pas ta machine apr�s l'avoir connecter au r�plicateur, tu
devras utiliser les commandes `ifup eth0' (et `ifdown eth0' pour lorsque
tu la retire du r�plicateur).

Voil�, c'�tait du direct live :-)

Informes nous si cela fonctionne.
-- 
Edouard G. Parmelan
http://egp.free.fr

Attachment: lap-cfg.tar.gz
Description: Binary data

Répondre à