Cloud DNS 转发无法在共享 VPC 的其他网络中解析

Cloud DNS 转发无法在共享 VPC 的其他网络中解析

我们的设置:

我们有一个主项目A和两个其他项目BC。在项目 中A,我们有一个共享 VPC,其中包含网络ABC(与它们要服务的项目相关)。 的 VPC在项目B之间共享, 的 VPC在项目之间共享。这些网络彼此对等。ABCAC

在项目内A,我们有一个私有 Cloud DNS 区域,该区域转发到两个 DNS 服务器。其中一个服务器位于项目A和网络中A,另一个位于B网络上的项目中B。我们已选择所有网络(ABC)包含在此 DNS 区域中。

我们的问题:

Cloud DNS 似乎无法在这些网络之间正确共享。通过实验,我们发现实例将能够解析位于同一网络上的 DNS 服务器上的记录,但无法解析位于另一个网络上的记录。即:

网络上的实例A将能够解析来自网络ADNS 服务器的域,但不能解析来自网络BDNS 服务器的域,反之亦然。但是,如果您明确定义 DNS 服务器,它将按预期工作。

例如,假设10.0.0.1有 的 A 记录foo.com,并且10.0.1.1有 的 A 记录bar.com。它们分别托管在 网络A和 网络上B

在网络实例中A

  • 跑步nslookup foo.com就能解决。
  • 奔跑nslookup bar.com将会回归SERVFAIL
  • 跑步nslookup bar.com 10.0.1.1就能解决。

类似地,使用网络上的实例B

  • 跑步nslookup bar.com就能解决
  • 跑步nslookup foo.com将会回归SERVFAIL
  • 跑步nslookup foo.com 10.0.0.1就能解决

和网络C

  • 跑步nslookup foo.com将会回归SERVFAIL
  • 跑步nslookup bar.com将会回归SERVFAIL
  • 跑步nslookup foo.com 10.0.0.1就能解决
  • 跑步nslookup bar.com 10.0.1.1就能解决

我不确定为什么会出现这种行为。

已尝试/确认的内容

  • 我们确保所有网络均可通过 TCP/UDP 端口 53 进行通信,并且所有网络都可以看到这两个名称服务器
  • 我们尝试添加策略(结果类似,只返回失败NXDOMAIN而不是SERVFAIL
  • 我们已经研究过 DNS 对等,但这不适用于此处

任何帮助都将不胜感激。我知道 Cloud DNS 中的私有区域仍是 Beta 功能,但根据文档,此设置目前应该是可行的。

答案1

从您的描述来看,网络 A、B 和 C 似乎是相互对等的。有关对等区域表示,“当两个网络对等时,它们不会自动共享 DNS 信息”。这可以解释为什么 DNS 只能使用 Cloud DNS 转发将名称解析为同一 VPC 内的实例;另一方面,当 DNS 设置在对等 VPC 中时,必须直接请求 DNS 进行解析。

我可以看到没有文档可以同时使用对等区域和转发 DNS,因此您可能需要尝试在两个 DNS 服务器中添加域 foo.com 和 bar.com。

答案2

在同一页面上,还解释了有可用的 DNS Peering 测试版,通过该测试版,消费者网络可以将 DNS 请求转发到生产者网络。

如果我理解正确的话,那就意味着在生产者网络上设置 DNS A,并让网络BC其各自的查询转发到A

但是,如果BC有不同的私有区域(这应该与实际情况相差不大)会怎么样?这是否意味着同时设置两者,A 以便在项目内唯一地管理各个 VPC 的记录A

我也想尝试一下,而且因为在此基础上我有一个带有本地 VPN(我们称之为D),下一步是设置一个到本地 DNS 的条件转发器。

不确定是否B能够C通过项目解决D疑问A

相关内容