Configura i criteri dei server Cloud DNS

In questa pagina viene descritto come configurare i criteri del server Cloud DNS e con le reti Virtual Private Cloud (VPC). Prima di usare questa pagina, rivedi il Panoramica dei criteri del server DNS.

Prima di iniziare

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

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

  1. Se non ne hai già uno, crea un Account Google.
  2. Attiva l'API Cloud DNS nella console Google Cloud. 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'istanza ID OAuth 2.0. Consulta: Configurare 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 del progetto che vuoi utilizzare. Puoi trovare l'ID nella parte superiore della pagina Panoramica della console Google 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 il seguente 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 i criteri del server DNS

Ogni oggetto criterio del server DNS può definire uno dei seguenti criteri 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 un rete VPC, crea un criterio che definisca sia un traffico in entrata 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 di inoltro in entrata dagli intervalli di indirizzi IPv4 primari delle subnet in ogni rete VPC a cui si applica il criterio. Dopo aver creato il criterio, puoi elencare i punti di ingresso che Cloud DNS crea.

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 del criterio
  • VPC_NETWORK_LIST: un elenco di delimitato da virgole di Reti VPC in cui gli indirizzi di forwarding in entrata devono essere creati

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 del criterio
  • VPC_NETWORK_LIST: un elenco separato da virgole di reti VPC che eseguono query sui server dei nomi alternativi
  • ALTERNATIVE_NAMESERVER_LIST: un elenco di indirizzi IP separati da virgole che puoi utilizzare come server DNS alternativi. Il routing privato viene utilizzato solo per i server DNS alternativi con indirizzi RFC 1918
  • PRIVATE_ALTERNATIVE_NAMESERVER_LIST: un elenco delimitato da virgole di indirizzi IP che puoi utilizzare come nameserver alternativi, a cui accedi 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 per entrambi

gcloud

Per creare un criterio del server DNS sia per l'inoltro in entrata sia per quello 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 del criterio
  • VPC_NETWORK_LIST: un elenco separato da virgole di reti VPC in cui devono essere creati indirizzi di inoltro in entrata e che devono eseguire 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 i server DNS alternativi con indirizzi RFC 1918.
  • PRIVATE_ALTERNATIVE_NAMESERVER_LIST: un elenco di indirizzi IP delimitato da virgole che puoi usare come alternativa a cui si accede tramite 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 punti di ingresso dello strumento di inoltro in entrata

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

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

Ogni inoltro in entrata accetta e riceve query dai tunnel Cloud VPN o dagli allegati (VLAN) Cloud Interconnect nella stessa regione dell'indirizzo IP interno regionale. Le istanze VM possono accedere al forwarder entrante tramite uno degli indirizzi IP interni della 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 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 criteri DNS

Le seguenti sezioni forniscono informazioni su come modificare le reti VPC e attivare o disattivare il reindirizzamento in entrata.

Modifica reti VPC

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

  • Se il criterio specifica un criterio in entrata, i punti di ingresso per gli inoltro in entrata vengono create nelle reti VPC in base alle esigenze.
  • Se il criterio specifica un criterio in uscita, la risoluzione del nome di ogni rete VPC viene aggiornato in modo da includere server dei nomi alternativi.

gcloud

Per modificare l'elenco di reti a cui si applica un criterio del server DNS, esegui il comando 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 di delimitato da virgole di le reti VPC a cui si applica il criterio. l'elenco dei Le reti VPC specificate sostituiscono l'elenco precedente

Attivare o disattivare il 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 la funzionalità 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 disattivare 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 i criteri DNS

gcloud

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

gcloud dns policies list

Eliminare 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