Node.JS 中的简单 DNS 服务器? (主要/权威 DNS 服务器)(也许是 ndns?)

Posted

技术标签:

【中文标题】Node.JS 中的简单 DNS 服务器? (主要/权威 DNS 服务器)(也许是 ndns?)【英文标题】:Simple DNS Server in Node.JS? (Primary/Authoritative DNS Server) (maybe ndns?) 【发布时间】:2011-07-29 05:28:16 【问题描述】:

有人知道用 Node.JS 编写的 DNS 服务器吗?我对权威 DNS 服务器(而不是缓存 DNS 服务器)特别感兴趣。

唯一需要做的就是根据我自己的算法为 A、MX、TXT、SPF、SOA、NS 记录提供服务,我将把这些记录写入我找到的任何内容的分支或克隆中。

事实上,我可能不需要所有这些类型的记录。但重要的是它必须工作。我确实想要有 DNS 调试问题。我希望(期望)这不会成为问题,因为 DNS 非常简单(我听说过)。

Node.JS 中有什么我可以开始的吗?如果您知道某些东西已在生产中使用,请告诉我。


我发现的 Node.JS DNS 服务器

dnsserver.js (alternate link) ndns 有一个名为 mdns 的扩展名 dns-server

如果有人将其用于生产,我想知道。到目前为止,他们的努力似乎很分散。

【问题讨论】:

(为什么)一定要用Node写? DNS 就是 DNS。 @Matt:它不需要用 Node.JS 编写,但我对该语言的品质印象深刻,并希望将它用于 DNS 以及它的其他组件软件模型。如果我有一些简单的开始,我也可以使用 Java。我不介意在我的代码中包含一个臃肿的库。在 Node.JS 中编程是多么容易给我留下了深刻的印象,也给我留下了深刻的印象,因为那里的更多代码还没有机会从“简单”阶段继续前进。 如果您决定放弃 ndns 和 Node.js,请在 Google Code 上查找我的“evldns”。 您可能还是想阅读代码 - 它是一个事件驱动的 DNS 服务器,可能有助于回答您的其他一些问题。 Twisted Names 可能比 C 更容易阅读,也是事件驱动的权威名称服务器 twistedmatrix.com/trac/browser/trunk/twisted/names 【参考方案1】:

这是“用 Node.js 构建的一个非常基本的授权服务器”,在 dnsserver.js

【讨论】:

【参考方案2】:

由于 Java 适合您,您可以查看 Eagle DNS 项目。它是用 Java 编写的,支持 mysql 和基于文件的记录存储,如果不符合您的需要,您可以编写自己的模块: http://www.unlogic.se/projects/eagledns

【讨论】:

他想要 javascript 而不是 JAVA.. java 和 javascript 就像汽车和地毯! 查看原帖的第二条评论...“如果我有一些简单的开始,我也可以使用 Java。”【参考方案3】:

我发现一个 DNS 服务器写在 node.js fun_dns 源在 github

【讨论】:

【参考方案4】:

查看https://github.com/tjfontaine/node-dns

【讨论】:

到目前为止这看起来真的很不错...一直在考虑为我的一个域设置一个 dyndns 服务,这可能正好符合要求。 它有效。我用它来解析具有指定 dns 服务器的域。【参考方案5】:

在查看了所有可用的 node.js DNS 库后,我发现 DNS2 是 2020 年最好的可用库之一,并且仍在维护中。

它的一些特点:

在没有依赖关系的纯 JavaScript 中实现 服务器和客户端 支持很多类型 极其轻巧 支持基于 UDP、TCP、HTTPS 的 DNS

https://github.com/song940/node-dns

npm install dns2

【讨论】:

欣赏建议,这非常适合我的项目场景。【参考方案6】:

bns:纯 javascript 中的 DNS 库、服务器和验证递归解析器,用于 node.js。

【讨论】:

以上是关于Node.JS 中的简单 DNS 服务器? (主要/权威 DNS 服务器)(也许是 ndns?)的主要内容,如果未能解决你的问题,请参考以下文章

基于nodejs的DNS查询工具

Node.js权威指南 (12) - Node.js中的其他模块

Node.js Net 模块+DNS 模块

入门Node.js之HTTP

04慕课网《进击Node.js基础》HTTP讲解

Node.js DNS 响应延迟