Applica i criteri del server Cloud DNS

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

Prima di iniziare

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

Se la creazione di un'applicazione utilizza l'API REST, è necessario creare anche un ID client OAuth 2.0.

  1. Registrati per creare un Account Google, se non ne hai già uno.
  2. Abilita l'API Cloud DNS nella console Google Cloud. Puoi scegliere un progetto Compute Engine o App Engine esistente oppure puoi crearne uno nuovo.
  3. Se devi inviare richieste all'API REST, devi creare un ID OAuth 2.0: configurazione di OAuth 2.0.
  4. Nel progetto, prendi nota delle seguenti informazioni che dovrai 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 nella console Google Cloud. Puoi anche chiedere all'utente di fornire il nome del progetto che vuole utilizzare nella tua app.

Se non hai già eseguito Google Cloud CLI, devi eseguire questo comando per specificare il nome del progetto e autenticarti con la console Google Cloud:

gcloud auth login

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

Crea criteri del server DNS

Ogni oggetto dei criteri del server DNS può definire uno qualsiasi dei seguenti criteri del server:

Ogni rete VPC non può fare riferimento a più di un 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 sia uno in uscita.

Crea un criterio del server in entrata

Per creare un criterio del server in entrata, segui queste istruzioni. Cloud DNS crea un insieme di indirizzi IP del forwarding 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 inserire un elenco dei punti di ingresso creati da Cloud DNS.

gcloud

Per creare un criterio del server 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 il criterio
  • DESCRIPTION: una descrizione della norma
  • VPC_NETWORK_LIST: un elenco delimitato da virgole di reti VPC in cui è necessario creare indirizzi di forwarding 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 in uscita

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

gcloud

Per creare un criterio del server 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 il criterio
  • DESCRIPTION: una descrizione della norma
  • VPC_NETWORK_LIST: un elenco delimitato da virgole di reti VPC che eseguono query sui server dei nomi alternativi
  • ALTERNATIVE_NAMESERVER_LIST: un elenco delimitato da virgole di indirizzi IP che puoi utilizzare come server dei nomi alternativi; il routing privato viene utilizzato solo per server dei nomi alternativi con indirizzi RFC 1918
  • PRIVATE_ALTERNATIVE_NAMESERVER_LIST: un elenco delimitato da virgole di indirizzi IP che puoi utilizzare come server dei nomi alternativi, a cui si accede mediante 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 per entrambi

gcloud

Per creare un criterio del server DNS per l'inoltro sia in entrata che 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 il criterio
  • DESCRIPTION: una descrizione della norma
  • VPC_NETWORK_LIST: un elenco delimitato da virgole di reti VPC in cui devono essere creati indirizzi di forwarding in entrata e che devono eseguire query sui server dei nomi alternativi
  • ALTERNATIVE_NAMESERVER_LIST: un elenco di indirizzi IP, delimitati da virgole, che puoi utilizzare come server dei nomi alternativi. Il routing privato viene utilizzato solo per i server dei nomi alternativi con indirizzi RFC 1918.
  • PRIVATE_ALTERNATIVE_NAMESERVER_LIST: un elenco delimitato da virgole di indirizzi IP che puoi utilizzare come server dei nomi alternativi, a cui si accede mediante 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 dell'inoltro in entrata

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

Le regole firewall di Google Cloud non si applicano agli indirizzi interni a livello di regione che fungono da punti di ingresso per i forwarding in entrata. Cloud DNS accetta automaticamente il traffico TCP e UDP sulla porta 53.

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

gcloud

Per elencare il set di indirizzi IP interni a livello di regione 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 sezioni seguenti forniscono informazioni sulla modifica delle reti VPC e sull'attivazione o disattivazione dell'inoltro in entrata.

Modifica reti VPC

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

  • Se il criterio specifica un criterio in entrata, i punti di ingresso per i forwarding in entrata vengono creati nelle reti VPC in base alle esigenze.
  • 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 un criterio 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 il criterio
  • VPC_NETWORK_LIST: un elenco delimitato da virgole di reti VPC a cui si applica il criterio; l'elenco di reti VPC specificato sostituisce l'elenco precedente

Attivare o disattivare l'inoltro in entrata

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

gcloud

Per abilitare 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 del criterio.

Elenca criteri DNS

gcloud

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

gcloud dns policies list

Elimina un criterio DNS

gcloud

Per eliminare un criterio del server, esegui il comando dns policies delete:

gcloud dns policies delete NAME

Sostituisci NAME con il nome del criterio da eliminare.

Passaggi successivi