在Google云上设置内部可见的DNS条目

在Google云上设置内部可见的DNS条目,dns,google-cloud-platform,google-cloud-dns,google-compute-engine,Dns,Google Cloud Platform,Google Cloud Dns,Google Compute Engine,我想设置DNS记录从谷歌云中的实例可见 例如,如果我从我的电脑查询DNS,我将获得一个IP;但是,如果我从实例查询DNS,我将获得另一个IP。(准确的记录) 理想情况下,我希望以最理智/最方便的方式来做这件事;因为我可以在每个实例上安装缓存DNS服务器并设置授权结果;其余部分则使用前向缓存(我想bind9可以做到,以前从未尝试过)。但这是配置同步混乱;而且也不优雅。我认为可能存在更好的方法。一种解决方案是为不同的机器集使用完全不同的区域,并使用DNS搜索路径进行选择 例如,你可以设置 serve

我想设置DNS记录从谷歌云中的实例可见

例如,如果我从我的电脑查询DNS,我将获得一个IP;但是,如果我从实例查询DNS,我将获得另一个IP。(准确的记录)


理想情况下,我希望以最理智/最方便的方式来做这件事;因为我可以在每个实例上安装缓存DNS服务器并设置授权结果;其余部分则使用前向缓存(我想bind9可以做到,以前从未尝试过)。但这是配置同步混乱;而且也不优雅。我认为可能存在更好的方法。

一种解决方案是为不同的机器集使用完全不同的区域,并使用DNS搜索路径进行选择

例如,你可以设置

server1.internal.yourdomain.com   IN   A    1.2.3.4
server1.external.yourdomain.com   IN   A    5.6.7.8
然后使用resolv.conf设置您的机器,其中包含

search internal.yourdomain.com

然后,当您在这样的机器上查找
server1
时,它将从相应的区域返回地址。此方案意味着您不需要依赖复杂的路由或IP检测。您将不会受到内部或外部IP相互泄漏的事件的影响


当然,这意味着您没有对任何IP地址保密,因此请确保您有其他安全层(无论如何,您可能不应该依赖机密IP来实现安全)

假设您希望您的VM实例能够按名称查询其他实例,并检索所需实例的私有IP,这就是

谷歌云平台(GCP)虚拟私有云(VPC)网络有一个内部DNS服务,允许您使用实例名称而不是实例IP地址来引用计算引擎虚拟机(VM)实例

每个实例都有一个元数据服务器,该服务器还充当该实例的DNS解析程序。对实例名称执行DNS查找。元数据服务器本身存储本地网络的所有DNS信息,并向Google的公共DNS服务器查询本地网络之外的任何地址

[剪报]

实例的内部完全限定域名(FQDN)如下所示:

您始终可以使用此FQDN从一个实例连接到另一个实例

否则,如果您想向一组机器提供完全任意的记录,您需要自己提供这些记录(可能使用)。在这种情况下,您需要在这些实例上适当地重新配置
resolv.conf
文件(尽管如此)。请注意,您不能将查询仅限于您自己的计算机,但as根本就不是安全性。

刚刚发布到beta版,完全满足您的需要

search external.yourdomain.com
hostName.c.[PROJECT_ID].internal