Configura DNS64

Questo documento descrive come configurare e utilizzare i criteri del server DNS64 con le reti Virtual Private Cloud (VPC).

Prima di iniziare

  • I criteri del server DNS64 non si applicano alle istanze di macchine virtuali (VM) a doppio stack, alle istanze VM solo IPv4, ai carichi di lavoro serverless o alle richieste inviate agli endpoint creati da un criterio del server DNS in entrata.
  • Assicurati di disporre delle autorizzazioni necessarie per creare una policy del server DNS64.

Crea un criterio del server DNS64

Crea una policy del server DNS64 per abilitare la comunicazione tra i carichi di lavoro solo IPv6 e le destinazioni solo IPv4.

Dopo aver creato una policy del server DNS64, quando viene eseguita una query su un record IPv6 (AAAA):

  • Se esiste un record DNS AAAA, il server DNS restituisce un indirizzo IPv6. Il tuo workload si connette utilizzando questo indirizzo IPv6.
  • Se non esiste alcun record DNS AAAA, Cloud DNS cerca i record A. Cloud DNS crea quindi indirizzi IPv6 per gli indirizzi IPv4 nel record A utilizzando il prefisso IPv6 64:ff9b::/96.

Per creare una policy del server DNS64, segui questi passaggi.

gcloud

Per creare un criterio del server DNS64, esegui il comando gcloud dns policies create:

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

Sostituisci quanto segue:

  • NAME: un nome per la policy
  • DESCRIPTION: una descrizione della policy
  • VPC_NETWORK_LIST: un elenco delimitato da virgole di reti VPC a cui è associata la policy del server 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
}

Sostituisci quanto segue:

  • NAME: un nome per la policy DNS64 in uscita
  • PRIVATE_IP_ADDRESS: l'indirizzo IP di un nameserver alternativo che utilizza un percorso di inoltro privato
  • PUBLIC_IP_ADDRESS: l'indirizzo IP di un altro server dei nomi alternativo

API

Per creare una policy del server DNS64, utilizza il metodo 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,
        }
    }
  }

Sostituisci quanto segue:

  • PROJECT_ID: il tuo ID progetto.
  • NETWORK_URL: l'URL completo della rete VPC a cui deve essere associato il criterio del server DNS, formattato come segue: https://www.googleapis.com/compute/v1/projects/PROJECT_ID/global/networks/VPC_NETWORK_NAME. Specifica la rete che contiene le subnet e le istanze solo IPv6.

Verifica se è abilitato un criterio del server DNS64

gcloud

Per elencare tutte le policy del server DNS nel tuo progetto, esegui il comando dns policies list:

gcloud dns policies list

Per ottenere informazioni dettagliate su una policy del server DNS64 specifica, esegui il comando gcloud dns policies describe:

gcloud dns policies describe NAME

Sostituisci NAME con il nome del criterio del server DNS64 per cui vuoi informazioni dettagliate.

Disattiva una policy del server DNS64

gcloud

Per disattivare una policy del server DNS64, esegui il comando dns policies update:

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

Sostituisci NAME con il nome del criterio del server DNS64 che vuoi disattivare.

Passaggi successivi