設定 DNS64

本文說明如何設定及使用 DNS64 伺服器政策和虛擬私有雲 (VPC) 網路。

事前準備

  • DNS64 伺服器政策不適用於雙重堆疊虛擬機器 (VM) 執行個體、僅限 IPv4 的 VM 執行個體、無伺服器工作負載,或傳送至輸入 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 dns policies create NAME \
    --description=DESCRIPTION \
    --networks=VPC_NETWORK_LIST \
    --enable-dns64-all-queries

更改下列內容:

  • NAME:政策名稱
  • DESCRIPTION:政策說明
  • VPC_NETWORK_LIST:以半形逗號分隔的虛擬私有雲網路清單,DNS 伺服器政策會繫結至這些網路

Terraform

resource "google_dns_policy" "default" {
  name = "NAME"

  dns64_config {
    scope {
      all_queries = true
    }
  }

  alternative_name_server_config {
    target_name_servers {
      ipv4_address    = "PRIVATE_IP_ADDRESS"
      forwarding_path = "private"
    }
    target_name_servers {
      ipv4_address = "PUBLIC_IP_ADDRESS"
    }
  }

  networks {
    network_url = google_compute_network.default.id
  }
}

resource "google_compute_network" "default" {
  name                    = "network"
  auto_create_subnetworks = false
}

更改下列內容:

  • NAME:傳出 DNS64 政策的名稱
  • PRIVATE_IP_ADDRESS:使用私人轉送路徑的替代名稱伺服器 IP 位址
  • PUBLIC_IP_ADDRESS:其他替代名稱伺服器的 IP 位址

API

如要建立 DNS64 伺服器政策,請使用 policies.create 方法:

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

更改下列內容:

  • PROJECT_ID:您的專案 ID。
  • NETWORK_URL:DNS 伺服器政策必須繫結的虛擬私有雲網路完整網址,格式如下: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 位址的 Public NAT 轉譯為 IPv4 位址,請按照「建立 Cloud NAT 閘道」中的操作說明進行操作。
  • 如要查看 DNS 伺服器政策總覽,請參閱「DNS 伺服器政策」。
  • 如要瞭解使用 Cloud DNS 時可能遇到的常見問題解決方案,請參閱「疑難排解 Cloud DNS」。