Netlibre, un service libre et un nom de domaine gratuit
Le service netlibre
, revu et corrigé
Le service netlibre fournit gratuitement des noms de domaine et une interface simple pour les modifier. Récemment, ce service a été mis à jour.
Vous voulez en savoir plus sur le service ? Vous ĂȘtes dĂ©jĂ bĂ©nĂ©ficiaire du service ou souhaitez le devenir ? Venez lire la suite !
Dans cet article, je vais me focaliser sur le service netlibre
. Lâhistoire, lâancienne version, la nouvelle et le futur du service. Et en bonus, les problĂšmes rencontrĂ©s. Les aspects purement techniques feront lâobjet dâautres articles.
- lien ná” 1 : Le service netlibre
- lien ná” 2 : Le code source de l'interface web
- lien ná” 3 : Le code source du service netlibre
- lien ná” 4 : Le code source du service dâauthentification
Sommaire
Trop Long ; Pas Lu (note aux utilisateurs actuels et pressés)
La nouvelle version de netlibre reprĂ©sente une rĂ©Ă©criture complĂšte du service. Points Ă retenir : bien meilleure stabilitĂ©, les domaines peuvent ĂȘtre gĂ©rĂ©s Ă plusieurs et mĂȘme transfĂ©rĂ©s entre utilisateurs, et bien davantage de vĂ©rifications sont faites sur les entrĂ©es des utilisateurs pour prĂ©venir un maximum dâerreurs.
Pour les utilisateurs actuels : votre compte a Ă©tĂ© migrĂ©. Vous pouvez voir vos domaines depuis la nouvelle interface. Le contenu des zones nâa cependant pas Ă©tĂ© repris (pour des contraintes techniques), il faudra les re-remplir mais je pourrai vous fournir vos zones sur demande.
Pas dâinquiĂ©tude : les zones actuelles sont toujours servies, il nây a pas eu de coupure du service DNS. Tant que vous ne faites pas de modification de votre zone sur lâinterface, lâancienne zone reste servie.
Une adresse email vous est demandée lors de votre connexion, elle est désormais obligatoire. Elle permet la récupération de mot de passe, de vous tenir informé des interruptions (volontaires ou non) du service ainsi que des mises à jour.
Connectez-vous au moins une fois dans les 6 mois. Pour faire du ménage je supprimerai les comptes qui ne se connectent pas au moins une fois dans les 6 mois suivant la publication de cet article.
Présentation du service
Le service netlibre
fournit des noms de domaines (ou noms de SOUS-domaines si vous prĂ©fĂ©rez) gratuitement. Ainsi, nâimporte qui peut se rĂ©server un nom de domaine en « *.netlib.re » ou « *.codelib.re ». Lâadministration du domaine se fait en quelques clics, sans compĂ©tences requises. Ce service est donc utile pour nâimporte qui souhaitant un nom de domaine, Ă titre individuel ou pour une association par exemple.
Il est Ă©galement possible de mettre Ă jour dynamiquement une adresse IP dâun enregistrement. Avoir une adresse IP dynamique nâest donc pas un frein Ă lâutilisation du service ; ce qui est courant pour les connexions Ă Internet chez les particuliers.
Le code source du service est entiĂšrement libre, que ce soit lâinterface, le service dâauthentification ou le service dnsmanager
qui lie lâinterface web au serveur de noms. Tout est libre, sous licence ISC.
Histoire
Cela fait dĂ©sormais plus de 9 ans que le site netlibre permet de rĂ©server et de gĂ©rer des noms de domaines, gratuitement (le service est mĂȘme encore plus vieux que ça, mais câĂ©tait beaucoup plus confidentiel). Un article sur LinuxFr.org avait Ă©tĂ© postĂ©, puis 9 ans se sont Ă©coulĂ©s non sans peine.
Lâobjectif initial Ă©tait de me permettre de gĂ©rer des zones simplement et mettre Ă jour des adresses IP de maniĂšre automatique. De mĂ©moire, selon mes recherches de lâĂ©poque, rien nâexistait en libre pour faire cela ; les outils sâen approchant Ă©taient trop complexes pour la simple gestion dâune zone. Jâai donc dĂ©veloppĂ© un outil permettant de visualiser de maniĂšre claire une zone et de modifier les entrĂ©es comme on pouvait le voir sur des sites professionnels. CâĂ©tait Ă la fois directement utile pour moi, et un petit dĂ©fi technique qui mâintĂ©ressait. Comme cela semblait utile pour dâautres personnes, jâai partagĂ© avec grand enthousiasme mon petit bricolage.
MalgrĂ© lâengouement du dĂ©but, le site a trĂšs peu Ă©voluĂ© par la suite, par manque de temps et dâĂ©nergie. Il remplissait son rĂŽle pour mon usage, donc pendant des annĂ©es je nây ai pas touchĂ© du tout. Quand jâai voulu mây remettre, avec quelques annĂ©es dâexpĂ©rience supplĂ©mentaires, le code me semblait trop bancal pour mây investir davantage. Les problĂšmes rencontrĂ©s demandaient une rĂ©Ă©criture complĂšte. La derniĂšre section de lâarticle donne des dĂ©tails.
netlibre
, câest dĂ©sormais 9 ans, 7000+ utilisateurs et 32 000 zones. Quâon sâentende bien, une bonne partie de ces comptes et de ces zones sont Ă jeter car des robots sont passĂ©s par lĂ . Dâailleurs, le service, avec ses quelques dizaines de milliers de domaines, reste assez modeste. NĂ©anmoins, jâai Ă©tĂ© contactĂ© par de nombreux utilisateurs au fil des annĂ©es. Le site est rĂ©ellement utilisĂ©, et ça, câest Ă la fois une victoire et une vraie surprise.
Lâancienne version
Lâancienne version du site a Ă©tĂ© modifiĂ©e jusquâĂ trĂšs rĂ©cemment (quelques mois) pour corriger de gros problĂšmes, notamment dâinfrastructure. Cette version permettait de sâinscrire, demander des zones et les gĂ©rer (ajout, suppression, modification) avec une interface simple, comme on peut voir sur OVH ou Gandi. Mais elle nâĂ©tait pas finie : impossible de se dĂ©sinscrire ou rĂ©cupĂ©rer son mot de passe, de nombreux enregistrements DNS Ă©taient inaccessibles, etc.
Sauf que voilĂ , lâarchitecture logicielle rend la modification assez dĂ©sagrĂ©able. Jâai donc dĂ©cidĂ© de repartir de 0, avec un meilleur dĂ©coupage du service et des techno adaptĂ©es.
La nouvelle version
Depuis quelques semaines dĂ©jĂ , la nouvelle version est dĂ©sormais en ligne. Les dĂ©tails techniques derriĂšre le service (code, langages, infra, sĂ©curitĂ©, outilsâŠ) feront lâobjet dâautres articles. Dans cette section, je vais parler des changements par rapport Ă lâancien service.
Le partage de domaines est dĂ©sormais possible, ce qui est utile pour des associations. Plusieurs personnes pourront donc possĂ©der le mĂȘme domaine et modifier la zone. Pas dâinquiĂ©tude si un membre de lâassociation nâest pas disponible, vous gardez le contrĂŽle.
Des enregistrements protégés. Certains enregistrements DNS sont désormais en lecture seule pour éviter de supprimer des informations nécessaires au bon fonctionnement des zones. Ainsi, les enregistrements SOA et NS sont maintenant protégés.
De nouveaux enregistrements sont disponibles : SPF, DKIM et DMARC. Comme vous le savez probablement, ce sont des enregistrements qui se traduisent par des entrĂ©es textes (« TXT »). Des interfaces dĂ©diĂ©es sont maintenant disponibles pour Ă©viter une longue lecture de RFC pour savoir comment formater certaines options. Ces enregistrements sont plutĂŽt complexes, donc aider les utilisateurs (mĂȘme expĂ©rimentĂ©s) me semblait nĂ©cessaire.
De mĂȘme, lâenregistrement CAA est dĂ©sormais disponible. NâhĂ©sitez pas Ă me faire des suggestions pour de futurs enregistrements.
Une adresse email est dĂ©sormais nĂ©cessaire. Les utilisateurs peuvent donc enfin rĂ©cupĂ©rer leur mot de passe perdu. Ils seront Ă©galement prĂ©venus dâune panne, dâune mise Ă jour, dâun changement sur le site, etc.
Suppression de compte. Les utilisateurs peuvent dĂ©sormais supprimer leur compte. Cela supprimera lâensemble de leurs domaines (et zones) par la mĂȘme occasion.
Un jeton de mise à jour. Afin de mettre à jour une adresse IP (enregistrement A ou AAAA) pour un serveur avec une IP dynamique, un mécanisme à base de jetons a été implémenté. Ainsi, accéder à une URL telle que https://www.netlib.re/token-update/<jeton>
permet au service netlibre
dâassocier lâadresse IP du client Ă un enregistrement A ou AAAA (pour lequel on a gĂ©nĂ©rĂ© ce jeton).
Par exemple, la zone toto.netlib.re
possĂšde un enregistrement A serveur.toto.netlib.re
. Lâutilisateur gĂ©nĂšre un jeton (ressemblant Ă 65b609fc-4a53-4a58-aae3-9824551a0fa5
) pour cet enregistrement. Enfin, lâutilisateur lance (depuis son serveur) curl https://www.netlib.re/token-update/65b609fc-4a53-4a58-aae3-9824551a0fa5
pour que lâenregistrement serveur.toto.netlib.re
pointe vers son adresse IP.
Je ne pense pas quâil soit possible de faire plus simple. Un simple wget
ou curl
dans un crontab
suffit pour maintenir Ă jour lâadresse de son serveur. Ce mĂ©canisme permet probablement beaucoup moins de choses quâun vrai service DynDNS, mais le cĆur du service est lĂ et sans aucune configuration !
Fin du mode « expert » qui permettait dâĂ©crire soi-mĂȘme le fichier de zone bind9. Entrer soi-mĂȘme le fichier de zone semblait ĂȘtre une bonne idĂ©e, mais cela mĂšne surtout Ă des problĂšmes dâinfrastructure. Pour bien faire, il aurait fallu que les utilisateurs aient accĂšs aux logs pour apprendre de leurs erreurs et corriger leurs zones, sauf que câest inutilement complexe. Le mode « expert » devait pallier quelques lacunes de lâinterface qui ne gĂ©rait quâune petite partie des enregistrements possibles. Maintenant que lâinterface permet de configurer les enregistrements DNS les plus courants, le mode expert perd une grande partie de son intĂ©rĂȘt.
Plein de vérifications supplémentaires pour éviter des erreurs (simples et moins simples). Ces vérifications portent sur les adresses IPv4 et IPv6, les adresses email (grammaire décrite dans la RFC 5322), les noms de domaine et les labels (grammaires décrites dans les RFC), ou encore les options SPF, DKIM et DMARC. Cela est utile à tout le monde, y compris à des administrateurs expérimentés mais inattentifs.
Une interface didactique. Lâinterface se veut agrĂ©able Ă utiliser et rappelle rĂ©guliĂšrement les bases aux novices. Par exemple, pas besoin dâaller chercher des informations complĂ©mentaires dans des RFC pour manipuler du SPF, DKIM ou DMARC. JâespĂšre apporter Ă lâavenir ce niveau dâaide Ă la configuration pour dâautres enregistrements.
Inclusion de netlibre
dans la PSL. Le domaine netlibre
est désormais dans la Public Suffix List, le domaine codelib.re
devrait suivre.
Migration : pourquoi une migration partielle
Comme dĂ©crit en dĂ©but dâarticle, les comptes sont repris dans la nouvelle version du site. Votre identifiant et votre mot de passe sont toujours valides. De mĂȘme, les zones sont toujours servies, il nây a pas eu de coupure de service. En revanche, les zones nâont pas Ă©tĂ© traduites dans la nouvelle interface, vous les verrez donc vierges. La raison est simple : le temps et lâĂ©nergie. Traduire des zones Bind9 (dans un format non trivial et parfois pleines dâerreurs) est assez long et peu engageant.
Maintenant que le service a Ă©tĂ© migrĂ©, vos domaines sont toujours prĂ©sents et vous sont toujours rĂ©servĂ©s. Lâancien contenu des zones peut vous ĂȘtre envoyĂ© pour vous aider Ă les reconfigurer sur la nouvelle interface, si câest rĂ©ellement nĂ©cessaire pour vous.
Le futur
Dans cette section je parlerai de propositions dâĂ©volution pour le service, mais rien nâest gravĂ© dans le marbre. Jâai par ailleurs encore du travail Ă faire sur cette nouvelle version. Tout ce qui est prĂ©sentĂ© ici viendra aprĂšs ce quâil me reste Ă faire, câest-Ă -dire de nombreuses vĂ©rifications cĂŽtĂ© serveur (y compris de la surveillance de lâinfra et autres joyeusetĂ©s inhĂ©rentes au dĂ©veloppement de services en ligne) et une bonne pause bien mĂ©ritĂ©e !
Traduire lâapplication. Contrairement Ă lâancienne version, le site est dĂ©sormais en anglais, pour diverses raisons. Jâaimerais donc y apporter une traduction en Français, puis dâautres langues si des gens veulent bien sây atteler.
GĂ©rer vos zones. netlibre
pourrait permettre de gĂ©rer des zones venant dâailleurs. Par exemple, vous possĂ©dez « toto.fr » et vous souhaitez utiliser lâinterface de gestion de netlibre
. Lâinterface a Ă©tĂ© pensĂ©e pour ĂȘtre agrĂ©able Ă utiliser, ce serait dommage de ne pas en profiter pour dâautres domaines.
DĂ©lĂ©guer des zones. Ă lâinverse, il serait Ă©galement intĂ©ressant de permettre la dĂ©lĂ©gation des zones netlibre
. Cela reviendrait Ă prendre un nom de domaine de chez netlib.re sans utiliser lâinterface de gestion.
Ouverture dâune API. La crĂ©ation de comptes, la rĂ©servation de noms de domaines et la modification de zones pourraient ĂȘtre automatisĂ©es. Cela pourrait ĂȘtre utile par exemple Ă une association qui souhaiterait automatiser la procĂ©dure pour ses membres. Cela Ă©tait dĂ©jĂ prĂ©vu il y a 9 ans, et maintenant que le code est un peu plus sĂ©rieux, il est dĂ©sormais pertinent de se re-poser la question.
De nouveaux enregistrements DNS. Divers enregistrements pourraient ĂȘtre implĂ©mentĂ©s pour offrir une interface toujours plus complĂšte, y compris pour des utilisateurs avancĂ©s. Ainsi, des enregistrements tels que LOC, RP ou HINFO pourraient voir le jour. DNSSec pourrait ĂȘtre de la partie Ă©galement. Je nâutilise pas personnellement ces fonctionnalitĂ©s donc je ne me sens pas non plus pressĂ© de les implĂ©menter. Si cela vous tient Ă cĆur, merci de mâen informer, ça pourrait me motiver.
De nouveaux domaines ? Le service propose actuellement des noms de domaines en « .netlib.re » ou « .codelib.re ». Je suis ouvert Ă la discussion si des gens veulent financer dâautres noms de domaines ou cĂ©der les leurs.
Le retour du mode « expert » ? Pour des personnes expĂ©rimentĂ©es, cela a du sens. En lieu et place de lâĂ©criture dâun rĂ©el fichier de zone Bind9, une entrĂ©e libre avec un format proche dâun fichier de zone Bind9 serait envisageable. Les enregistrements seraient compris et vĂ©rifiĂ©s par lâinterface puis traduits dans la reprĂ©sentation intermĂ©diaire utilisĂ©e par netlibre
. Le meilleur des deux mondes. Pas de fausse joie cependant, comme cela nĂ©cessiterait pas mal de code, ce nâest pas au programme pour tout de suite.
Alternatives Ă netlib.re
Jâai vu de nombreux sites proposant des services autour du DNS. Pour citer quelques exemples :
- eu.org nâest pas pour des novices, et visiblement tout est gĂ©rĂ© Ă la main sans interface pour sâinscrire⊠difficile de faire plus Ă©loignĂ© des objectifs de netlib.re ;
- freedns.afraid.org ne fournit pas le code source et nâest pas trĂšs ouvert aux novices, mais Ă part ça le service semble assez complet ;
- ydns.io ne fournit pas le code source et ne propose pas une gestion dâun domaine quâils offrent, seulement un enregistrement A ou AAAA ;
- nsupdate.info les inscriptions sont fermées ;
Ces services sont sans doute trĂšs bien. Jâenvie mĂȘme certaines de leurs fonctionnalitĂ©s, que jâimplĂ©menterai peut-ĂȘtre plus tard pour netlibre
. Mais il manque systĂ©matiquement le code source, ou lâinterface nâest pas faite pour un novice, ou le service ne propose pas tout Ă fait les mĂȘmes fonctionnalitĂ©s.
Je pense donc sincĂšrement que netlibre
a sa place au milieu de tous les autres. Il se dĂ©marque ne serait-ce que par son code libre et son interface simple. Ă lâavenir, jâespĂšre quâil se dĂ©marquera par sa complĂ©tude.
Bonus : les problÚmes survenus ces 9 derniÚres années (pour les curieux)
De nombreux problÚmes sont survenus au fil du temps. Le site a été instable pendant longtemps, pour de multiples raisons :
- une des bibliothÚques utilisées gÚre mal les enregistrements sur plusieurs lignes, menant à des boucles infinies.
Cela a Ă©tĂ© corrigĂ© il y a quelques mois Ă peine (!) et seulement en local car je nâai pas pris le temps dâenvoyer mes corrections (!!).
Pour cette raison, il nâĂ©tait mĂȘme pas possible dâavoir un enregistrement DKIM via lâinterface de
netlibre
; - une maintenance quasi-absente pendant longtemps, par manque de temps et dâĂ©nergie ;
- des plantages Ă rĂ©pĂ©tition Ă cause de lâinfrastructure (bind9 qui redĂ©marre en boucle Ă cause dâune erreur de configuration en crachant des tonnes de logs qui saturent le disque) ;
- des mises Ă jour qui cassent tout (Ă cause dâun dĂ©ploiement un peu bancal) ;
- une architecture logicielle en mode bricolage avec des lancements de commandes lorsque lâutilisateur appuie sur certains boutons ;
- des lancements de commandes qui ne libĂšrent pas correctement leur descripteur de fichier (je nâai pas trouvĂ© pourquoi ni comment corriger) ;
- un manque de vĂ©rifications (notamment Ă cause du mode expert), menant Ă des erreurs cĂŽtĂ© Bind9 sans que lâutilisateur en soit informĂ©.
Le plus gros problĂšme a surtout Ă©tĂ© un manque de vĂ©rifications. Les bĂ©nĂ©ficiaires du service ont rĂ©guliĂšrement innovĂ© pour dĂ©truire leurs zones. Entre la suppression des entrĂ©es NS et SOA (merci le mode expert) et les nombreuses valeurs invalides (auxquelles il fallait sâattendre, bien entendu), beaucoup de zones sont invalides sans mĂȘme que les utilisateurs ne le sachent (autrement quâen faisant des requĂȘtes DNS).
Et jâen oublie sans doute bien dâautres. Tout ça parce que⊠netlibre
Ă la base, câest un projet perso, vite-fait, pour moi. Jâavais espoir quâil serve Ă quelques dizaines dâautres personnes, max. Le service netlibre
sâest beaucoup plus dĂ©veloppĂ© que prĂ©vu et jâai bon espoir que le service soit dĂ©sormais un peu plus Ă la hauteur.
Commentaires : voir le flux Atom ouvrir dans le navigateur