Bind是事实上的标准DNS服务器,PowerDns是更快的选择。
我有一个基于Linux的mips盒,具有15Mb的可用RAM。

我已经看到了几种缓存类型服务器软件。我只需要一个支持SOA的主DNS服务器;区域转移;和ipv6。基于RAM的缓存不应该存在或可以被禁用。

有人对这种嵌入式环境了解吗?

评论

简而言之,我想要与普通服务器(例如powerdns和bind提供)相同的东西,但我希望它在我的系统上运行。有什么想法吗?

您看过Dnsmasq吗?这是OpenWRT及其共同使用的,通常具有8MB或16MB RAM的路由器。我知道它支持IPv6,但我不知道您的其他要求。

你见过这个吗? maradns.samiam.org/summary.html

@dodgy_coder:它使用了过多的RAM:我需要一个基于单个进程的权威名称服务器,并完全支持区域传输和IPV6。我不需要任何基于RAM的缓存(我也不需要TCP,但可以将其包括在内)。

@Gilles:好的,似乎事情已经改变了,但是我找不到如何配置dnsmasq来做到这一点。

#1 楼

带有Felix von Leitner的IPv6补丁的djbdns可以满足您在GNU / Linux上的要求。

您可以从DJBdæmontools运行权威的名称服务器,它负责UDP / 53方面的工作。区域文件格式为纯文本,但已编译为“ const”数据库。 SOA序列号可以自由设置,默认为数据库的mtime。您可以轻松地在PC /笔记本电脑上管理和编译数据库,然后将其rsync放入小盒子中。 ucspi-tcp,并负责TCP / 53端。它允许BIND,PowerDNS和其他客户端从区域执行AXFR(以及Fefe的补丁程序IXFR)传输。

如果您有运行djbdns的辅助服务器,则只需axfrdns区域文件(请确保使用rsync选项以确保mtime相同,例如rsync),而不要使用AXFR。

DJBDNS的内存效率非常高:在我的MirBSD / i386系统上,具有八个区域的名称服务器仅占用236K RAM(在进行静态链接时;可以使用Dietlibc进行静态或动态操作),而完全递归的DNS缓存则不到2 MiB。 dæmontools和日志记录的开销在相同范围内。只有AXFR请求才会导致新的进程被临时产生。权威的名称服务器是一个长期运行的可执行文件。

评论


几个守护进程处理=内存浪费。

–user2284570
2014年5月30日17:37



好的...看来我需要重新编译BusyBox才能获得inetd支持。这不是一个权威的域名服务器。

–user2284570
2014年5月30日17:40



您也可以不进行inetd操作,例如使用DJB的ucspi-tcp。但是,是的,它是一个单一的权威名称服务器(名称服务器仅在UDP上运行)加上一个单独的组件来执行AXFR(使用TCP)。

– mirabilos
2014年5月30日17:52

不适用于dns.he.net

–user2284570
2014年5月30日18:03



我只有一个动态ipv4。因此,当我设置区域时,我可以给名称服务器一个静态的ipv6记录,并从那里发布ipv4。

–user2284570
2014年5月30日21:45