这是一个关于区域顶点(或根部)CNAME的规范问题
相对普遍的知识是CNAME,域顶端的记录是一种禁忌做法。
例子:
example.com. IN CNAME ithurts.example.net.
在最好的情况下,名称服务器软件可能会拒绝加载配置,在最坏的情况下,它可能会接受此配置并使 example.com 的配置无效。
最近,我让一家网络托管公司将指令传递给一个业务部门,我们需要将我们域的顶点 CNAME 命名为新记录。知道这将是一个自杀配置,当提供给 BIND 时,我告诉他们我们将无法遵守,这通常是愚蠢的建议。该网络托管公司的立场是,标准定义 RFC 并没有完全禁止它,并且他们的软件支持它。如果我们不能对顶点进行 CNAME,他们的建议是根本没有顶点记录,并且他们不会提供重定向网络服务器。...什么?
我们大多数人都知道RFC1912坚持这一点A CNAME record is not allowed to coexist with any other data.,但让我们在这里对自己诚实,RFC 只是信息性的。我所知道的最接近禁止这种做法的措辞来自RFC1034:
如果节点上存在 CNAME RR,则不应存在其他数据;这可确保规范名称及其别名的数据不能不同。
不幸的是,我已经在这个行业工作了足够长的时间,我知道“不应该”与“必须不”不同,这对于大多数软件设计师来说已经足够了。知道任何缺少指向灌篮的简洁链接都会浪费我的时间,我最终让公司因为推荐的配置可能会在没有适当披露的情况下破坏常用软件的配置而受到责骂。
这让我们进入问答环节。这一次,我希望我们能够真正了解顶级 CNAME 的疯狂,而不是像我们通常在有人发布该主题时所做的那样回避这个问题。RFC1912是不受限制的,就像我没有想到的任何其他适用于此的信息 RFC 一样。让我们关闭这个婴儿。
我管理当前具有以下 DNS 配置的多个网站:
example.com - A Record - Production Server IP
test.example.com - A Record - Test Server IP
www.example.com - CNAME - example.com
beta.example.com - CNAME - test.example.com
dev.example.com - CNAME - test.example.com
Run Code Online (Sandbox Code Playgroud)
这是对 CNAME 记录的适当使用吗?我在网上查了一下,没有找到明确的答案。有些人声称 CNAME 记录是错误的(但是他们并不清楚为什么会这样)并提出以下设置:
example.com - A Record - Production Server IP
test.example.com - A Record - Test Server IP
www.example.com - A Record - Production Server IP
beta.example.com - A Record - Test Server IP
dev.example.com - A Record - Test Server IP
Run Code Online (Sandbox Code Playgroud)
其中哪一种是更好的方法(以及为什么)? …
我想将域的根名称设置为 CNAME 而不是通常的 A 记录。
这是我正在尝试做的一个完美的例子:
dig lrnskls.com
Run Code Online (Sandbox Code Playgroud)
注意答案部分:
;; ANSWER SECTION:
lrnskls.com. 300 IN CNAME partner.adjix.com.
partner.adjix.com. 300 IN A 67.121.212.61
Run Code Online (Sandbox Code Playgroud)
我尝试这样做的原因是我可以通过 CNAME 别名将域的根名称指向 Amazon 的 S3。使用 A 记录不起作用,因为出于负载平衡目的,S3 的 IP 每隔几分钟就会更改一次。
PS - 根据 RFC 1034 的第 3.6.2 节,这似乎是合法的(注意 USC-ISIC.ARPA 示例):http : //www.faqs.org/rfcs/rfc1034.html
我有一个域名mydomain.com,我使用外部DNS服务器来解析像一些名字www.mydomain.com,并webmail.mydomain.com在互联网上。
现在,我需要创建一个规则,只在我的局域网,化解newserver.mydomain.com到newserver.cloudapp.net(在Azure中托管新的服务器)。
起初我想,“我可以在我的本地 DNS 服务器上创建一个 CNAME 条目,工作就完成了!” 但要做到这一点,我必须创建另一个区域来解决*.mydomain.com,一切都出错了。我的 DNS 服务器能够解析,newserver.mydomain.com但所有其他 URL 都不可用……当然,我的本地 DNS 服务器成为该域的“权威”。
我使用的是 Windows Server 2012,我只想配置我的 DNS 服务器来执行此操作:
解决此条目:
newserver.mydomain.com CNAME newserver.cloudapp.net
和
*.mydomain.com 仍在解析外部 DNS 服务器。
我怎样才能做到这一点?
提前致谢!;)