Cerebro Seco

Se faciliter la vie informatique sans sacrifier ses principes!

Aller au contenu | Aller au menu | Aller à la recherche

Suivre l'IP d'un Western Digital MyBook Live

ODT

Dans cette première partie, le moyen de retrouver l'accès à son MBL en-dehors de la maison.

Difficulté: facile. Même si toute fausse manœuvre peut rendre le disque inutilisable, inadyn lui-même n'a pas de dépendances pouvant compromettre le disque.

Mais pourquoi donc? Après tout, Western fournit un logiciel qui s'acquitte très bien de cette tâche, quoique la performance ne soit pas au rendez-vous. Pour deux raisons, la première étant que je voulais un moyen standard d'y accéder, qui ne dépende ni de Mac, ni de Windows, et la seconde, toujours plongé dans la lecture de l'excellent Dragnet Nation, de Julia Angwin, je souhaitais me tenir à distance de tout logiciel aux spécifications fermées.

Comme dans mes précédents posts, je découvrais que le MBL est animé par une distribution Debian minimaliste, il ne restait donc qu'à installer le bon programme pour ce faire. Comme d'hab sous Linux, on sait qu'il « existe une application pour ça », mais pour en trouver le nom, bernique. Enfin, le but n'est pas de lancer un troll en règle, mais bien de parler d'inadyn, le daemon qui permet cette manœuvre. Vrai, il existe un assistant fourni par No-IP, mais je n'ai pas réussi à le compiler correctement, et il n'était pas dans les dépôts Debian sous forme binaire, contrairement à Ubuntu.

Normalement, je ne me laisse pas intimider par quelques librairies manquantes, mais compte tenu de la sensibilité du MBL, j'ai préféré installer un paquet tout prêt et avec peu de dépendances, et surtout, qui soit déjà dans les dépôts.

Là, je dois donner tout le crédit à basos, qui a fait un excellent tuto pas à pas que je ne fais que recopier ici. Il faut bien sûr commencer par rentrer dans l'interface d'administration par SSH, préalablement activée à l'adresse http://mybooklive.local/SSH.

Ensuite, installer inadyn:

# apt-get update
# apt-get install inadyn

Créer le fichier de configuration qui sera lu à chaque démarrage de l'application:

# nano /etc/inadyn.conf
-u <usager> -p <mot_de_passe>
-a <domaine>
--dyndns_system default@no-ip.com 
--update_period_sec 14400   # $((4*3600)) 
--forced_update_period 172800   #$((48*3600)) 
--syslog
--background

Basos préférait vim, mais un peu empoté que je suis, nano est plus facile d'abordage. Fichier de configuration, dis-je, qui se traduit approximativement en langage humain par:

"Pour l'usager, envoyer le mot de passe correspondant pour mettre à jour le domaine chez le fournisseur NO-IP et ce, toutes les quatre heures s'il y a un changement d'adresse, et toutes les 48 heures dans tous les cas. Écrire le résultat dans les logs système, et laisser tourner en arrière-plan"

Mais ce n'est pas tout, il faut un moyen de le faire démarrer automatiquement dès que le disque est branché, donc un script de démarrage, soit la partie que je ne maîtrisais pas du tout:

# nano /etc/rc2.d/S99inadyn
#! /bin/sh
#v1.1
#CONFIG
CMD=/usr/sbin/inadyn
NAME=inadyn

check_status()
{
    PID=`ps uax | grep "$CMD" | grep -v grep | awk '{print $2}'`
    [ -n "$PID" ]
}

#CODE
# . /etc/rc.d/init.d/functions  # uncomment/modify for your killproc
case "$1" in
    start)
        check_status && echo "Already running $NAME" && exit 1
        echo "Starting $NAME."
        nice $CMD >/dev/null&
    ;;
    stop)
        check_status || { echo "Not running $NAME"; exit 1; }
        echo "Shutting down $NAME."
        PID=`ps uax | grep "$CMD" | grep -v grep | awk '{print $2}'`
        [ -n "$PID" ] && kill $PID
    ;;
    status)
        check_status && echo "$NAME active" || echo "$NAME inactive"
    ;;
    *)
        echo "Usage: $0 {start|stop}"
        exit 1
esac
exit 0

Ensuite le rendre exécutable:

# chmod a+x /etc/rc2.d/S99inadyn

Un petit test d'allumage

# /etc/rc2.d/S99inadyn start

Ce qui devrait donner une réponse dans les logs:

# tail /var/log/messages


On vérifie que le daemon tourne toujours:

# /etc/rc2.d/S99inadyn status

Maintenant, à chaque downtime de connexion, la nouvelle IP sera mise à jour dans les quatre heures.

Ajouter un commentaire

Le code HTML est affiché comme du texte et les adresses web sont automatiquement transformées.

La discussion continue ailleurs

URL de rétrolien : https://www.ftp83plus.net/dc/dotclear/index.php?trackback/56

Fil des commentaires de ce billet

Creative Commons License
Cerebro Seco by http://cerebroseco.ftp83plus.net is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Unported License.
Based on a work at http://cerebroseco.ftp83plus.net.