par Michael Driscoll [email protected]
Tout d'abord lisez les notes à propos de ce hack dans le chapitre 2.
Pas grand chose. Une configuration PPP qui marche. Un cron
qui marche.
keepalive.sh
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.
Vérifiez les chemins ! Pour pppd
et ppp-off
insérez ce que vous utilisez pour lancer et arrêter les connections.
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 :-)
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.
diald
à la place du cronpar Divya Mahajan [email protected]
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.
diald
sur un site de la Slackware)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.