小编rog*_*ovo的帖子

如何在 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
查看次数

标签 统计

bind ×1

cname-record ×1

dns-zone ×1

domain-name-system ×1