我需要为一个 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 …Run Code Online (Sandbox Code Playgroud) 我想保留对顶点的动态控制,但不破坏其他 RR(NS、MX)的标准处理。
域名 ( exampleA.net ) 由域名所有者(通过域名注册商)控制。该网站应放在exampleB.net云中。
我想使用动态寻址(此时不称其为 CNAME),因此系统不会等待手动更新注册商记录中的“A”。
完整的“NS”区域委派不适用。
逻辑,简单的配置,这是无效的:
@ CNAME exampleB.net.
www CNAME exampleB.net.
@ MX mx
@ NS ns0
; ...setting the SOA, A's
Run Code Online (Sandbox Code Playgroud)
根据RFC 2181 的CNAME由于 SOA 和 NS,只是禁止您使用多个 RR,禁止您使用 apex-CNAME。
在“DNS错误” RFC 1912年称这种做法“往往没有经验的管理员尝试”。
好吧,我怀疑即使在 1996 年也是如此,这只是需要一个“动态”RR(CNAME 被认为是,但事实并非如此,正是出于这些原因)。
事实上,这是域名系统的一个根本缺陷。除了圣尖的诞生,它真的把 www.appendectomy 搞得一团糟。我不是在这里回答“规范否”。
可以在主机文件上使用诸如 m4 之类的预处理器来完成。
对,对...
如果您尝试此操作,使用基于文件的区域进行 BIND 将抱怨并无法通过区域检查。但是使用DLZ 将通过并工作,如所述。其他 DNS 软件可能接受也可能不接受,或者他们为此使用一些特殊类型(ANAME、ALIAS)。
尽管如此,如果你设法做到这一点,你就会被警告。
头痛开始时的任何类型的查询exampleA.net将有时得到解决的CNAME exampleB.net。而不是配置的记录。
这可能有效,通常会失败,或者更糟,例如在某些 …