HowTo Customize DynDNS.org DynDNS Client ? (FR)

Forum dédié à la distribution du même nom et que vous pourrez télécharger sur http://www.contribs.org. La nouvelle version de cette distribution se nomme SME Server

Modérateur: modos Ixus

HowTo Customize DynDNS.org DynDNS Client ? (FR)

Messagepar Quadrax » 30 Juin 2008 16:27

Bonjour,

J'ai une question qui risque de déplaire... :

Comment faire pour maintenir automatiquement un nom de domaine actif alors que le serveur qui lui est affecté est "en vacances" pour quelques temps mais dont le site est hébergé sur un autre serveur ayant déjà son propre compte DynDNS... ?

J'ai bien trouvé une astuce ici : http://smeserver.fr/astuces.php?astuce=net_dyndns_multi avec : DOMAIN=$4,domain1.dyndns.org,domaine2.dyndns.org dans le fichier /sbin/e-smith/dynamic-dns/dyndns.org mais cela ne me convient pas.


Concrètement :
- Serveur 1 = http://Toto.DynDNS.org (compte gratuit dédié à ce serveur ; Login+PassW = Toto : PToto)
- Serveur 2 = http://Tata.DynDNS.org (compte gratuit dédié à ce serveur ; Login+PassW = Tata : PTata)
...

Problématique :
- Une seule personne ne peut détenir qu'un seul et unique compte DynDNS gratuit.
- Chaque serveur appartient à une personne différente avec Login et PassWord propres à chacunes

Question(s) :
- Comment faire dans le cas présent pour s'identifier avec deux compte totalement indépendants ?
- En lisant le contenu de ce fichier, je pensais procéder de manière analogue avec USERID=$2 et PASSWD=$3 mais j'en doute...
- A en croire cette structure d'affectation des paramètres $1 à $4, je voudrais savoir quand, comment et par "qui" précisément (pas trouvé de "DynDNSd") ce fichier de CONFiguration est-il appelé ?

Bon, je vais tâcher de trouver le temps de me remettre à l'anglais avec ceci : http://www.dyndns.com/support/ (sauf si quelqu'un peut m'aider à accélérer un peu). ;-)

Cordialement,
Quadrax
Quadrax
Major
Major
 
Messages: 71
Inscrit le: 10 Déc 2007 23:11
Localisation: A 14h d'avion de Roissy CDG... (sinon à 15 minutes de Paris en RER)

Messagepar Gaston » 30 Juin 2008 22:08

bsoir,
en faisant crade vite fait sur le gaz
- tu copies le script en qqchse du genre /var/tmp/mydyndns.org.vacances (cp -p ... .... )
- tu vérifies que ce script a bien les droits d'exécution (555)
- tu rajoutes à la fin du script principal de mise à jour de dyndns un appel de ton script
/var/tmp/mydyndns.org.vacances ${IPADDR} Monuser Monpasswd Mondomain

(remplacer Monuser, Monpasswd, Mondomain par les valeurs adéquates ;) )

et ça va rouler :P

sinon pour ta question ce script est appelé par l'action "dns-update" qui est appelé par une tâche de la crontab

G.
Avatar de l’utilisateur
Gaston
Amiral
Amiral
 
Messages: 1367
Inscrit le: 06 Oct 2003 00:00
Localisation: Saint Maur, 94 FR

Messagepar Quadrax » 02 Juil 2008 01:08

Bonsoir Gaston,
Merci pour ta réponse.

Je vais tâcher d'essayer ça dès que je vais trouver 5 minutes mercredi soir.

Par contre, le script à copier, c'est lequel (ou plutôt, "où devrais-je le trouver?" <=> c'est quoi la commande en ligne "rechercher qqch tout partout" ?) ?

Sinon, crontab, se cache où déjà ? (Lors de mon déménagement, j'ai égaré mes notes sur les 'templates' du temps où j'avais bricolé mon "rebooteur" de modem... :oops:)


Au pire, si je merdoie dans les fichiers, je risque seulement de ne plus avoir de mise à jour auto de DynDNS, c'est bien ça ?

Cordialement,
Quadrax
Quadrax
Major
Major
 
Messages: 71
Inscrit le: 10 Déc 2007 23:11
Localisation: A 14h d'avion de Roissy CDG... (sinon à 15 minutes de Paris en RER)

Messagepar Gaston » 02 Juil 2008 22:38

:oops: :oops: :oops: :oops: :oops: :oops: :oops:
bon ben je vais repasser la première alors :?
Quadrax a écrit:Par contre, le script à copier, c'est lequel (ou plutôt, "où devrais-je le trouver?" <=> c'est quoi la commande en ligne "rechercher qqch tout partout" ?) ?
ben t'a pas à le chercher tu l'avais déjà trouvé : /sbin/e-smith/dynamic-dns/dyndns.org mais on va l'oublier à partir de maintenant :shock:
Sinon pour rechercher tout partout voir "man find" et tout plein de chose, le même en rajoutant "xargs" ou alors "egrep -R" ... (je m'arrête sinon je sent que je vais être désagréable :P )

Quadrax a écrit:Sinon, crontab, se cache où déjà ?

A nos bistouris (et un alkaselzer, un ! :roll: ) : la crontab sous SME est gérée via anacron. , lequel a un fichier de conf dans /etc (la bonne blague :lol: ) : anacrontab .
Ce fichier indique entre autre que tous les 7 jours + ou - 70 minutes (enfin chez moi) les scripts contenus dans /etc/cron.weekly seront exécutés, et parmi ces scripts, il y en a un qui nous intéresse plus particulièrement : "refresh-ddns".
Celui-ci lance une "action" (au sens SME), l'action de mise à jours des DNS dynamiques : /etc/e-smith/events/actions/update-dns
A la lecture de celui-ci, on se rends compte que celui-ci appelle un autre script encore plus remarquable (remarqué ?) : /sbin/e-smith/dynamic-dns/dyndns.org (bizarre j'ai l'impression qu'on en a déjà parlé ;) ) avec des paramètres qui ne me semblent pas dénués d'intérrêt dans notre cas :
$ipaddress->value, $account, $password, $domain
n'est-il pas ?

Ben maintenant qu'on a ces infos, on va pouvoir envisager qqchse de moins crade (un petit peu moins, je considère que la demande est ponctuelle et maitrisée) que ce que j'avais indiqué. Le but de l'opération : laisser l'action s'exécuter "as usual" mais aussi générer une action avec des paramètres un petit peu différents pour utiliser le 2eme compte dyndns , le tout sans rien casser :oops:

je te propose de créer un deuxième fichier d'actions et y changer ce qui nous intéresse (on va tirer parti de l'inteeligence pour récupérer l'@IP et ajouter ce qui ne change pas)
Code: Tout sélectionner
cp -p /etc/e-smith/events/actions/update-dns \
/etc/e-smith/events/actions/Quadrax_compte.update-dns
vi /etc/e-smith/events/actions/Quadrax_compte.update-dns ### ou pico , ou mcedit, ...

On remplacera dans cette copie
Code: Tout sélectionner
my $account  = $DynDNS->prop('Account');
my $password  = $DynDNS->prop('Password');
my $domain  = $c->get('DomainName')->value;
par (c'est une config minimale que je propose , hein ...)
Code: Tout sélectionner
my $account  = "Quadrax_dyndns_user";
my $password  = "Quadrax_dyndns_password";
my $domain  = "Quadrax_dyndns_domaine";

Et puis on ajoute notre nouvelle tâche planifiée au système :
Code: Tout sélectionner
cat > /etc/cron.weekly/Quadrax_compte.refresh-ddns <<EOC
#! /bin/bash
exec /etc/e-smith/events/actions/Quadrax_compte.update-dns
EOC
chmod 744 /etc/cron.weekly/Quadrax_compte.refresh-ddns

voilazz maintenant c'est plage time 8)

Bon on peut faire mieux (modifier le script d'action pour prendre gérer des arguments en entrée : si pas d'args, il s'exécute tel que, sinon ben il les utilise !) mais c'était pas mon propos.

Quadrax a écrit:Au pire, si je merdoie dans les fichiers, je risque seulement de ne plus avoir de mise à jour auto de DynDNS, c'est bien ça ?
ben non puisqu'on touche à rien de l'existant

G.
Avatar de l’utilisateur
Gaston
Amiral
Amiral
 
Messages: 1367
Inscrit le: 06 Oct 2003 00:00
Localisation: Saint Maur, 94 FR

Messagepar Quadrax » 03 Juil 2008 01:43

Hello Gaston,

Je tenais à te remercier pour cette description détaillée malgré la fatigue qui absorbe beaucoup ma lucidité.

Bon, finalement, il suffit de créer une nouvelle tâche en vue de son exécution hebdomadaire (cf. /etc/cron.weekly) qui appellera le script /etc/e-smith/events/actions/Quadrax_compte.update-dns basé sur le modèle de /etc/e-smith/events/actions/update-dns mais modifié en conséquence.
OK.
Maintenant, ne manque-t-il pas une étape de configuration/paramétrage liée aux templates ? A moins que l'on risque plus simplement de voir une "action templates" faire disparaître ces modifications. ??


Quelques questions (encore) :

- Je suppose qu'une fois par semaine, c'est suffisant s'il n'y a pas eu de changement d'@IP depuis plus dun'e semaine. Cependant, comment SME s'y prend-t-il en cas de changement soudain suite à une coupure ADSL ?

- D'où proviennent les paramètres $1 à $4 visibles dans le fichier /sbin/e-smith/dynamic-dns/dyndns.org entre autres présents dans le même répertoire ?

Le contenu de /etc/e-smith/events/actions/update-dns laisse apercevoir cette ligne :
exec /sbin/e-smith/dynamic-dns/$service (.....)
où $service est définie plus avant de la sorte :
$service = db_get_prop (\%conf, ‘DynDNS’, ‘Service’) || ‘off’ ;

Autrement dit, il semble y avoir une DataBase de paramètres mise à l'oeuvre. Est-ce que je me trompe ?
Cela dit, je ne vois nulle part dans ce fichier comment 'DynDNS' devient 'DynDNS.org'...

- A quoi peut bien servir le fichier /sbin/e-smith/dynamic-dns/custom.example ? Je veux dire, est-il appelé, traité lui aussi alors qu'il est "vide" ? (dans ce cas, ce serait plus simple encore : créer un fichier spécifique à chaque compte indépendant dans ce répertoire... ) ou bien rien du tout ?

Bon, je vais regarder ça à nouveau mais, à tête reposée, donc demain.

Merci beaucoup pour cette description du mécanisme (bien que j'ai l'impression qu'il me manque encore quelques petites choses à son sujet (cf. un autre fil de discussion concernant l'auto-détection de la perte de liaison ADSL...) mais, déjà ça aide à comprendre ce qui se trame dans l'ombre et les entrailles du serveur. ;-)).

Cordialement,
Quadrax
Quadrax
Major
Major
 
Messages: 71
Inscrit le: 10 Déc 2007 23:11
Localisation: A 14h d'avion de Roissy CDG... (sinon à 15 minutes de Paris en RER)

Messagepar Gaston » 03 Juil 2008 19:04

dslé pas le tps de reprendre en détail les questions :
pas de template
si perte connexion, anacron est là pour ça

mais je dirai fais comme j'ai écrit et si ça marche pas donne les détails : soit il y a ce qu'il faut soit je me suis planté grave et il faut que je prenne le temps de reprendre le fil de mes pensées d'hier soir (c'est pas gagné :? ). Cherche pas dans ce qui est pas écrit qque chose qui pourrait manquer (même si je suis en manque de sommeil)
G.
(sinon pour ton autre poste sur noip: on ne compile pas on ne développe pas sur SME :roll: )
Avatar de l’utilisateur
Gaston
Amiral
Amiral
 
Messages: 1367
Inscrit le: 06 Oct 2003 00:00
Localisation: Saint Maur, 94 FR

Messagepar Quadrax » 06 Juil 2008 12:34

Salut Gaston,

Désolé de n'avoir pas donné signe de vie plus tôt, je suis super affairé ces derniers temps et pas sur Linux malheureusement. :-/ :oops: :-(

Je te remercie pour tes réponses, dès que ja'i à nouveau le temps de m'y remettre je te tiens informé.
;-)

Cordialement,
Quadrax
Quadrax
Major
Major
 
Messages: 71
Inscrit le: 10 Déc 2007 23:11
Localisation: A 14h d'avion de Roissy CDG... (sinon à 15 minutes de Paris en RER)

Messagepar Muzo » 16 Juil 2008 09:16

Bonjour,

Sinon il y'a aussi cette solution à adapter... (SME 5.6 les mecs, ca rajeunit pas ..)
http://www.muzo.fr/nest/contribs/HowTo/ ... s_name.htm

/Muzo
/Muzo
"La vie n'est pas un combat, mais une passion à défendre!" MASS HYSTERIA - Knowledge is power
Avatar de l’utilisateur
Muzo
Amiral
Amiral
 
Messages: 5236
Inscrit le: 07 Mai 2003 00:00
Localisation: BNF! Je me culturise.

Messagepar jibe » 16 Juil 2008 17:38

Salut,

De mémoire (pas relu, désolé !) il me semble que le problème était un peu différent.

En tous cas, je n'ai pas souvenir d'avoir galéré pour adapter ta méthode à SME 7. Donc, si ce n'est dans le détail, au moins dans le principe ton howto est toujours intéressant, Muzo ! :)
"Le monde ne sera pas détruit par ceux qui font le mal, mais par ceux qui les regardent sans rien faire" (Albert Einstein)

Autrefois, l'Etat défendait des valeurs. Maintenant, il défend des profits... (Anne Haunnime)
Avatar de l’utilisateur
jibe
Amiral
Amiral
 
Messages: 4366
Inscrit le: 17 Oct 2003 00:00
Localisation: Haute Savoie

Messagepar Gaston » 19 Juil 2008 00:55

Bonsoir Muzo,
ouaip problème différent : dans un cas un seul user/passwd, plusieurs domaines
dans le cas présent : plusieurs user/passwd, plusieurs domaines (un seul ça serait difficile :lol:)
Dans tous les cas tu avais ouvert la voie, merci

G.
Avatar de l’utilisateur
Gaston
Amiral
Amiral
 
Messages: 1367
Inscrit le: 06 Oct 2003 00:00
Localisation: Saint Maur, 94 FR

Messagepar Muzo » 22 Juil 2008 12:15

Rhaalalalalala

Il y'a juste un fichier à modifier:

Code: Tout sélectionner
#!/bin/sh
# Description: www.dyndns.org (free service)
# mettre ce script en chmod 554
# mettre dans le répertoire /sbin/e-smith/dynamic-dns/

#------------------------------------------------------------
# dyndns.org dynamic DNS update handler.
#------------------------------------------------------------

/sbin/e-smith/dynamic-dns/dyndns.update $IPADDR <USER1> <PASSWD1> <DOMAIN1>
/sbin/e-smith/dynamic-dns/dyndns.update $IPADDR <USER2> <PASSWD2> <DOMAIN2>
/sbin/e-smith/dynamic-dns/dyndns.update $IPADDR <USER3> <PASSWD3> <DOMAIN3>
/sbin/e-smith/dynamic-dns/dyndns.update $IPADDR <USER4> <PASSWD4> <DOMAIN4>
/sbin/e-smith/dynamic-dns/dyndns.update $IPADDR <USER5> <PASSWD5> <DOMAIN5>
etc ......

exit 0


/Muzo
/Muzo
"La vie n'est pas un combat, mais une passion à défendre!" MASS HYSTERIA - Knowledge is power
Avatar de l’utilisateur
Muzo
Amiral
Amiral
 
Messages: 5236
Inscrit le: 07 Mai 2003 00:00
Localisation: BNF! Je me culturise.


Retour vers E-Smith / SME Server

Qui est en ligne ?

Utilisateur(s) parcourant actuellement ce forum : Aucun utilisateur inscrit et 1 invité