2012-04-16 166 views
1

請您參考參考資料/書籍以獲取有關動態DNS的更多詳細信息?我已經試過維基百科,IEEE論文和RFC,以供所有這些人翻閱他們的眼睛。所以請,任何投入都歡迎。我需要幫助在一個項目中實施它,並希望更多地瞭解它。謝謝。動態DNS參考

+0

你_implement_ DNS服務器還是想_update_ DNS服務器? – Sandman4 2012-04-16 12:40:31

+0

是的,桑德曼4。我想實現一個動態DNS服務器機制 - 不僅僅是更新DNS緩存。也不是O'reilly關於傳統DNS而不是動態DNS的書嗎? – Arpith 2012-04-23 15:08:53

+0

通過實施服務器,您的意思是創建一個全新的DNS服務器軟件(如BIND的替代品),或使用現有DNS服務器(如BIND)烘焙一些解決方案。 – Sandman4 2012-04-24 05:37:05

回答

1

動態DNS是一種動態更新DNS記錄的概念,與正常(靜態)DNS相比,DNS中記錄更改需要手動干預。

動態DNS意味着您有一些DNS服務器,並且您可以以編程方式更新其上的記錄。這可以通過不同的方式實現:

  1. RFC 2136動態DNS。它是好ol'DNS協議的延伸,它允許不記錄獲得 DNS記錄,但更新它們。目前大多數DNS服務器(例如BIND9和PowerDNS)都支持這種協議。文檔來源:RFC 2136定義協議。 nsupdate是支持此協議的命令行工具,請閱讀man nsupdate。有關如何爲動態更新配置BIND9的詳細信息,請參閱BIND9 ARM。大多數語言都存在庫,允許使用此協議進行動態DNS更新。例如,對於PHP,它是Net_DNS2。它沒有很好的記錄,但網站有很好的例子,很容易讓我使用它。

  2. 某些DNS服務器(特別是PowerDNS)可以從數據庫後端讀取其DNS記錄。因此,將新的DNS記錄寫入正常的SQL數據庫成爲可能,而服務器只是從那裏取得它們。文檔來源:如果您選擇這種方式,我非常建議使用PowerDNS,請在PowerDNS site上查找文檔。

  3. 如果更新不頻繁,也可以更新DNS服務器上的文本區域文件,然後請求服務器重新讀取更新的區域文件。雖然這可能不是一個方便的方法。所有主要的DNS服務器支持相同的區域文件格式,我發現DNS for Rocket Scientists優秀。

現在,有動態DNS的完全不同的側面是一個動態的DNS 服務喜歡no-ip.com,我自己net-me.net等等。他們都公開了一些基於HTTP的API(通常非常簡單)來更新DNS記錄,並且通常會提供實際更新它們的GUI客戶端軟件。快速瀏覽更新協議,客戶端和整個過程,您可以獲得here。由於沒有標準存在,每個提供商都使用他自己的協議變體,通常它們看起來都很相似。 (所有這些動態DNS提供商在內部使用某種1.2.3上述。)

最後但並非最不重要 - 有一個偉大的奧賴利的書 - DNS and BIND 5th edition覆蓋DNS的所有可能的方面。

+0

但是如果我要在我的項目中實現完整的動態DNS,有一些我可以查看和使用的開源代碼,或者我可以發佈的一些郵件列表?或任何其他資源。大多數書籍出版時已經過時,並且從獲得各種意見(而不是來自作者的單一意見)獲得社區的幫助要好得多 - 對於O'Reilly書籍的作者而言,沒有不尊重的意思;我基於我所得到的所有建議,他肯定他在這本書中做得很好!)。 – Arpith 2012-08-06 12:48:11

+0

@Arpith如果你不願意在自我教育上花費一些精力,我懷疑你能做到。 – Sandman4 2012-08-07 08:33:00