相关疑难解决方法(0)

将根域记录设置为 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 …
Run Code Online (Sandbox Code Playgroud)

domain-name-system dyndns cname-record 1and1

15
推荐指数
1
解决办法
2万
查看次数

如何在 DNS/BIND 中正确执行“动态顶点”?

我想保留对顶点的动态控制,但不破坏其他 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”

根据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。而不是配置的记录。

这可能有效,通常会失败,或者更糟,例如在某些 …

domain-name-system bind cname-record dns-zone

-6
推荐指数
1
解决办法
1632
查看次数