Domain-Name-System
將根域記錄設置為 CNAME
我需要為一個 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
記錄的問題。)有關更多資訊,請參見上面的連結。