Java中的简单*权威DNS服务器*

Java中的简单*权威DNS服务器*,java,dns,Java,Dns,是否有一个已经编写的Java DNS服务器只实现权威响应。我想将源代码转移到我们将要开发的DNS服务器中,该服务器将使用自定义规则集来决定要使用的TTL和要发布的IP地址 该服务器将不是缓存服务器。它将只返回权威结果,并且只在域的WHOIS记录上发布。它永远不会被直接调用 服务器必须发布MX记录、A记录和SPF/TXT记录。该计划是使用DNS来帮助在多个位置上的网关服务器之间实现负载平衡(我们知道DNS在这一领域的影响力很小)。此外,当网关服务器出现故障(故意或意外)时,它将停止发布网关服务器的

是否有一个已经编写的Java DNS服务器只实现权威响应。我想将源代码转移到我们将要开发的DNS服务器中,该服务器将使用自定义规则集来决定要使用的TTL和要发布的IP地址

该服务器将不是缓存服务器。它将只返回权威结果,并且只在域的WHOIS记录上发布。它永远不会被直接调用

服务器必须发布MX记录、A记录和SPF/TXT记录。该计划是使用DNS来帮助在多个位置上的网关服务器之间实现负载平衡(我们知道DNS在这一领域的影响力很小)。此外,当网关服务器出现故障(故意或意外)时,它将停止发布网关服务器的IP地址(当然,DNS只能在长时间停机期间提供帮助)

我们将自己编写所有这些的逻辑。。但是我非常想从一个DNS服务器开始,它已经通过了一些测试,而不是从头开始

然而,只有当我们从中复制的内容足够简单时,这才是可行的。否则,这可能是浪费时间

我想您需要的是一个实现DNS协议的java库。 看看

这在所有类型的记录和类的完整规范覆盖方面是非常好的

但基于java的库可能面临的问题是性能。 DNS服务器将具有高吞吐量。但是是的,你可以通过增加硬件来解决这个问题

如果您担心性能问题,我建议您调查一下

不幸的是,文档中指出“jnamed不应用于生产,也可能不应用于测试。如果上述文档不够, 请不要要求更多,因为它确实不应该被使用。”


但是,我不知道还有更好的替代方案。

您可以看看Eagle DNS:


它已经存在了几年,现在已经经过了很好的测试。

dnsjava是根据BSD许可证获得许可的。您提到的文档适用于jnamed,这是一个命令行程序,作为使用dnsjava的示例。是的,当您编写这样的程序时,您应该始终知道自己在做什么。但我想一个read ohly非递归身份验证dns服务器相当简单,不会出现太多的安全漏洞。至于性能:即时响应肯定是我们想要的。(毫秒越短越好)但是,DNS请求的数量不会很大。我不认为一台服务器在一天中的任何时候每秒都可能有一个以上的请求,除非是巧合。这些不是专用的DNS服务器。这些DNS服务器实际上通常与网关服务器相同。不过,我们不能简单地返回自己的IP地址。我们希望始终返回一对IP地址。我希望Java能够充分满足我们的速度要求。当然,Java能够满足每秒1个请求的吞吐量要求。在评估dnsjava时,我们能够每秒提取近700个请求。而且,我想,应该可以将缓存dns服务器放在它前面,这样您就可以保留性能,并且仍然具有Java的灵活性。@geekGod-您(成功地)在windows下未绑定编译了吗?我试了好几次,但都没成功。如果可能的话,请告诉我!不是在windows上,而是在Linux上编译的!您面临的问题是什么?您是否实施了任何我们可以查看的内容?不,我没有。很抱歉