Applica i criteri server di Cloud DNS

Questa pagina descrive come configurare i criteri del server Cloud DNS e utilizzarli con le reti Virtual Private Cloud (VPC). Prima di utilizzare questa pagina, consulta la panoramica dei criteri del 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 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 in Cloud Console. Puoi scegliere un progetto Compute Engine o App Engine esistente oppure crearne uno nuovo.
  3. Se devi effettuare una richiesta all'API REST, devi creare un ID OAuth 2.0: Configurare OAuth 2.0.
  4. Nel progetto, tieni presente le 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 in Cloud Console. Puoi anche chiedere all'utente di fornire il nome del progetto che vuole utilizzare nella tua app.

Se non hai mai eseguito l'interfaccia a riga di comando di Google Cloud, devi eseguire il seguente comando per specificare il nome del progetto e autenticarti con Google Cloud Console:

gcloud auth login

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

Crea criteri del server DNS

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

Ogni rete VPC può fare riferimento a non più di un criterio del server DNS. Per definire un forwarding sia in entrata che in uscita per una rete VPC, crea un criterio che definisca sia un criterio in entrata che uno in uscita.

Creazione di un criterio del server della posta in entrata

Per creare un criterio del server della posta in entrata, segui queste istruzioni. Cloud DNS crea un set di indirizzi IP di inoltro in entrata in ogni rete VPC in cui viene applicato il criterio. Dopo aver creato il criterio, puoi elencare i punti di contatto creati da Cloud DNS.

gcloud

Per creare un criterio del server della posta 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: elenco di reti VPC delimitati da virgole in cui devono essere creati indirizzi di inoltro in entrata

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
}

Creare un criterio del server in uscita

Puoi creare un criterio del server in uscita per modificare l'ordine della risoluzione dei nomi di una rete VPC indirizzando tutte le query DNS a un server dei nomi alternativo. Per farlo, segui queste istruzioni. Prima di iniziare, assicurati di comprendere le differenze tra il routing standard e quello privato e i requisiti di rete per i server dei nomi alternativi.

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 di reti VPC separate da virgole che eseguono query sui server dei nomi alternativi
  • ALTERNATIVE_NAMESERVER_LIST: un elenco di indirizzi IP separati da virgole che puoi utilizzare come server dei nomi alternativi; il routing privato viene utilizzato solo per i server dei nomi alternativi che hanno indirizzi RFC 1918.
  • PRIVATE_ALTERNATIVE_NAMESERVER_LIST: un elenco di indirizzi IP delimitati da virgole che puoi utilizzare come server dei nomi alternativi, a cui si accede utilizzando il routing privato

Crea un criterio del server per entrambi

gcloud

Per creare un criterio del server DNS per il forwarding 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 il criterio
  • DESCRIPTION: una descrizione della norma
  • VPC_NETWORK_LIST: un elenco di reti VPC separate da virgole 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 di indirizzi IP separati da virgole che puoi utilizzare come server dei nomi alternativi. Il routing privato viene utilizzato solo per i server dei nomi alternativi che hanno indirizzi RFC 1918.
  • PRIVATE_ALTERNATIVE_NAMESERVER_LIST: un elenco di indirizzi IP delimitati da virgole che puoi utilizzare come server dei nomi alternativi, a cui si accede utilizzando il routing privato.

Elenca i punti di contatto dello forwarding 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 area geografica che fungono da destinazioni a cui i sistemi on-premise o i resolver dei nomi possono inviare richieste DNS. Questi indirizzi fungono da punti di accesso all'ordine di risoluzione dei nomi della tua rete VPC.

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

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

gcloud

Per elencare l'insieme di indirizzi IP interni a livello di area geografica che fungono da punti di contatto 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 sezioni seguenti forniscono informazioni sulla modifica delle reti VPC e sull'abilitazione o la disattivazione dell'inoltro in entrata.

Modifica reti VPC

L'elenco seguente descrive ciò che accade quando si modifica l'elenco di reti VPC a cui si applica un criterio DNS.

  • Se il criterio specifica un criterio in entrata, i punti di contatto per gli inoltro 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 indirizzare tutte le richieste a un server dei nomi alternativo.

gcloud

Per modificare l'elenco di 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 specificate sostituisce l'elenco precedente

Attiva o disattiva 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 disabilitare l'inoltro in entrata per un criterio DNS esistente.

gcloud

Per attivare il forwarding 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 criteri DNS

gcloud

Per elencare i criteri del server DNS nel 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.

Requisiti di rete alternativi per il server dei nomi

Quando Cloud DNS invia richieste a server dei nomi alternativi, invia pacchetti con gli intervalli di origine elencati nella tabella seguente. Per ulteriori informazioni di base sui diversi tipi di server dei nomi, consulta la sezione Server dei nomi alternativi e metodi di routing.

Tipo di server dei nomi alternativo Intervalli di origine

Server dei nomi di tipo 1

Un indirizzo IP interno di una VM Google Cloud nella stessa rete VPC con il criterio in uscita.

Server dei nomi di tipo 2

Un indirizzo IP di un sistema on-premise, connesso alla rete VPC con il criterio in uscita, utilizzando Cloud VPN o Cloud Interconnect.

35.199.192.0/19

Cloud DNS utilizza l'intervallo di origine 35.199.192.0/19 per tutti i clienti. Questo intervallo è accessibile solo da una rete VPC di Google Cloud o da una rete on-premise connessa a una rete VPC.

Server dei nomi di tipo 3

Un indirizzo IP esterno di un server dei nomi DNS accessibile a Internet o l'indirizzo IP esterno di una risorsa Google Cloud, ad esempio l'indirizzo IP esterno di una VM in un'altra rete VPC.

Intervalli di origini DNS pubbliche di Google

Server dei nomi alternativi di Tipo 1 e Tipo 2

Cloud DNS richiede quanto segue per accedere a un server dei nomi alternativo di tipo 1 o di tipo 2. Questi requisiti sono gli stessi, sia che il server dei nomi sia un indirizzo IP RFC 1918 sia che utilizzi il routing standard o che tu scelga il routing privato:

  • Configurazione del firewall per 35.199.192.0/19

    Per i server dei nomi di tipo 1, crea una regola firewall per la porta TCP e UDP 53 applicabile ai tuoi server dei nomi alternativi in ogni rete VPC configurata per utilizzare un criterio in uscita che specifichi il server dei nomi. Per i server dei nomi di tipo 2, configura un firewall di rete on-premise e attrezzature simili per consentire la porta TCP e UDP 53.

  • Indirizzare al server dei nomi alternativo

    Per i server dei nomi di tipo 1, Cloud DNS utilizza una route subnet per accedere al server dei nomi nella rete VPC configurata in modo da utilizzare un criterio in uscita che specifica il server dei nomi. Per i server dei nomi di tipo 2, Cloud DNS utilizza route statiche dinamiche o personalizzate, ad eccezione delle route statiche con tag, per accedere al server dei nomi.

  • Restituisci la route a 35.199.192.0/19 tramite la stessa rete VPC

    Per i server dei nomi di tipo 1, Google Cloud aggiunge automaticamente un percorso di reso speciale per la destinazione 35.199.192.0/19. Per i server dei nomi di tipo 2, la tua rete on-premise deve avere una route per la destinazione 35.199.192.0/19, il cui hop successivo si trova nella stessa rete VPC e nell'area geografica in cui ha avuto origine la richiesta, tramite un tunnel Cloud VPN o un collegamento Cloud Interconnect (VLAN). Per informazioni su come soddisfare questo requisito, consulta le strategie di percorso del reso per i server dei nomi di tipo 2.

  • Risposta diretta dal server dei nomi alternativo

    Cloud DNS richiede che il server dei nomi alternativo che riceve i pacchetti sia quello che invia risposte a 35.199.192.0/19. Se il tuo server dei nomi invia la richiesta a un altro server dei nomi e questo altro server dei nomi risponde a 35.199.192.0/19, Cloud DNS ignora la risposta. Per motivi di sicurezza, Google Cloud prevede che l'indirizzo sorgente di ogni risposta DNS alternativa del server dei nomi corrisponda all'indirizzo IP del server dei nomi alternativo.

Strategie di route di ritorno per i server dei nomi di tipo 2

Le risposte dei server dei nomi Tipo 2 non possono essere inviate tramite Internet, attraverso una rete VPC diversa o in un'altra area geografica (anche nella stessa rete VPC). Le risposte devono tornare alla stessa area geografica e alla stessa rete VPC, ma possono utilizzare qualsiasi tunnel Cloud VPN o collegamento Cloud Interconnect (VLAN) nella stessa area geografica e nella stessa rete.

  • Per i tunnel Cloud VPN che utilizzano il routing statico, crea manualmente un route nella tua rete on-premise la cui destinazione è 35.199.192.0/19 e il cui hop successivo è il tunnel Cloud VPN. Per i tunnel Cloud VPN che utilizzano il routing basato su criteri, configura il selettore del traffico locale di Cloud VPN e il selettore del traffico remoto del gateway VPN on-premise per includere 35.199.192.0/19.
  • Per i tunnel Cloud VPN che utilizzano il routing dinamico o per Cloud Interconnect, configura una pubblicità per le route personalizzate per 35.199.192.0/19 nella sessione BGP del router Cloud che gestisce il tunnel o il collegamento VLAN.

Server dei nomi alternativi di Tipo 3

Quando Cloud DNS utilizza il routing standard per accedere a un indirizzo IP esterno, si aspetta che il server dei nomi alternativo sia un sistema su Internet, accessibile pubblicamente o un indirizzo IP esterno di una risorsa Google Cloud.

Ad esempio, un server dei nomi alternativo di Tipo 3 include l'indirizzo IP esterno di una VM in un'altra rete VPC.

Il routing privato ai server dei nomi alternativi di Tipo 3 non è supportato.

Passaggi successivi