DynDNS
DynDNS est le système de DNS dynamique de FreeGateway. Il maintient un nom d’hôte associé à un système dont l’adresse IP est attribuée par DHCP et peut changer à tout moment, de sorte que ce système bénéficie de la plupart des avantages d’une adresse IP statique. Il fonctionne avec votre propre serveur DNS faisant autorité PowerDNS, et ses deux démons sont écrits en C++ pour FreeBSD.
Conçu pour Gateway
DynDNS s’adresse principalement à Gateway. Une succursale dont le Gateway obtient son adresse d’un serveur DHCP reste joignable par son nom d’hôte, car l’enregistrement DNS est mis à jour automatiquement chaque fois que l’adresse change.
DynDNS suppose que vous exploitez un serveur FreeBSD qui exécute PowerDNS comme serveur DNS faisant autorité, configuré avec le moteur SQLite3. Si vous n’en avez pas encore, le script powerdns_manager.py de FreeGateway peut mettre en place un serveur DNS faisant autorité PowerDNS reposant sur une base de données SQLite3.
Deux démons
| Démon | S’exécute sur | Rôle |
|---|---|---|
dyn_dns_client | Le système client, dont l’adresse IP est attribuée par DHCP | Envoie périodiquement l’adresse IP actuelle du système au serveur DNS |
powerdns_updater | Le serveur DNS, aux côtés de PowerDNS | Reçoit et vérifie les notifications des clients enregistrés, et met à jour leurs enregistrements de nom d’hôte et d’adresse dans la base de données SQLite3 de PowerDNS |
Fonctionnement
Le client envoie périodiquement au serveur un message contenant son adresse IP actuelle dans une charge utile chiffrée. Le serveur reçoit le message et lui applique une série de tests pour confirmer qu’il est valide. S’il l’est et que l’adresse du client a changé, le serveur met à jour l’enregistrement du client dans la base de données.
Ces messages périodiques servent aussi de signal de présence (heartbeat) : le serveur connaît ainsi en tout temps l’état de chaque client enregistré.
Communications sécurisées
DynDNS utilise une version UDP du canal que Yumei emploie pour ses communications de grappe fondées sur TCP. Il repose sur la bibliothèque cryptographique Sodium et utilise des clés publiques partagées au préalable. DynDNS n’utilise pas TLS et ne dépend pas de Yumei.
Enregistrement et gestion
Les clients sont actuellement enregistrés en ligne de commande, et les démons se gèrent par SSH. L’enregistrement depuis le tableau de bord système, tant sur le Gateway que sur le serveur DNS, est prévu dans une version ultérieure.