Differences

This shows you the differences between two versions of the page.

Link to this comparison view

netbsd:reconnexion_auto_adsl [2010/01/12 13:29] (current)
Line 1: Line 1:
 +Ce script utilise netstat pour voir si des packets entrent sur l'​interface pppoe0.
  
 +Il m'​arrive -c'est rare- que la perte de la connexion ne soit pas détectée par pppoe. D'où ce petit script.
 +
 +Evidemment, cela ne fonctionne que s'il y a un traffic plus ou moins permanent sur pppoe0. Mais c'est toujours le cas chez moi (ntpd, serveurs divers ...). Au pire on peut utiliser des ping réguliers pour créer ce traffic.
 +
 +Le script prend deux paramètres : l'​intervalle de temps entre deux vérifications. Et le temps nécessaire à la reconnexion pppoe (en seconde).
 +
 +Par exemple "​pppoeck 60 30" vérifie toutes les 60 secondes et laisse 30 secondes pour l'​établissement de la connexion.
 +
 +Enfin c'est très facile de l'​adapter pour FreeBSD en regardant tun0 (j'ai parfois des soucis aussi).
 +
 +<​code>​
 +#!/bin/sh
 +# Script de reconnexion automatique pour pppoe0
 +#       ​utilise netstat pour voir s'il y a des packets qui entrent
 +#       sur pppoe0
 +#
 +# Os: NetBSD 1.6.2
 +# licence: euh ?
 +# Patrick Lamaiziere 17/06/05
 +
 +oldipk="​0"​
 +logger="/​usr/​bin/​logger -i -s -t pppoeck"​
 +
 +if [ $# -lt 2 ]
 +then
 +        echo Usage: pppoeck '<​intervalle_de_controle>​ <​temps_de_reconnexion>'​
 +        exit 1
 +fi
 +
 +while :
 +do
 +        /bin/sleep $1
 +        ipk=`/​usr/​bin/​netstat -I pppoe0 | /​usr/​bin/​awk '$3 ~ /<​Link>/​ { print $4; }'`
 +        if [ $ipk -eq $oldipk ]
 +        then
 +                ${logger} "lien mort. redemarrage de pppoe0"​
 +                /​sbin/​ifconfig -m pppoe0 down
 +                /bin/sleep 2
 +                /​sbin/​ifconfig -m pppoe0 up
 +                /bin/sleep $2
 +        fi
 +        oldipk=$ipk
 +done
 +</​code>​
netbsd/reconnexion_auto_adsl.txt · Last modified: 2010/01/12 13:29 (external edit)