将根域记录设置为 CNAME

tom*_*ing 15 domain-name-system dyndns cname-record 1and1

我需要为一个 CNAME 域创建一个 NS 记录,目的是让两个域指向一个 IP,而不必在两个不同的地方维护当前的 IP 地址。

此域的 DNS 提供商是 DynDNS,但它们阻止了此操作:

不能使用与区域名称相同的标签创建 CNAME

我可以使用 1and1 提供 DNS 的另一个域来执行此操作:

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
Run Code Online (Sandbox Code Playgroud)

这是违反 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
Run Code Online (Sandbox Code Playgroud)

Jam*_*ger 23

正确,这是违反RFC 1034,第 3.6.2 节,第 3 段:

... 如果节点上存在 CNAME RR,则不应存在其他数据;这可确保规范名称及其别名的数据不能不同。...

这适用于此处,因为您区域的根也必须具有 SOA 和 NS 记录。