Domain-Name-System

將根域記錄設置為 CNAME

  • November 18, 2018

我需要為一個 CNAME 域創建一個 NS 記錄,目的是讓兩個域指向一個 IP,並且不必在兩個不同的地方維護目前 IP 地址。

此域的 DNS 提供程序是 DynDNS,但它們阻止了此操作:

無法使用與區域名稱相同的標籤創建 CNAME

我可以對 DNS 由 1and1 提供服務的另一個域執行此操作:

root@srv-ubuntu:~# dig myseconddomain.co.uk

; <<>> DiG 9.4.2-P1 <<>> myseconddomain.co.uk
;; global options:  printcmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 61795
;; flags: qr rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 0, ADDITIONAL: 0

;; QUESTION SECTION:
;myseconddomain.co.uk.             IN      A

;; ANSWER SECTION:
myseconddomain.co.uk.      71605   IN      CNAME   myfirstdomain.co.uk.
myfirstdomain.co.uk.     59      IN      A       www.xxx.yyy.zzz

;; Query time: 298 msec
;; SERVER: 10.0.0.10#53(10.0.0.10)
;; WHEN: Tue Aug 18 14:17:26 2009
;; MSG SIZE  rcvd: 78

這是違反 RFC 還是 DynDNS 有正當理由阻止此操作?

跟進 感謝已經發布的兩個答案,我現在知道 1and1 違反了 RFC 來執行此操作。但是它確實有效,他們似乎支持它。對於一家擁有如此多域的公司來說,他們在如此大規模的範圍內毫無異議地僥倖逃脫似乎很奇怪。

更多跟進

按要求輸出“dig myseconddomain.co.uk ns”。

root@srv-ubuntu:~# dig myseconddomain.co.uk ns

; <<>> DiG 9.4.2-P1 <<>> myseconddomain.co.uk ns
;; global options:  printcmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 18085
;; flags: qr rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 0, ADDITIONAL: 2

;; QUESTION SECTION:
; myseconddomain.co.uk.             IN      NS

;; ANSWER SECTION:
myseconddomain.co.uk.      4798    IN      NS      ns67.1and1.co.uk.
myseconddomain.co.uk.      4798    IN      NS      ns68.1and1.co.uk.

;; ADDITIONAL SECTION:
ns67.1and1.co.uk.       78798   IN      A       195.20.224.201
ns68.1and1.co.uk.       86400   IN      A       212.227.123.89

;; Query time: 59 msec
;; SERVER: 10.0.0.10#53(10.0.0.10)
;; WHEN: Wed Aug 19 12:54:58 2009
;; MSG SIZE  rcvd: 111

正確,它違反了RFC 1034第 3.6.2 節第 3 段:

…如果節點上存在 CNAME RR,則不應存在其他數據;這可確保規範名稱及其別名的數據不能不同。…

這適用於此處,因為您的區域的根也必須具有 SOA 和 NS 記錄。

使用 DynDNS WebHop 服務。這對他們的 DNS 客戶是免費的。

它允許您將第二個域的流量重定向到第一個域,並且不會破壞任何 RFC。

重定向是302(臨時)重定向,因此可能會損害某些搜尋引擎排名。(我懷疑這也可能是CNAME記錄的問題。)有關更多資訊,請參見上面的連結。

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