題:
適用於Linux的微型單進程權威DNS服務器
user2284570
2014-05-25 22:52:18 UTC
view on stackexchange narkive permalink

Bind是事實上的標準DNS服務器,而PowerDns是更快的選擇。
我有一個基於Linux的mips盒,具有15Mb的可用RAM。

我已經看到了幾種類型的緩存服務器軟件。我只需要一個支持SOA的主DNS服務器;區域轉移;和ipv6。基於RAM的緩存不應該存在或可以被禁用。

有人對這種嵌入式環境了解嗎?

簡而言之,我想要像powerdns和bindprovider這樣的普通服務器一樣的東西,但是我希望它在我的系統上運行。有任何想法嗎?
您看過Dnsmasq嗎?這是OpenWRT及其共同使用的,通常具有8MB或16MB RAM的路由器。我知道它支持IPv6,但我不知道您的其他要求。
你見過這個嗎? http://maradns.samiam.org/summary.html
@dodgy_coder:它使用了過多的RAM:我需要一個基於“單個進程”的權威名稱服務器,並具有對區域傳輸和IPV6的“完全支持”。我不需要任何基於RAM的緩存*(我也不需要TCP,但可以包括在內)*。
@Gilles:好的,看來情況有所變化,但是我找不到如何配置dnsmasq來做到這一點。
一 回答:
mirabilos
2014-05-30 22:35:59 UTC
view on stackexchange narkive permalink
帶有 Felix von Leitner的IPv6修補程序的

djbdns

可以滿足您在GNU / Linux上的要求。

您可以從運行權威的名稱服務器DJBdæmontools,它負責UDP / 53方面的工作。區域文件格式為純文本,但已編譯為“ const”數據庫。 SOA序列號可以自由設置,默認為數據庫的mtime。您可以輕鬆地在PC /筆記本電腦上管理和編譯數據庫,並將其 rsync 放入小盒子中。

axfrdns 實用程序(djbdns的一部分),從inetd(在我自己的設置中)或dæmontools/ ucspi-tcp中運行,並負責TCP / 53方面。它允許BIND,PowerDNS和其他客戶端從區域進行AXFR(以及Fefe的補丁程序IXFR)傳輸。

如果您有運行djbdns的輔助服務器,只需 rsync更容易編譯後的區域文件(請注意使用確保mtime相同的rsync選項,例如 -a ),而不要執行AXFR。

DJBDNS內存使用效率極高:在我的MirBSD / i386系統上,具有八個區域的名稱服務器僅佔用236K RAM(在進行靜態鏈接時;可以使用Dietlibc進行靜態或動態操作),並且僅提供完全遞歸的DNS緩存2 MiB以下。 dæmontools和日誌記錄的開銷在同一範圍內。僅AXFR請求會導致新的進程被臨時產生。權威的名稱服務器是一個長期運行的可執行文件。

幾個守護程序處理=浪費內存。
好的...看來我需要重新編譯BusyBox才能獲得inetd支持。那不是一個**權威的名稱服務器。
您也可以不進行inetd操作,例如使用DJB的ucspi-tcp。但是,是的,它是一個單一的權威名稱服務器(名稱服務器僅在UDP上運行)加上一個單獨的組件來執行AXFR(使用TCP)。
它不適用於https://dns.he.net
我只有一個動態ipv4。因此,當我設置區域時,我可以將靜態ipv6記錄提供給名稱服務器,並從那裡發布ipv4。
哼,的確如此。我與他們建立了一個奴隸區。它說最初的區域傳輸使用的是IPv4,而不是IPv6。常規DNS使用UDP,但是AXFR大於512字節,因此它使用TCP。我確實從slave.dns.he.net(216.218.133.2)收到了AXFR請求。這對我有用,我的區域顯示在HE.net Web界面中。當我輸入名稱服務器的IPv6地址(不是主機名!)時,我得到了IPv6區域傳輸。對於djbdns / axfrdns設置,這也對我有用。因此,此設置將為您工作。


該問答將自動從英語翻譯而來。原始內容可在stackexchange上找到,我們感謝它分發的cc by-sa 3.0許可。
Loading...