将 1 个域名指向 2 个不同的 DNS

将 1 个域名指向 2 个不同的 DNS

一个域名可以指向 2 个(或更多)不同的名称服务器吗?例如,我有一个域名testdomain.net,我想将其指向

  • ns65.domaincontrol.com(GoDaddy 名称服务器)
  • ns66.domaincontrol.com(GoDaddy 名称服务器)
  • eva.ns.cloudflare.com(CloudFlare 名称服务器)
  • igor.ns.cloudflare.com(CloudFlare 名称服务器)

在 GoDaddy 上,记录与 CloudFlare 上的记录不同,因此此设置不适用于 HA 目的。原因是:我 2 天前切换到 CloudFlare,我注意到当我尝试在非标准端口上打开托管在我服务器上的网站时(例如,我在端口 3387 上有 OwnCloud),除非我切换回 GoDaddy 名称服务器,否则我无法访问它。

理想情况下,CloudFlare 名称服务器上的记录将指向标准端口上的服务......

A blog.testdomain.net 192.0.0.1

使用 vHost 文件将该域映射到 Web 标准端口,80。在 GoDaddy 名称服务器上...

A owncloud.testdomain.net 192.0.0.2

... 使用 vHost 文件将该域映射到非标准端口,3387

可以这样做吗?

答案1

如果名称服务器设置成这样,CloudFlare 将无法正常工作。CloudFlare 必须位于位置 1 和 2;其他名称服务器必须被删除。

“例如,我在端口 3387 上有 OwnCloud),除非我切换回 GoDaddy 名称服务器,否则我无法访问它。”

CloudFlare 只能代理某些网络端口。不在网络流量记录中的端口应该位于我们不会触及的 DNS 设置子域上。

答案2

嗯...我认为你需要的是:

blog.testdomain.net   NS  eva.ns.cloudflare.com
blog.testdomain.net   NS  igor.ns.cloudflare.com

owncloud.testdomain.net  IN  A  192.0.0.2

例如:

  1. 指向NS记录testdomain.netns65.domaincontrol.comns66.domaincontrol.com
  2. 在domaincontrol 上设置A记录owncloud.testdomain.net192.0.0.2
  3. 创建指向DN 服务器的NS记录subdomain blog.testdomain.netcloudflare

**A请注意,domaincontrol 区域中缺少blog.testdomain.net 的记录

我从来没有使用过Godaddy DNS,因为几年前全部的公共免费 DNS 提供商不再允许自定义和控制事物。我不知道 godaddy 是否支持这种东西,但如果你运行自己的 DNS,设置起来很简单。

答案3

我理解您要做什么,我强烈反对这样做。递归服务器将在区域的不同 DNS 服务器之间轮换,并且其客户端将仅获取他们所访问的服务器所知道的记录。因此,您的客户每次都会得到不同的答案,结果将不一致。实际上,在任何时间点,您的客户都会遇到相当于一半的服务器完全无法访问的情况。如果您的 DNS 由两个提供商提供,则您需要确保手动保持区域同步(这很容易出错,并且会导致中断),或者您需要使除一个之外的所有服务器处于从属地位,将所有记录放在一个主服务器中,将所有其他服务器配置为从属服务器,从主服务器设置 AXFR 到所有从属服务器,并从主服务器设置通知到所有从属服务器。

几年前,我曾是一家财富 200 强金融服务公司的 DNS 主机管理员,我见过像您描述的这样的设置,试图防止单点故障,但却带来了难以诊断的严重服务中断。

相关内容