Neufbox4 : rendre visible son adresse IP dynamique

Introduction

J'ai déjà écrit un document indiquant comment rendre visible son IP dynamique. Ce document donne comme exemple un fournisseur de ddns (dynamic dns) qui n'est plus d'actualité aujourd'hui puisqu'il a subitement cessé son service, ou voudrait le faire payer. De plus, appliquer la méthode à un autre fournisseur n'est pas facilement faisable sur une neufbox parce que les menus ne présentent pas d'autre choix.

Mais comme une neufbox peut être modifiée et adaptée aux besoins de son utilisateur (voir le site Modifier et personnaliser sa Neuf Box 4 ), on va le faire tout simplement.

Bien que ce document soit orienté neufbox4, le principe reste utilisable à condition d'avoir une box ouverte et n'avoir qu'un seul fournisseur de ddns.

Principe

Dans la neufbox, le service ddns est fournit par l'utilitaire yaddns. Il surveille, en permanence, l'adresse ip de l'interface ppp0 et dès qu'il y a un changement, envoie un message de mise à jour au serveur ddns. Cet utilitaire, bien qu'ayant un fichier de configuration, a le nom du serveur de ddns, cablé en dur dans le code. Si on veut changer, il faut donc modifier le code et recompiler, après avoir trouvé un serveur de remplacement.

Les menus de l'interface Web de la box sont aussi à modifier, car actuellement ils ne présentent que des sous domaines qui ne sont plus utilisables. Mais pour cela, ce ne sont que des fichiers textes à modifier /www/fcgiroot/wui/lng/fr/2_2.hdf ou si vous préférez en anglais /www/fcgiroot/wui/lng/en/2_2.hdf.

Rechercher un fournisseur du service "dynamic dns"

Avant de commencer, il faut se trouver un fournisseur du service dynamic dns. Cette page fournit une liste et celle-ci une autre.

Noter que certains ne fonctionnent pas:

www.dnsdynamic.org

Mon choix s'est arrêté sur www.dynu.com. On s'inscrit, en évitant de mettre des caractères accentués dans votre nom ou prénom. On rentre le nom de la machine à la quelle l'ip va être affecté, on récupère son username qui est créé automatiquement.

Les Modifications

La modification consiste à changer le nom du serveur dans le fichier src/services/dyndns.c. Puis à recompiler en Mips (pour la neufbox).

< //#define DYNDNS_HOST "members.dyndns.org"
< #define DYNDNS_HOST "api.dynu.com"
---
> #define DYNDNS_HOST "members.dyndns.org"

La modification des fichiers 2_2.hdf consiste à remplacer un des domaines de la liste par le domaine choisi chez votre fornisseur.

diff fs/www/fcgiroot/wui/lng/fr/2_2.hdf hqfiles/www/fcgiroot/wui/lng/fr/2_2.hdf
37c37
< Env.Var.ddns_service.Value.dyndns = dyndns.org
---
> Env.Var.ddns_service.Value.dyndns = dynu.com
49c49
< Env.Text.dyndns_hostname_list.ath_cx = ath.cx
---
> Env.Text.dyndns_hostname_list.ath_cx = dynu.net

On peut alors recréer son firmware et reflasher sa box. Pour les détails, voir Modifier et personnaliser sa Neuf Box 4.

Activation du client sur la box

Il suffit de remplir les champs avec les nouveaux paramètres

écran dynamic dns

La configuration est terminée en cliquant sur Valider.

Pour vérifier le fonctionnement, exécuter la commande host:

[hq@olix]$ host olix.dynu.net
olix.dynu.net has address 81.20.211.101

Download

Voici les sources modifiés de yaddns. Le paquet contient aussi un binaire Mips.