Dns-Zone

如何根據 RFC 1035 驗證 DNS 區域文件?

  • January 12, 2016

一些背景知識 - 我正在建構一個工具,除了做很多事情之外,它還允許使用者管理 Azure DNS。在我的應用程序中有一個功能,使用者可以導出 DNS 設置以創建區域文件。使用 Internet 上的各種資源(例如https://en.wikipedia.org/wiki/Zone_file#File_format>和<https://www.rfc-editor.org/rfc/rfc1035),我能夠創建一個區域文件。

我正在努力解決的是如何驗證我創建的區域文件是否基於 RFC 1035 正確或不正確。是否有驗證區域文件的程式方式?或者可能是我可以用來驗證文件的一些 PowerShell 腳本或系統/第 3 方工具。

附帶說明一下,我使用 GoDaddy 的 Web 界面來導入區域文件,它工作得很好。

我將從 NSD 的文件中藉用一段非常適用的段落:

https://www.nlnetlabs.nl/projects/nsd/documentation.html

DNS (RFC 1035) 區域文件的語法

預先:不可能為 DNS 區域文件編寫乾淨的詞法分析器/語法分析器。起初看起來製作這樣一個野獸很容易,但是當你開始實施它時,細節使它變得混亂。

如果權威名稱伺服器的作者有這種感覺,那麼嘗試自己實現它以用於商業產品之外的任何東西可能是愚蠢的差事。如果這是您為自己的公司使用而建構的東西,我建議使用與流行的名稱伺服器軟體一起提供的區域驗證工具之一。一個例子是 BIND’s named-checkzone,但我不打算在這些工具之間進行功能烘焙,因為產品推薦問題是題外話。您需要在這裡進行自己的研究。

引用自:https://serverfault.com/questions/748556