将根域记录设置为 CNAME

将根域记录设置为 CNAME

我需要为 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

这是否违反了 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

答案1

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

...如果节点上存在 CNAME RR,则不应存在其他数据;这确保了规范名称和其别名的数据不会有所不同。...

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

答案2

使用 DynDNSWebHop 服务。这对他们的 DNS 客户来说是免费的。

它允许您将第二个域的流量重定向到第一个域,并且不会破坏任何 RFC。

重定向是302(临时的),因此可能会损害某些搜索引擎排名。(我怀疑这也可能是记录的问题CNAME。)有关更多信息,请参阅上述链接。

答案3

是的,这违反了 RFC。检查这个解释。我认为是可能的但是不完全符合 RFC。

答案4

是的,在根/顶点创建 CNAME 记录时通常会破坏 DNS 标准,但是一些 DNS 提供商已经实施了解决方法:

  • Cloudflare提供出色的免费 DNS 托管,其功能称为“CNAME 扁平化“您可以在区域的根目录下添加 CNAME,但 Cloudflare 服务器实际上会将解析后的 A/AAAA 记录返回给查询,因此不会违反标准
  • DNSMadeEasy也提供类似的东西,称为“ANAME” 记录
  • DNSimple也可以通过以下方式提供“ALIAS” 记录
  • easyDNS 还提供 ANAME 记录
  • PointDNS 还提供 ALIAS 记录

我是一位满意的 Cloudflare 客户,并且发现他们的解决方案确实非常有效。

相关内容