Quelqu'un connaît-il un serveur DNS écrit en Node.JS ? Je suis particulièrement intéressé par les serveurs DNS faisant autorité (par opposition aux serveurs DNS de mise en cache).
La seule chose que cela doit faire est de servir les enregistrements A, MX, TXT, SPF, SOA, NS basés sur mon propre algorithme que j'écrirai dans un fork ou un clone de ce que je trouve pour commencer.
En fait, je n'ai peut-être pas besoin de tous ces types de documents. Mais l'important est que cela doit fonctionner. Je le fais. pas veulent avoir des problèmes de débogage du DNS. J'espère (je m'attends) à ce que ce ne soit pas un problème car le DNS est très simple (j'ai entendu dire).
Y a-t-il quelque chose dans Node.JS avec lequel je peux commencer ? Si vous savez que quelque chose a été utilisé en production, alors faites-le moi savoir.
Le Node.JS Serveurs DNS que j'ai trouvés son
- dnsserver.js ( lien alternatif )
- ndns qui possède une extension appelée mdns
- serveur dns
Si quelqu'un en utilise un pour la production, j'aimerais le savoir. Jusqu'à présent, les efforts semblent être très dispersés.
6 votes
(Pourquoi) doit-il être écrit en Node ? Le DNS est juste le DNS.
3 votes
@Matt : Il n'est pas nécessaire qu'il soit écrit en Node.JS, mais je suis très impressionné par les qualités de ce langage et j'aimerais l'utiliser pour le DNS ainsi que pour les autres composants de ce modèle logiciel. Je serais également d'accord avec Java si j'avais quelque chose de simple pour commencer. Je n'ai pas l'intention d'inclure une bibliothèque gonflée dans mon code. Je suis impressionné par la facilité avec laquelle il est possible de programmer en Node.JS, mais aussi par le fait qu'une grande partie du code existant n'a pas eu l'occasion de dépasser le stade "simple".
1 votes
Si vous décidez d'abandonner ndns et Node.js, cherchez mon "evldns" sur Google Code.
0 votes
@Alnitak : Désolé, je ne vais pas l'écrire en C. Ce sera soit Java, Perl ou JavaScript (Node.JS est autorisé). Je ne suis pas autorisé à introduire un autre langage sans une bonne raison.
2 votes
Vous pouvez quand même lire le code - c'est un serveur DNS piloté par événements qui peut aider à répondre à certaines de vos autres questions.
2 votes
Twisted Names est peut-être plus facile à lire que C. Il s'agit également d'un serveur de noms faisant autorité en fonction des événements. twistedmatrix.com/trac/browser/trunk/twisted/names
1 votes
Le DNS est un protocole assez compliqué de nos jours. Je vous déconseille vraiment d'utiliser des implémentations simples qui ne sont pas très bien maintenues. Le pire est qu'elles semblent généralement fonctionner correctement à première vue... Il existe plusieurs serveurs adaptés à une utilisation uniquement autoritaire, par exemple BIND, NSD, knot-dns, etc.