在一个 CNAME 记录中将整个域重定向到另一个域

在一个 CNAME 记录中将整个域重定向到另一个域

有没有办法通过一个 CNAME 记录将整个域重定向到另一个域?

例如 [anyhost].domain1.com 指向 [anyhost].domain2.com,无论我在 domain1.com 中输入什么主机名,它都会指向 domain2.com 中相同主机名的实际 IP 地址。如果我 ping www.domain1.com,它将解析为 www.domain2.com 的 IP 地址。或者,如果我 ping mail.domain1.com,它将解析为 mail.domain2.com 的 IP 地址,依此类推。我知道我可以为 domain1.com 中的每个主机输入一个 CNAME 记录,但这很繁琐。此区域中提出的其他一些问题显示的答案是使用特定 IP 地址作为域的默认 IP 地址,而这并不是我想要的答案。

顺便说一句,我尝试使用 CNAME *.domain1.com *.domain2.com,但没有成功。

答案1

您尝试的问题*.example.com. CNAME *.example.net.在于值(规范名称)。CNAME记录仅指定一个名称作为规范名称,而在此处放置通配符实际上没有任何意义。

有一种不太明显的记录类型确实符合你所描述的行为:DNAME记录类型

如果您有一条记录example.com. DNAME example.net.,则意味着权威服务器将作为其记录查找过程的一部分,CNAME根据需要合成记录以将下的名称映射example.com.到下的相应名称example.net.(例如a.b.example.com. CNAME a.b.example.net.)。

由于实际DNAME记录不会呈现给客户端(除非查询专门针对DNAME记录类型),因此记录类型的相对模糊性应该只是权威名称服务器必须支持它的一个因素。

问题中没有提到处理区域顶点,但如果这是你的目标,那么这个解决方案将无法处理这个问题。(CNAME不能存在于区域顶点。)

答案2

我会将其中一个前向区域记录复制到另一个区域,进行某种类型的全局编辑,然后同时使用两者。

我发现您可以使用包含文件来做到这一点,以最大限度地增加共享量并最大限度地减少问题。

相关内容