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

4. Hack 2 : Garder votre système connecté et accessible 24h/24 et 7j/7 (méthode 2)

par Michael Driscoll fenris@lightspeed.net

Tout d'abord lisez les notes à propos de ce hack dans le chapitre 2.

4.1 Ce dont vous avez besoin

Pas grand chose. Une configuration PPP qui marche. Un cron qui marche.

4.2 Mise en place du script keepalive.sh

En utilisant crontab

(note : Cette section sera probablement mieux avec diald, voir la section suivante)

cron est un daemon qui lance des programmes à intervalles réguliers. Vous pouvez regarder votre crontab en exécutant "crontab -e". Nous utiliserons crontab pour lancer le programme shell qui gardera la connection PPP.

Lancez "crontab -e" en tant que root et ajoutez la ligne suivante :

#*/2 * * * * /etc/ppp/keepalive.sh

Ce que cela fait est de lancer le script /etc/ppp/keepalive.sh toutes les deux minutes. (Le # met l'entrée en commentaire pour qu'elle ne soit pas exécutée tant que le script n'est pas prêt).

Puis mettez le script suivant appelé keepalive.sh dans le répertoire /etc/ppp :


#!/bin/sh
if [ -f /var/run/ppp0.pid ] ; then
 ping -c8 -l3 <your nameserver> 2>&1 | grep "0 packets" > /dev/null && \
 { /usr/sbin/ppp-off > /dev/null 2>&1 ; sleep 2 ; /usr/sbin/pppd }
else
 /usr/sbin/pppd
fi

Maintenant tapez chmod 700 /etc/ppp/keepalive.sh en tant que root pour qu'il soit exécutable.

Conseil 1 :

Vérifiez les chemins ! Pour pppd et ppp-off insérez ce que vous utilisez pour lancer et arrêter les connections.

Conseil 2 :

J'utilise le serveur de DNS de votre FAI car s'il est en panne, votre connection à Internet est hors service de toute façon :-)

Conseil 3 :

Utilisez l'adresse IP numérique de votre serveur de DNS, sinon, ping renvoie un message diffèrent et le grep ne marchera pas.

Maintenant, quand vous voulez rester connecté, vous avez juste à lancer crontab -e et enlever le "#" pour décommenter l'entrée... et quand vous voulez rester déconnecter, relancez crontab -e et remettez le "#", puis arrêtez votre connection avec ppp-off ou ce que vous utilisez.

Utilisation diald à la place du cron

par Divya Mahajan vmahajan@giasdl01.vsnl.net.in

L'entrée crontab que nous venons de faire peut aussi être faite (et probablement plus élégamment) par d'autres programmes, tel diald. Cette section explique comment utiliser tt/diald/ pour cette utilisation, vous devriez peut être décider d'utiliser cette manière. J'ai laissé la section avec le crontab pour référence et parce qu'il ne nécessite aucun package, mais vous voudrez peut-être utiliser diald à la place.

  1. Récupérer la dernière version de diald (cela ne devrais pas être loin de sunsite.unc.edu/pub/Linux/system/Network/serial/)
  2. Compilez le tout. (Vous trouverez peut être une version compilée de diald sur un site de la Slackware)
  3. Après avoir installé diald, vous aurez à modifier /etc/diald.conf, ajoutez les lignes suivantes à la fin du fichier :


> restrict 06:00 19:00 * * *
> up
   (Ceci forcera à rester connecté entre 6 heures et 19 heures tous les jours.
    Si vous voulez rester 24h/24 et 7j/7, supprimez le restrict.)
> device /dev/modem
   (utilisez le bon périphérique...)
> dynamic
> reroute
> connect-timeout 120
   (Modifiez cela si votre composeur prends plus ou moins de temps pour se
    connecter à votre FAI.)
> redial-timeout 10
   (Intervalle entre 2 recomposition du numéro)
> defaultroute
> accounting-log /var/adm/diald.log
   (Garde une trace de la durée de vos connections)
>connect /path_to_myscript
   (Quand vous utilisez un script pour vous connecter mettez le sur la ligne
    ci dessus. Quand diald appelée ce script, les entrées et sorties standard
    sont redirigées vers le périphérique (le modem) donc, vérifiez que le
    script n'imprime pas de bêtises. J'utilise personnellement "/usr/sbin/dip
    mydipfile.dip >> /var/adm/dip.log 2> /var/adm/dip.err" qui enregistre les
    tentatives de connections. Au départ, vous exécuterez peut-être dip avec
    l'option "-v" pour mettre au point le fichier dip, par exemple : #dip -v
    mydipfile.dip. N'oubliez pas de mettre la ligne "mode ppp" après que vous
    soyez connectés et que vous ayez lancé les services PPP de votre FAI
    (utilisez dip-3.3.7n-uri). D'autre part, enregistrez tous les paramètres
    PPP dans /etc/ppp/options plutôt que de faire confiance à la ligne de
    commande. Dès que votre fichier dip est au point est prêt, il est temps de
    l'utiliser. Lancez diald /usr/sbin/diald, si tout s'est bien passé, il
    devrait commencer à se connecter à votre FAI. Quand la liaison PPP est
    close à cause d'un problème de modem, diald réessayera automatiquement.
    Dès que vous pensez que c'est au point, ajoutez /usr/sbin/diald dans votre
    /etc/rc.d/rc.local)

Ça y est, vous avez une connection permanente.

diald est aussi très bon pour bien d'autres choses, allez jeter un coup d'oeil sur la page de diald www.dna.lth.se/~erics/diald.html pour quelques exemples.


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