Domain-Name-System
域的權威 DNS 伺服器是否必須允許遞歸以允許 CNAME 記錄指向其他域?
所以我有一個在 Dreamhost 註冊的域,它顯然不進行遞歸查找,還有一個在 Heroku 上的應用程序。Heroku 應用程序始終配置為使用 CNAME 記錄來
proxy.heroku.com
.所以:
Authoritative DNS: ns1.dreamhost.com (for foo.com) CNAME record: app.foo.com -> proxy.heroku.com Resolves to: Set of A records for EC2 IPs
有些人試圖從 Windows Server 2003 DNS 伺服器後面連接到應用程序,有人告訴我,它以不同的方式處理 SERVFAIL 並且無法解析 DNS。我試圖了解這是否真的是我身邊或他們的配置問題,特別是根據標題:
域的權威 DNS 伺服器是否必須遞歸以允許 CNAME 記錄指向其他域?
不,您不需要對權威 DNS 伺服器進行遞歸。根據您詢問的對象,甚至認為(如果可能的話)您的權威伺服器不是遞歸的,因為它是抵禦某些 DoS 攻擊的一道防線,這被認為是一種很好的做法。(例如 Cisco 的文件在這裡)
下面是我的域中的一個範例(伺服器正在執行 Bind 9 並且是非遞歸的)。
; <<>> DiG 9.5.1-P3 <<>> mail.<snip> @<my authoritative master> ;; global options: printcmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 1216 ;; flags: qr aa rd ra; QUERY: 1, ANSWER: 3, AUTHORITY: 4, ADDITIONAL: 4 ;; QUESTION SECTION: ;mail.<snip>. IN A ;; ANSWER SECTION: mail.<snip>. 86400 IN CNAME ghs.google.com. ghs.google.com. 158151 IN CNAME ghs.l.google.com. ghs.l.google.com. 33 IN A 74.125.47.121 ;; AUTHORITY SECTION: google.com. 153556 IN NS ns4.google.com. google.com. 153556 IN NS ns2.google.com. google.com. 153556 IN NS ns3.google.com. google.com. 153556 IN NS ns1.google.com. ;; ADDITIONAL SECTION: ns1.google.com. 169823 IN A 216.239.32.10 ns2.google.com. 169823 IN A 216.239.34.10 ns3.google.com. 169823 IN A 216.239.36.10 ns4.google.com. 169823 IN A 216.239.38.10
這聽起來更像是 Windows 2003 DNS 中的 DNS 錯誤配置。