Configura i criteri del server DNS

Questa pagina descrive come configurare i criteri del server DNS e utilizzarli con le reti Virtual Private Cloud (VPC). Prima di utilizzare questa pagina, consulta la panoramica delle norme dei server DNS.

Prima di iniziare

L'API Cloud DNS richiede la creazione di un progetto Trusted Cloud e l'abilitazione dell'API Cloud DNS.

Se stai creando un'applicazione che utilizza l'API REST, devi anche creare un ID client OAuth 2.0.

  1. Se non ne hai ancora uno, registrati per aprire un Account Google.
  2. Abilita l'API Cloud DNS nella Trusted Cloud console. Puoi scegliere un progetto Compute Engine o App Engine esistente oppure crearne uno nuovo.
  3. Se devi effettuare richieste all'API REST, devi creare un ID OAuth 2.0. Consulta la pagina Configurare OAuth 2.0.
  4. Nel progetto, prendi nota delle seguenti informazioni che devi inserire nei passaggi successivi:
    • L'ID client (xxxxxx.apps.googleusercontent.com).
    • L'ID progetto che vuoi utilizzare. Puoi trovare l'ID nella parte superiore della pagina Panoramica della console Trusted Cloud . Puoi anche chiedere all'utente di fornire il nome del progetto che vuole utilizzare nella tua app.

Se non hai mai eseguito Google Cloud CLI, devi eseguire questo comando per specificare il nome del progetto ed eseguire l'autenticazione con la console Trusted Cloud :

gcloud auth login

Per scegliere un progetto diverso da quello che hai scelto in precedenza, specifica l'opzione --project nella riga di comando.

Crea policy del server DNS

Ogni oggetto policy del server DNS può definire una delle seguenti policy del server:

Ogni rete VPC può fare riferimento a un solo criterio del server DNS. Se devi definire l'inoltro sia in entrata che in uscita per una rete VPC, crea un criterio che definisca sia un criterio in entrata che uno in uscita. Non puoi configurare DNS64 (anteprima) con un criterio del server DNS in entrata.

Crea un criterio del server DNS in entrata

Per creare un criterio del server DNS in entrata, segui queste istruzioni. Cloud DNS crea un insieme di indirizzi IP di inoltro in entrata dagli intervalli di indirizzi IPv4 principali delle subnet in ogni rete VPC a cui si applica il criterio. Dopo aver creato il criterio, puoi elencare i punti di ingresso creati da Cloud DNS.

gcloud

Per creare un criterio del server DNS in entrata, esegui il comando dns policies create:

gcloud dns policies create NAME \
    --description=DESCRIPTION \
    --networks=VPC_NETWORK_LIST \
    --enable-inbound-forwarding

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 in cui devono essere creati gli indirizzi di inoltro in entrata

Terraform

resource "google_dns_policy" "default" {
  name                      = "example-inbound-policy"
  enable_inbound_forwarding = true

  networks {
    network_url = google_compute_network.default.id
  }
}

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

Crea un criterio del server DNS in uscita

Per specificare un elenco di server dei nomi alternativi per una rete VPC, puoi creare una policy del server DNS in uscita.

gcloud

Per creare una policy del server DNS in uscita, esegui il comando dns policies create:

gcloud dns policies create NAME \
    --description=DESCRIPTION \
    --networks=VPC_NETWORK_LIST \
    --alternative-name-servers=ALTERNATIVE_NAMESERVER_LIST \
    --private-alternative-name-servers=PRIVATE_ALTERNATIVE_NAMESERVER_LIST

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 che interrogano i server dei nomi alternativi
  • ALTERNATIVE_NAMESERVER_LIST: un elenco delimitato da virgole di indirizzi IP che puoi utilizzare come nameserver alternativi; il routing privato viene utilizzato solo per i nameserver alternativi che hanno indirizzi RFC 1918
  • PRIVATE_ALTERNATIVE_NAMESERVER_LIST: un elenco delimitato da virgole di indirizzi IP che puoi utilizzare come nameserver alternativi, a cui si accede utilizzando il routing privato

Terraform

resource "google_dns_policy" "default" {
  name = "example-outbound-policy"

  alternative_name_server_config {
    target_name_servers {
      ipv4_address    = "172.16.1.10"
      forwarding_path = "private"
    }
    target_name_servers {
      ipv4_address = "172.16.1.20"
    }
  }

  networks {
    network_url = google_compute_network.default.id
  }
}

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

Crea un criterio del server DNS per l'inoltro sia in entrata che in uscita

gcloud

Per creare un criterio del server DNS per l'inoltro in entrata e in uscita, esegui il comando dns policies create:

gcloud dns policies create NAME \
    --description=DESCRIPTION \
    --networks=VPC_NETWORK_LIST \
    --alternative-name-servers=ALTERNATIVE_NAMESERVER_LIST \
    --private-alternative-name-servers=PRIVATE_ALTERNATIVE_NAMESERVER_LIST \
    --enable-inbound-forwarding

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 in cui devono essere creati gli indirizzi di inoltro in entrata e che devono eseguire query sui server dei nomi alternativi
  • ALTERNATIVE_NAMESERVER_LIST: un elenco separato da virgole di indirizzi IP che puoi utilizzare come nameserver alternativi. Il routing privato viene utilizzato solo per i server dei nomi alternativi che hanno indirizzi RFC 1918.
  • PRIVATE_ALTERNATIVE_NAMESERVER_LIST: un elenco separato da virgole di indirizzi IP che puoi utilizzare come nameserver alternativi, a cui si accede tramite il routing privato.

Terraform

resource "google_dns_policy" "example_policy" {
  name                      = "example-policy"
  enable_inbound_forwarding = true

  enable_logging = true

  alternative_name_server_config {
    target_name_servers {
      ipv4_address    = "172.16.1.10"
      forwarding_path = "private"
    }
    target_name_servers {
      ipv4_address = "172.16.1.20"
    }
  }

  networks {
    network_url = google_compute_network.network_1.id
  }
  networks {
    network_url = google_compute_network.network_2.id
  }
}

resource "google_compute_network" "network_1" {
  name                    = "network-1"
  auto_create_subnetworks = false
}

resource "google_compute_network" "network_2" {
  name                    = "network-2"
  auto_create_subnetworks = false
}

Elenca i punti di ingresso del forwarder in entrata

Quando una policy del server DNS in entrata viene applicata a una rete VPC, Cloud DNS crea un insieme di indirizzi IP interni regionali che fungono da destinazioni a cui i tuoi sistemi on-premise o resolver dei nomi possono inviare query DNS. Questi indirizzi fungono da punti di ingresso per l'ordine di risoluzione dei nomi della tua rete VPC.

Le regole firewallTrusted Cloud non si applicano agli indirizzi interni regionali che fungono da punti di ingresso per i forwarder in entrata. Cloud DNS accetta automaticamente il traffico TCP e UDP sulla porta 53.

Ogni inoltratore in entrata accetta e riceve query dai tunnel Cloud VPN o dagli allegati Cloud Interconnect (VLAN) nella stessa regione dell'indirizzo IP interno regionale. Le istanze VM possono accedere al forwarder in entrata tramite uno qualsiasi degli indirizzi IP interni nella stessa rete VPC. Per accedere al forwarding in entrata, l'interfaccia di rete deve avere un indirizzo IP esterno o una subnet della NIC deve avere l'accesso privato Google abilitato.

gcloud

Per elencare l'insieme di indirizzi IP interni regionali che fungono da punti di ingresso per l'inoltro in entrata, esegui il comando compute addresses list:

gcloud compute addresses list \
    --filter='purpose = "DNS_RESOLVER"' \
    --format='csv(address, region, subnetwork)'

Aggiorna i criteri DNS

Le seguenti sezioni forniscono informazioni sulla modifica delle reti VPC e sull'attivazione o disattivazione dell'inoltro in entrata.

Modificare le reti VPC

Il seguente elenco descrive cosa succede quando modifichi l'elenco delle reti VPC a cui si applica un criterio DNS:

  • Se la policy specifica una policy in entrata, i punti di ingresso per gli inoltratori in entrata vengono creati nelle reti VPC in base alle necessità.
  • Se il criterio specifica un criterio in uscita, l'ordine di risoluzione dei nomi di ogni rete VPC viene aggiornato in modo da includere i server dei nomi alternativi specificati.

gcloud

Per modificare l'elenco delle reti a cui si applica una policy del server DNS, esegui il comando dns policies update:

gcloud dns policies update NAME \
    --networks=VPC_NETWORK_LIST

Sostituisci quanto segue:

  • NAME: un nome per la policy
  • VPC_NETWORK_LIST: un elenco separato da virgole di reti VPC a cui si applica il criterio; l'elenco di reti VPC che specifichi sostituisce l'elenco precedente

Attivare o disattivare l'inoltro in entrata

Puoi attivare l'inoltro in entrata per un criterio del server DNS che definisce solo un criterio in uscita (server dei nomi alternativo). Puoi anche disattivare l'inoltro in entrata per un criterio DNS esistente.

gcloud

Per attivare l'inoltro in entrata per un criterio del server DNS, esegui il comando dns policies update:

gcloud dns policies update NAME \
    --enable-inbound-forwarding

Per disabilitare l'inoltro in entrata per un criterio del server DNS, esegui il comando dns policies update:

gcloud dns policies update NAME \
    --no-enable-inbound-forwarding

Sostituisci NAME con il nome della policy.

Elenca i criteri DNS

gcloud

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

gcloud dns policies list

Elimina un criterio DNS

gcloud

Per eliminare una policy del server DNS, esegui il comando dns policies delete:

gcloud dns policies delete NAME

Sostituisci NAME con il nome della policy da eliminare.

Passaggi successivi