OVH Cloud OVH Cloud

Reconnection adsl

4 réponses
Avatar
Eric SIBERT
Bonjour,

Sous SME 6.0, je n'arrive pas à configurer la reconnection automatique
de mon modem ADSL USB (sagem fast8000).

J'ai pris le script classique de détection/reconnection que j'ai mis
dans /usr/local/bin/:

#!/bin/sh
# By Baz (Merci à toi )

# Check IPs from ifconfig
getip()
{
IP=`/sbin/ifconfig ppp0 | fgrep "inet ad" | cut -f2 -d":" | cut -f1 -d" "`
}

# Check if ppp0 is up; if it is not, restart the connection.
getip
if ! [ "$IP" ]; then
/etc/rc.d/init.d/pppoa restart &
exit
fi

Je l'ai saisi manuellement sinon cron ne l'exécute pas.

J'ai configurer cron pour qu'il ml'appelle toute les minutes.
/var/log/cron montre que cron déclenche bien l'action.

Dans le script ci-dessus, j'ai rajouté la ligne
echo $(date)" : Test de la connection" >> /var/log/adsl
avant #Check
/var/log/adsl me montre que le script est bien exécuté. Sauf que quand
je suis arrivé chez moi, la connection avait sauté et pas de restart.
Pourtant ifconfig ppp0 me disait bien qu'il n'y avait plus de ppp0.

Si j'exécute le script à la main, j'ai un message d'erreur :
[/sbin/ifconfig ppp0 | fgrep "inet ad" | cut -f2 -d":" | cut -f1 -d" "]:
Aucun fichier ou répertoire de ce type.
Mais dans ce cas, il relance bien la connection.

Je nage un peu dans tout ça. Si vous avez des idées pour faire
redémarrer l'adsl quand la liaison est perdue.


Eric

4 réponses

Avatar
LiNuCe
Je nage un peu dans tout ça. Si vous avez des idées pour faire
redémarrer l'adsl quand la liaison est perdue.


# man pppd
(...)
persist
Do not exit after a connection is terminated;
instead try to reopen the connection.
(...)

En résumé, tu dois rajouer l'option "persist" dans ton fichier
/etc/ppp/options ou dans un des fichiers /etc/ppp/peers/* correspondant
à ta connection : PPPD se reconnectera automatiquement dès que la
connection est coupée.

Tu peux aussi utiliser conjointement l'option "maxfail N" pour que
PPPD arrête de tenter de se connecter après N tentatives infructueuses
afin d'éviter de flooder les équipements de ton fournisseur d'accès.
Pour ma part, j'utiliser "maxfail 5", la valeur par défaut de 10 me
paraissant un peu trop grande.

--
LiNuCe

Avatar
Eric SIBERT
Et en plus, le "persist", ça marche. Je n'ai toujours pas compris
pourquoi mon script ne fonctionnait pas. Mais comme ta solution
fonctionne et est plus simple, je l'adopte.

Pour le maxfail, comme je veux me faire un serveur (web entre autre) à
domicile, il faut que ça se reconnecte systématiquement et alors tampis
pour le fai :)))

Eric
Avatar
Eric SIBERT
Finalement, le 'persist', ça ne marche pas à tout les coups. Après 72h
continues, ça n'a pas reconnecté à la coupure des 24h. Une idée pour que
ma connection reprenne à tous les coups?
En fait, à regarder de plus près, je pense qu'il y avait un problème
avec le FAI car le débit a commencé à devenir chaotique avant la
déconnection. Je pense qu'ensuite il y a eu tentative de reconnection
mais qu'on est arrivé à maxfail (). Pour le moment, j'ai pris
l'option (bourin?) de maxfail 0 (=infini). Vous en pensez quoi?

Eric
Avatar
LiNuCe
Finalement, le 'persist', ça ne marche pas à tout les coups. Après 72h
continues, ça n'a pas reconnecté à la coupure des 24h. Une idée pour que
ma connection reprenne à tous les coups?

En fait, à regarder de plus près, je pense qu'il y avait un problème
avec le FAI car le débit a commencé à devenir chaotique avant la
déconnection. Je pense qu'ensuite il y a eu tentative de reconnection
mais qu'on est arrivé à maxfail (). Pour le moment, j'ai pris
l'option (bourin?) de maxfail 0 (=infini). Vous en pensez quoi?


Personnellement, avec "maxfail" à 5, je n'ai aucun problème de
reconnection. En fait, si c'est impossible de se reconnecter chez le FAI
car il a un problème, je pense pour ma part qu'il est inutile
d'insister, donc je préfère limiter à 5 tentatives vu que ça n'a jamais
posé de problème.

Par contre, si tu utilises maxfail à 0, tu peux aussi utiliser
l'option "holdoff N" : PPPD attendra N secondes après la déconnection
pour en retenter une nouvelle. Ainsi, avec :

persist
maxfail 5
holdoff 60

PPPD essaiera de se reconnecter 5 fois avec une tentative toutes les
minutes, ce qui est raisonnable. Bref, si tu laisses "maxfail" à 0,
tempère au moins les tentatives de reconnection avec "holdoff".

--
LiNuCe