配置 DNS64

本文档介绍了如何配置 DNS64 服务器政策,以及如何将其与虚拟私有云 (VPC) 网络搭配使用。

准备工作

  • DNS64 服务器政策不适用于双栈虚拟机 (VM) 实例、仅 IPv4 的虚拟机实例、无服务器工作负载,或发送到由入站 DNS 服务器政策创建的端点的请求。
  • 确保您拥有创建 DNS64 服务器政策所需的权限。

创建 DNS64 服务器政策

创建 DNS64 服务器政策,以实现 IPv6 专用工作负载与 IPv4 专用目标之间的通信。

创建 DNS64 服务器政策后,当查询 IPv6 (AAAA) 记录时,会发生以下情况:

  • 如果存在 AAAA DNS 记录,DNS 服务器会返回 IPv6 地址。您的工作负载通过该 IPv6 地址进行连接。
  • 如果不存在 AAAA DNS 记录,Cloud DNS 会查找 A 记录。 然后,Cloud DNS 会使用 64:ff9b::/96 IPv6 前缀为 A 记录中的 IPv4 地址创建 IPv6 地址。

如需创建 DNS64 服务器政策,请按照以下步骤操作。

gcloud

如需创建 DNS64 服务器政策,请运行 gcloud dns policies create 命令

gcloud beta dns policies create NAME \
    --description=DESCRIPTION \
    --networks=VPC_NETWORK_LIST \
    --enable-dns64-all-queries

替换以下内容:

  • NAME:政策的名称
  • DESCRIPTION:政策的说明
  • VPC_NETWORK_LIST:必须创建入站转发地址的 VPC 网络的逗号分隔列表

API

如需创建 DNS64 服务器政策,请使用 policies.create 方法

POST https://dns.googleapis.com/dns/beta/projects/PROJECT_ID/policies
{
  "kind": "dns#policy",
  "networks": [
    {
      "kind": "dns#policyNetwork",
      "networkUrl": "NETWORK_URL"
    }
  ],
  "dns64Config":
    {
        "scope":
        {
          allQueries: true,
        }
    }
  }

替换以下内容:

  • PROJECT_ID:您的项目 ID。
  • NETWORK_URL:DNS 服务器政策必须绑定到的 VPC 网络的完全限定网址,格式如下:https://www.googleapis.com/compute/v1/projects/PROJECT_ID/global/networks/VPC_NETWORK_NAME。指定包含仅限 IPv6 的子网和实例的网络。

验证是否已启用 DNS64 服务器政策

gcloud

如需列出项目中的所有 DNS 服务器政策,请运行 dns policies list 命令

gcloud dns policies list

如需获取有关特定 DNS64 服务器政策的详细信息,请运行 gcloud dns policies describe 命令

gcloud dns policies describe NAME

NAME 替换为您要详细了解的 DNS64 服务器政策的名称。

停用 DNS64 服务器政策

gcloud

如需停用 DNS64 服务器政策,请运行 dns policies update 命令

gcloud dns policies update NAME \
    --no-enable-dns64-all-queries

NAME 替换为您要停用的 DNS64 服务器政策的名称。

后续步骤

  • 如需配置 NAT64 以实现从 IPv6 到 IPv4 地址的 Public NAT 转换,请按照创建 Cloud NAT 网关中的说明操作。
  • 如需大致了解 DNS 服务器政策,请参阅 DNS 服务器政策
  • 如需了解您在使用 Cloud DNS 时可能会遇到的常见问题的解决方案,请参阅排查 Cloud DNS 问题