Google cloud platform 无法从计算机解析Google云DNS管理的专用区域
我使用的是谷歌云DNS管理的私有区域,该区域允许的网络内的计算实例无法解决该问题。我正在使用两个Ubuntu 18.04 LTS标准图像。这两个实例位于同一网络的两个不同子网上,该子网已被允许查看专用区域 我使用的是GCloud CLI,我通过GCloud init登录并验证了一个选定的项目,我是该项目的所有者 我已经尝试调整/etc/resolv.conf,使之专门指向元数据服务器,但是这完全停止了解析。我最初使用的是私人区域中的一个记录,但它不起作用;基于本文,我尝试对[INSTANCE_NAME].[ZONE].c.[PROJECT].内部域使用CNAME,但也不起作用 我正在通过GCloud CLI进行的设置如下:Google cloud platform 无法从计算机解析Google云DNS管理的专用区域,google-cloud-platform,google-cloud-dns,Google Cloud Platform,Google Cloud Dns,我使用的是谷歌云DNS管理的私有区域,该区域允许的网络内的计算实例无法解决该问题。我正在使用两个Ubuntu 18.04 LTS标准图像。这两个实例位于同一网络的两个不同子网上,该子网已被允许查看专用区域 我使用的是GCloud CLI,我通过GCloud init登录并验证了一个选定的项目,我是该项目的所有者 我已经尝试调整/etc/resolv.conf,使之专门指向元数据服务器,但是这完全停止了解析。我最初使用的是私人区域中的一个记录,但它不起作用;基于本文,我尝试对[INSTANCE_N
#!/bin/bash
# gcloud init or gcloud auth activate-service-account must have been previously run
CUSTOMER=test
NETWORK=testnetwork
# configure Cloud DNS - create customer.workshop.local
gcloud dns managed-zones create "${CUSTOMER}internal" \
--dns-name="${CUSTOMER}.workshop.local" --description="A zone" \
--visibility=private --networks="$NETWORK"
# IP is derived through a gcloud compute call but presume it is:
IP=10.10.0.4
gcloud dns record-sets transaction start --zone="${CUSTOMER}internal"
gcloud dns record-sets transaction add "$IP" \
--name="server.${CUSTOMER}.workshop.local." \
--ttl=300 \
--type=A \
--zone="${CUSTOMER}internal"
gcloud dns record-sets transaction execute --zone="${CUSTOMER}internal"
在子网10.10.1.0/24中从我的Ubuntu 18.04 LTS机器ping时,我得到:
david.alexander@jump-ubuntu-01:~$ ping server.test.workshop.local
ping: server.test.workshop.local: Temporary failure in name resolution
有人有什么想法吗?干杯 您是否已经尝试按照谷歌公共文档的官方指南进行操作: 只是,我看到你错过了这个项目:
gcloud dns --project=test record-sets transaction start --zone=testinternal
gcloud dns --project=test record-sets transaction add 10.10.0.4 --name=test.workshop.local. --ttl=300 --type=A --zone=testinternal
gcloud dns --project=test record-sets transaction execute --zone=testinternal
这只是Ubuntu 18.04的一个问题。Windows不会复制此问题。编辑-CentOS也已经过测试,没有复制此问题 当我在这个网络中创建一个Windows服务器并尝试名称解析时,它工作得很好。Ubuntu 18.04的规范映像(即非自定义映像)默认通过Netplan将名称解析为127.0.0.53,并且无法查询Google元数据服务器。Dig在默认图像上显示了这一点-如果指定元数据服务器,则可以解析名称 我将记录一个与Canonical有关的bug。谢谢约翰·汉利,我不能投票给你,因为你发表了评论,而不是回答了问题——如果你能告诉我怎么做,我可以做到
干杯 我在脚本中没有看到使专用区域对网络可见的命令
gcloud dns管理区域更新专用网络$NETWORK
。不要修改/etc/resolv.conf。Google会定期覆盖此文件(DHCP租约到期或大约每60分钟一次)。注意:[INSTANCE\u NAME].[ZONE].c.[PROJECT].internal
是一个示例,而不是实际名称。.c.
零件将不同(a、b、c……)。从这个实例中获取主机名hostname-f
。谢谢John。我认为创建命令的最后两个选项设置了网络可见性gclouddns管理的区域创建“${CUSTOMER}internal”\--dns name=“${CUSTOMER}.workshop.local”--description=“A zone”\--visibility=private--networks=“$NETWORK”
在第二点-我使用hostname=server.test.workshop.local
创建虚拟机,但hostname-f
只返回server
,而不是FQDN。感谢您迄今为止的帮助!谢谢你,阿古斯丁。是的,我严格遵守了文件;当您使用gcloud init/gcloud auth activate服务帐户并且已经指定了项目上下文时,您不需要指定项目:),但是,我可以投票支持您的答案。感谢您发布有关问题和解决方案的详细信息。