无法通过计算解析Google Cloud DNS托管私有区域

时间:2019-07-16 04:45:33

标签: google-cloud-platform google-cloud-dns

我正在使用Google Cloud DNS托管私有区域,该区域允许的网络内的Compute实例无法解决该问题。我正在使用两个Ubuntu 18.04 LTS标准映像。这两个实例位于同一网络的两个不同子网上,已被允许查看“专用”区域。

我正在使用GCloud CLI,并且已通过gcloud init登录并通过选定的我是其所有者的项目进行了验证。

我尝试调整/etc/resolv.conf使其专门指向元数据服务器,但是这完全停止了解析。我本来是在私有区域中使用A记录的,但该记录无效。基于本文https://www.jhanley.com/google-cloud-private-dns-zones/的经验,我尝试将CNAME用作[INSTANCE_NAME]。[ZONE] .c。[PROJECT]。内部域也无效。

我正在通过GCloud CLI进行设置,如下所示:

#!/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

有人有任何想法吗?干杯!

2 个答案:

答案 0 :(得分:1)

事实证明,这仅是Ubuntu 18.04的问题。 Windows不会复制此问题。 编辑-CentOS也已经过测试,没有重现此问题。

当我在此网络中创建Windows服务器并尝试名称解析时,它工作正常。默认情况下,通过Netplan,Ubuntu 18.04的Canonical映像(即非自定义映像)的名称解析为127.0.0.53,并且无法查询Google Metadata Server。 Dig会在默认图片上显示该图片-如果您指定元数据服务器,则可以解析名称。

我将与Canonical记录一个有关此的错误。谢谢约翰·汉利(John Hanley),我不能支持你,因为你评论而不是回答-如果你能就如何做到这一点ping我,我会做到的。

干杯!

答案 1 :(得分:0)

您是否已经尝试按照Google Public文档中的官方指南进行操作?

Creating a private zone through GCloud CLI

Creating a private zone through GUI

仅此而已,我看到您错过了该项目:

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