[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Script ppp ip-down



Salut,

Julien Valroff a écrit :

Je perds de temps à autre la synchronisation de ma ligne ADSL, et dans
ce cas, il me faut soit débrancher la prise téléphonique, soit
redémarrer le modem pour pouvoir me re-connecter.

J'utilise un modem en mode bridge (le firmware est à jour), et j'ai une
passerelle qui gère la connexion, et je souhaiterais pouvoir redémarrer
mon modem (auquel j'accède par telnet) lorsque la ligne n'est plus
synchronisée.

Pour cela, j'ai créé un script dans /etc/ppp/ip-down.d/ qui va lire les
dernières entrées du log de ppp (/var/log/ppp.log dans mon cas) et
chercher si l'erreur spécifique à mon problème est présente.

Le souci, c'est que ces lignes ne sont pas présentes au moment de la
déconnexion, mais juste après, lors de la tentative de reconnexion.
Il me faut donc utiliser un temporisateur pour que cela fonctionne, mais
je ne trouve pas ça très propre, et cela bloque les autres scripts en
attendant...

Quels autres scripts ? Ceux dans ip-down.d ?
Dans ce cas il suffit de nommer le script de sorte qu'il soit exécuté en dernier, genre "999resetmodem".

J'ai utilisé ip-down pour faire quelque chose du même genre (temporisation + examen du log), ça marchait mais c'est vrai que ce n'est pas terrible. Dans mon cas c'était plus facile parce que le message d'erreur se produisait à la déconnexion. Ma passerelle pouvant gérer plusieurs liaisons PPP simultanées (ADSL + des VPN PPTP), j'avais inclus des vérifications sur les variables $PPPD_PID et $PPP_IPPARAM :

if [ $PPP_IPPARAM == "<fai>" ]
then
  sleep 5s
  if grep -qi "pppd\[${PPPD_PID}\].*<chaine a chercher>" /var/log/<log>
  then
    # action
  fi
fi


Sachant que les scripts ip-up sont lancés *après* l'établissement de la
connexion, ça ne m'aide pas.

Non, effectivement ces scripts ne sont pas faits pour ça.
Détail : les scripts ip-up ne sont pas exécutés quand la liaison PPP est établie mais seulement après le succès de la négociation IPCP, c'est-à-dire une fois IP établi sur la liaison. Idem pour les scripts ipv6-up et la négociation IPV6CP. Liaison PPP établie mais pas d'IP => pas d'exécution de ip-up.

Existe-t-il une option de ppp permettant ce genre de choses ?

As-tu regardé du côté des options init, connect et disconnect de pppd ?



Reply to: