Page suivante Page précédente Table des matières

6. Différents environements - Sur la route

6.1 HOWTOS concernées

  1. Security-HOWTO
  2. Multiboot-with-LILO-mini-HOWTO
  3. Ethernet-HOWTO
  4. NET-3-HOWTO
  5. Offline-Mailing-mini-HOWTO
  6. Plip-mini-HOWTO
  7. Slip-PPP-Emulator-mini-HOWTO

6.2 Utilitaires de configuration.

NetEnv

Utilisez vous votre portable dans différents environements réseau? à la maison? Au bureau? Chez un client?.

Si oui le petit package "netenv" devrait vous être utile. Lorsque vous démarrez votre portable il vous présente une interface simple à partir de laquelle vous choisisez votre environement réseau. La première fois que vous êtes dans un nouvel environement, vous pouvez entrer les données de base et les sauvegarder pour une utilisation ultérieure.

Netenv configure un fichier contenant des variables qui décrivent l'environemet actuel. Ceci peut être utilisé par le schéma de configuration PCMCIA, par exemple, celui de Debian/GNU Linux et peut être d'autres distributions.

Les données de netenv peuvent etre utilisées pour des choses telles que:

  1. Périphériques réseau : configurez l'adaptateur réseau pour différents environements.
  2. Choisissez le bon XF86Config : envisagez l'utilisation de votre portable avec sa dalle tactile et l'utilisation avec un moniteur et une souris externe. Par exemple une souris avec roue peut etre utilisee lorsque la machine est connectée à sa station d'accueuil, mais le pilote n'est pas compatible avec une dalle tactile ou un trackpoint.
  3. Windowmanager : Vous pouvez configurer votre windowmanager en fonction de l'endroit où vous utilisez votre machine.
  4. Environement d'impression : les données de netenv peuvent être facilement utilisées pour configurer l'environement d'impression.

Netenv est disponible en tant que package Debian/GNU Linux ainsi qu'en tant que tarball. Il dépend de dialog(1) pour le système de menus, et est développé par Gerd Bavendiek [email protected] you may get it at http://www.uni-bielefeld.de/~portgym/net/netenv.html .

Mobile IP

Mobile IP permet à un ordinateur portable d'accéder à Internet à partir de différents réseaux sans changer son adresse IP.

Resources

  1. Linux Mobile-IP
  2. Linux Mobile IP from HP Labs Bristol by Manuel Rodríguez
  3. MosquitoNet Mobile IP
  4. Mobile IP at NUS
  5. Linux Mobile-IP
  6. Bay Area Research Wireless Access Network (BARWAN)

Sources: Kenneth E. Harker et Dag Brattli

DHCP/BootP

DHCP et BootP sont aussi utiles pour travailler dans différents environemnts. Référez vous au DHCP-HOWTO et BootP-HOWTO.

Options PPPD

La commande pppd peut être configurée via plusieurs fichiers : pppd file /etc/ppp/<your_options> .

/etc/init.d

Vous pouvez aussi choisir de faire votre configuration en éditant les fichiers /etc/init.d manuellement.

PCMCIA - Scheme

Comment puis-je avoir des réglages pour mes périphériques PCMCIA différents à la maison et au travail ? Ceci est assez simple en utilisant le support PCMCIA scheme. Utilisez deux schemes de configuration, appelés maison et travail. Pour plus d'informations reportez vous aux chapitres correspondants dans la PCMCIA-HOWTO de David Hinds.

Gestionnaires d'amorçage

LILO

La recommandetion suivante est extraite de http://www.mjedev.demon.co.uk/index.html <Martin J. Evans [email protected]> La première chose à noter est que init va accepter tous les arguments de la forme nom=valeur comme des affectations de variables d'environements si elles ne sont pas reconnues comme quelque chose d'autre. Ceci signifie que vous pouvez affecter les variables d'environement à partir du prompt de LILO avant que vos scripts rc s'éxécutent. Je regle la variable d'environement LOCATION en fonction de l'endroit où je me trouve lorsque je lance Linux. par exemple :


LILO: linux LOCATION=home

Or
LILO: linux LOCATION=work

Où simplement
LILO: linux

où omettre d'affecter LOCATION équivaut à LOCATION=home (c'est à dire par défaut). Au lieu de taper à chaque fois que vous amorcez : LOCATION=place vous pouvez ajouter une entrée dans votre /etc/lilo.conf et utiliser l'instruction append. Exemple :


# partition Linux amorçable pour lancer Linux à la maison
#
image = /vmlinuz
root = /dev/hda3
label = linux
read-only
# fin de la configuration de la partition Linux amorçable
#
# partition linux bootable pour lancer Linux au travail 
#
image = /vmlinuz
root = /dev/hda3
label = work
read-only
append="LOCATION=work"
# fin de la configuration de la partition Linux amorçable

Avec l'exemple ci dessus vous pouvez utiliser "linux" pour amorcer à la maison et "work" pour amorcer au travail.

Armé de la facilité ci dessus, vous pouvez maintenant éditer les scripts rc apropriés pour tester ENVIRONMENT avant de lancer ifconfig, de configurer route etc...

Autres gestionnaires d'amorçage.

Il existe plusieurs autres gestionnaires d'amorçages qui sont souvent survolés. En dehors de LILO, vous pouvez regarder loadlin, CHooseOS (CHOS) (non GPL), GRand Unified Bootloader (GRUB), System Commander et aller faire un saut à ftp://metalab.unc.edu/pub/Linux/system/boot/loaders/. Les gestionaires d'amorçage de NT ou d'OS/2 peuvent être aussi utilisés.

X-Window

De Steve <[email protected]> j'ai une configuration pour X window avec le support d'un moniteur externe : Remarquez que j'utilise une petite astuce ! Pour mon bel écran de 17" je démarre X window sans options et j'ai l'affichage par défaut de 1152x864 en 16 bits, mais lorsque j'utilise mon écran LCD, je spécifie un affichage sur 15 bits (startx -- -bpp 15) et j'ai automatiquement la bonne résolution de 800x600. Ceci m'épargne d'avoir deux fichiers de configuration XConfig.

E-Mail

Une courte introduction sur la configuration du mail sur un portable utilisé à la maison (dial-up) et au travail (ethernet) par Peter Englmaier <[email protected]>:

Fonctionalités :

En tant qu'utilisateur de portable, j'ai des besoins spécifiques pour la configuration de mon mail. La configuration décrite ci dessous, me permet de :

La configuration est basée sur sendmail, fetchmail, et un compte remote pop pour le mail.

Configuration de sendmail

Ceci est la partie la plus complexe. Une fois que j'ai installé le package sendmail-cf, j'ai créé un fichier appelé /usr/lib/sendmail-cf/laptop.mc :


divert(-1)
include(`../m4/cf.m4')
define(`confDEF_USER_ID',''8:12'')
define(`confBIND_OPTS',`-DNSRCH -DEFNAMES')
define(`confDOMAIN_NAME',''pa.uky.edu'')   <---- ici vous
définissez votre domaine.
OSTYPE(`linux')
undefine(`UUCP_RELAY')
undefine(`BITNET_RELAY')
define(`SMART_HOST',`server1.pa.uky.edu')  <---- là nous
envoyons le mail sortant
define(`LUSER_RELAY',`server1.pa.uky.edu') <---- là nous
envoyons le mail aux utilisateurs inconnus de mon portable
MASQUERADE_AS(pa.uky.edu)                  <---- ici encore
le domaine sous lequel nous voulons être vus.
FEATURE(allmasquerade)
FEATURE(nouucp)
FEATURE(nodns)
FEATURE(nocanonify)
FEATURE(redirect)
FEATURE(always_add_domain)
FEATURE(use_cw_file)
FEATURE(local_procmail)
MAILER(procmail)
MAILER(smtp)
HACK(check_mail3,`hash -a@JUNK /etc/mail/deny')
HACK(use_ip,`/etc/mail/ip_allow')
HACK(use_names,`/etc/mail/name_allow')
HACK(use_relayto,`/etc/mail/relay_allow')
HACK(check_rcpt4)
HACK(check_relay3)

Ceci a l'air plus complexe que ça ne l'est réellement. Tout ce qu'il fait c'est de rediriger la sortie vers le serveur1 (SMART_HOST) et aussi le mail pour les utilisateurs locaux qui sont inconnus (LUSER_RELAY). De cette façon je peut écrire à mes collègues sans utiliser leur adresse complète. Plus important la ligne From, dans mon mail pointe vers mon domaine MASQUARADE_AS et non directement vers mon portable. Si ce n'était pas le cas, le mail retourné avec le boutton reply, ne me parviendrait pas. Vous devez redémarrer sendmail pour que les changements prennent effet. Note : cette configuration est donnée pour la RedHat 5.2. Il se peut que vous ayez à changer certains détails. Maintenant, tout se dont nous avons besoin est de générer le fichier /etc/sendmail.cf file m4 laptop.mc > /etc/sendmail.cf et d'ajouter tous les noms de domaines possibles auquel mon portable doit répondre dans /etc/sendmail.cw :


# sendmail.cw - incluez tous les alias pour vos machines ici.
laptop
laptop.pa.uky.edu
128.17.18.30
guest1
guest1.somewhere.org

Il est important d'avoir tous les alias dans ce fichier, autrement sendmail n'acceptera pas le mail (et répondra we don't relay à l'expéditeur). Finalement, vous devez maintenant tester la configuration en envoyant du mail, en répondant à du mail et ce pour toutes les configurations. Toute erreur de configuration peut se traduire par la perte de mail.

Configuration de fetchmail pour portable.

Une des méthodes permettant d'obtenir le mail dans la machine, est par l'intermédiaire de fetchmail, Fetchmail vérifie périodiquement la présence de mail sur un ou plusieurs serveurs distants. J'utilise le fichier de configuration suivant (dans mon répertoire home) : fetchmailrc


set postmaster "myusername"
set daemon 900
poll pop.uky.edu with proto POP3
      user "mypopusername" there with password "mypoppassword" is mylaptopusername here

Fetchamil ira juste récupérer le mail et l'enverra à sendmail qui, a son tour le mettra dans le fichier /var/spool/mail/$USER.

Faire suivre le mail au portable.

Sur ma station de travail j'ai le fichier .forward suivant :


[email protected],me@server1

Ici server1 est la machine où j'ai ma mailbox. Tout le mail est envoyé vers le compte pop pour etre relevé plus tard par mon portable (par fetchmail). Mais, lorsque mon portable est connecté via ethernet, Je veux que mon mail lui parvienne directement au lieu de passer par pop :


me@laptop,me@server1

Dans les deux cas, une copie de mon mail est envoyée à server1 (où je eput aussi le lire, au cas où j'oublie mon portable). Je garde/stocke tout mon mail dans le portable.

L'aiguillage est réalisé par trois scripts et une entrée dans la crontab (sur la station de travail).

forward_pop


#!/bin/sh
echo "[email protected],me@server1" > ${HOME}/.forward

forward_laptop


#!/bin/sh
echo "ppe@laptop,ppe@server1" > ${HOME}/.forward
crontab ${HOME}/mycrontab
${HOME}/utl/check_laptop

check_laptop


#!/bin/sh
if /usr/sbin/ping -c 1 laptop  >/dev/null 2>&1 ; then
   :
else
   # redirect mail to pop
   ${HOME}/utl/forward_pop
   sleep 10
   if /usr/sbin/ping -c 1 laptop  >/dev/null 2>&1 ; then
      # retour à la normale
      ${HOME}/utl/forward_laptop
   else
      # désactiver la vérification crontab
      /bin/crontab -l | grep -v check_laptop >${HOME}/tmp/mycrontab.tmp
      /bin/crontab ${HOME}/tmp/mycrontab.tmp
      rm -f ${HOME}/tmp/mycrontab.tmp
   fi
fi

mycrontab


# mycrontab
0,10,20,30,40,50 * * * * ${HOME}/utl/check_laptop

Chaque fois que je raccorde le portable au réseau ethernet, je dois entrer la commande forward_laptop, et chaque fois que je me déconnecte du réseau je dois entrer forward_pop. Au cas où j'oublie de lancer forwrad_popup, l'entrée dans la crontab s'en charge à ma place moins de 10 minutes plus tard. Pour automatiser tout celà, je change les scripts réseau de mon portable de la façon suivante :

/sbin/ifdown (ce script est lancé à chaque fois qu'un périphérique réseau est arrêté, nouveau truc entre BEGIN et END).


...
fi

# BEGIN nouveau truc
# arrête le forwarding du mail
mail ppe <<EOF
turning off forwarding email
device = ${DEVICE}
hostname = `hostname`
EOF
if [ "${DEVICE}" = "eth0" -a "`hostname`"
= "laptop" ]; then
  su -lc "ssh -l myusername server1
utl/forward_pop" myusername >& /dev/null
fi
# END nouveau truc

ifconfig ${DEVICE} down
exec /etc/sysconfig/network-scripts/ifdown-post $CONFIG

Notez bien que le script vérifie la valeur du hostname. Au cas où je suis relié à un ethernet étranger, mon hostname et mon adresse ip seront quelque chose de différents, par exemple guest1.

/etc/sysconfig/network-scripts/ifup-post (ce script est lancé chaque fois qu'un périphérique réseau est lancé).


# préviens les programmes qui ont demandé à être prévenus
do_netreport

# BEGIN nouveau truc
# vérifie le mail -- j'utilise fetchmail pour ça.
if [ "${DEVICE}" = "eth0" -o "${DEVICE}"
= "ppp0" ]; then
   su -lc fetchmail myusername >& /dev/null &
fi

# ajuste l'horloge si l'on est relié à l'ethernet, redirige le mail.
if [ "${DEVICE}" = "eth0" -a dquot;`hostname`" = "zaphod" ]; then
   ( rdate -s server1 ; hwclock --systohc --utc ) >& /dev/null &
   # forwarde le mail
   su -lc "ssh -l myusername gradj utl/forward_laptop" myusername >& /dev/null &
fi
# END nouveau truc.

exit 0

Traiter le mail entrant avec procmail

Cette étape est complètement optionelle. La configuration de sendmail décrite ci dessous appelle procmail pour chaque mail reçu, mais vous pourriez avoir applé procmail en utilisant le fichier .forward (référez vous à la page man de procmail). Procmail est un outil pratique pour bloquer le spam et trier le mail entrant.

Vous devez avoir configuré un fichier .procmailrc pour pouvoir utiliser procmail. Voyez la page man pour procmail, procmailrc et procmailex (exemples). Ma configuration illustre comment ignorer certains mails et comment diviser les collections de mail en pièces :


# -- filtrage du mail -- procmail est appelé par sendmail --
PATH=/bin:/usr/bin
MAILDIR=$HOME/Mail
LOGFILE=$MAILDIR/from
# gardez à l'esprit :
# utiliser ":0:" lorsque l'on écrit dans un fichier
# utiliser ":0"  lorsque l'on écrit dans un device :
ex /dev/null ou lors de l'envoi de mail

# - md'abord faire une copie de *tout* le mail entrant (mais
ignorer le mail étiqueté ci dessous) -
:0 c:
*! ^Sissa-Repro
backup

# - garder seulement les 50 derniers messages
:0 ic
| cd backup && rm -f dummy `ls -t msg.* | sed -e 1,50d`

# - effacer le mail provenant de la liste des 'postdocs' lorsque 
# cela ne présente aucun intérêt.
:0
* ^From.*postdocs
* ^From.*Ernst Richter
/dev/null
:0
* ^From.*postdocs
* ^Subject.*card charge
/dev/null

# Eclater la mailing list du préimpression sissa serveur en mails individuels.
# - ceci est un peu complexe :(   je peut aller a travers la liste 
beaucoup 
#   plus vite et ignorer les préimpression qui ont des titres
inintéressants. Au lieu d'avoir à
#   naviguer à travers toute la liste mon mailer va juste me présenter
#   une liste de papiers
# 1. répartis en messages individuels.
:0
* ^From [email protected]
| formail +1 -de -A "Sissa-Repro: true" -s procmail

# 2. reformater un peu les messages
# 2.1. extract 'Title:' from email-Body and add to email-header
as 'Subject:'
:0 b
* ^Sissa-Repro
*! ^Subject
TITLE=| formail -xTitle:
:0 a
|formail -A "Subject: $TITLE " -s procmail

# 2.2. stocker dans mon folder mail entrant. Ici nous pouvons
#      aussi rejeter (et par conséquent effacer) les 'Subjects' inintéressants. 
#      nous aurions pu aussi marquer les sujets plus intéressants
comme urgents ou en envoyer une copie
#      à notre mail box habituelle
:0:
* ^Sissa-Repro
* ^Subject
*! ^replaced with
sissa

BTW, there is a tk GUI tool to configure procmail (I think it is called dotfiles).

Plus d'Info

Using a Laptop in Different Environments par Gerd Bavendiek . Cet article a été publié dans le numéro d'aout 1997 de la Linux Gazette. C'est un excellent article court et technique décrivant un façon facile de configurer votre portable Linux pour amorcer dans différents environements réseaux et d'impression. cet article est extremement utile pour ceux qui utilisent leur machine à la maison aussi bien qu'au bureau, à l'école ou chez un client.

6.3 Transport de données entre différentes machines.

Je n'ai pour l'instant pas d'expérience avec ce sujet. Seulement une revue de quelques moyens de tarnsporter des données et de maintenir leur consistance entre différentes machines.

Matériel

  1. Disque dur externe
  2. Lecteur ZIP

Wade Hampton a écrit : " Vous pouvez utiliser des ZIPs formatés MS-DOS ou des disquettes pour transférer des données. Vous pouvez aussi utiliser un LS120 . Si vous êtes en SCSI, vous pouvez utiliser JAZ, MO ou aussi DVD-RAM (tout disque SCSI inscriptible) J'ai le ZIP interne de mon Toshiba 700CT. Il fonctionne très bien (J'utilise automount pour le monter). K'utilise la VFAT pour mes disque ZIP ainsi je peut les mettre sur mes machines Windows, Linux, NT, les donner à des collègues, etc. Un problème : je dois faire un shutdown pour pouvoir échanger le CD interne et le ZIP."

Logiciel

Source Code Control System (SCCS)

A l'heure actuelle je n'ai pas eu le temps de vérifier un système SCCS, tel que RCS ou CVS pour cette utilisation.

Système de fichiers CODA

Le système de fichiers CODA est un descendant du système de fichier Andrew (AFS). Comme AFS, Coda offre un accès transparent à la localisation à un espace de nom Unix partagé qui est mappé sur un ensemble de serveurs de fichiers. Mais coda représente une avancée substantielle par rapport à AFS car il supporte beaucoup mieux les pannes serveur ou de réseau. L'amélioration en disponibilité est réalisé en utilisant les techniques complémentaires de redondance des serveurs et de fonctionnement déconnecté. Le fonctionnement déconnecté est très utile pour les ordinateurs portables http://www.coda.cs.cmu.edu/ .

WWWsync

Il s'agit d'un script perl qui met à jour vos pages web par ftp à partir de vos pages locales. Il a été écrit à l'origine pour la mise à jour des pages Demon, mais il fonctionnera avec d'autres fournisseurs d'accès qui vous donnent un accès direct par FTP à vos pages web. Je ne l'ai pas encore vérifié pour une utilisation sur portable. Vous pouvez trouver le programme à l'adresse : http://www.alfie.demon.co.uk/wwwsync/ .

rsync

rsync est un programme qui permet la copie de fichier de et vers des machines distantes d'un façon assez similaire à rcp. Il offre beaucoup plus d'options que rcp, et il utilise le rsync remote-update protocol pour grandement améliorer la vitesse de transfert des fichiers lorsque le fichier de destination existe déjà. Le protocole rsync remote-update protocol permet à rsync de transférer juste les différences ebtre deuxx jeux de fichiers à travers une liaison réseau.

6.4 Sécurité dans différent environements.

Introduction

Je ne suis pas un expert de la sécurité informatique. Lisez s'il vous plait la Security-HOWTO pour plus d'informations. J'ai juste rassemblé les quelques informations ci dessous. Note, ces moyens ne sont que de petites étapes vers plus de sécurité, bien que je recommande que vous les utilisiez.

Moyens de sécurité.

  1. Verrou Kennsington : Pour autant que je le sache solution propriétaire pour portables http://www.kennsington.com
  2. Carte à puce: par DESKO http://www.desko.de ne sont pas encore disponibles pour linux. Le seul portable disponible avec un lecteur de carte à puce intégré est le Siemens Scenic Mobile 800.
  3. Mots de passe utilisateur : peuvent être facilement contournés si l'indélicat a accès physique à la machine.
  4. Mots de passe du BIOS : sont aussi facilement cassables, bien que parfois plus difficiles qu'avec les machines de bureau.
  5. Plaques d'identité : pour diminuer la possibilité de vol, vous pouvez désirer faire réaliser une plaque d'identité et la faire fixer sur le boitier de votre portable. Une belle plaque vous coutera dans les $12, et peut être réalisé par tout magasin de médailles et trophés. Ils le colleront aussi pour vous. Vous pouvez aussi utiliser de l'adhésif double face mais la colle est plus durable. Vous pouvez même faire graver le boitier de votre machine.
  6. Gestionnaire d'amorçage: un gestionnaire d'amorçage peut être utilisé pour afficher votre numéro de téléphone et votre nom (ou tout autre texte à votre convenance) dans la séquence d'amorçage avant le chargement du système d'exploitation. Ceci fournit une étiquette qui ne peut être enlevée en éditant des fichiers ou même en faisant un simple formatage du disque dur.
  7. Politique antivirus : j'ai vu un RPM antivir quelque part. Vérifiez dans le BIOS pour l'option qui empêche l'écriture sur le secteur d'amorce.
  8. Bases de données de portables volés : Juste au cas où, il existe au moins une base de données de portables volés sur le Web, qui est gratuite mais j'en ai perdu l'URL.
  9. Le portable représente en soi un risque pour la sécurité : dans la mesur où un portable peut être facilement utilisé pour rentrer dans un réseau, il semble de bonne politique de demander l'autorisation de l'administrateur système avant de connecter un portable au réseau.
  10. Protocole sécurisé : lorsque vous vous connectez à un serveur distant utilisez toujours un protocole sécurisé.

6.5 Gérer les temps morts (jobs Cron)

Un programme apparenté à cron qui ne fonctionne pas par horaires : anacron (comme "anac(h)ronistic") il s'agit d'un lanceur périodique de commande. Il lance les commandes à intervalles spécifiées en jours. Contrairement à cron, il ne suppose pas que le système tourne constament. Il peut donc être utilisé pour controler l'exécutions de tâches journalières, hebdomadaires ou mensuelles. (ou tout ce qui a une périodicité de n jours), sur des systèmes qui ne tournent pas 24 heures par jours. Lorsqu'il est bien installé et configuré, anacron s'assurera que les commandes sont exécutées aux intervalles spécifiés en accord avec l'uptime de la machine.

hc-cron Ce programme est une version modifiée du daemon très utilisé de Paul Vixie <[email protected]> cron. Tout comme le programme original il lance les jobs spécifiés à intervalles périodiques. Seulement, crond présupose que l'ordinateur fonctionne continuellement, sinon les taches ne seront pas exécutées. Ce problème est adressé par hc-cron, qui est destiné à être utilisé sur des ordinateurs domestiques qui sont typiquement éteinds plusieurs fois par jour; hc-cron se souviendra de l'heure où il a été arrêté et lancera les taches qui auraient dûes avoir lieu pendant son extinction dès qu'il sera relancé. Felix Braun <[email protected]> est l'auteur de ce programme qui est disponible à http://metalab.unc.edu /pub/Linux/system/daemons/cron .

6.6 Réduction du bruit.

En raison de la prolifération des téléphones cellulaires et des walkmans il n'est pas si rare de nos jours de veiller à la tranquilité de l'environement. Je vais donc donner quelques recomadation pour ceux qui sont polis.

Vous pouvez configurer vi avec l'option flash, ainsi il utilisera un flash en cas d'erreurs à la place d'un bip. When starting your laptop with PCMCIA-CS configured correctly, this will be shown by two high beeps. Currently I don't no way to avoid this.

Pour au moins une série de portables, les Toshibas, il semble qu'il y ait un package Linux pour controller le ventilateur et d'autres fonctions.


Page suivante Page précédente Table des matières