Quando crei istanze di macchine virtuali (VM) Compute Engine, il DNS interno crea automaticamente un nome DNS per la VM. Questo nome DNS Semplifica la comunicazione interna da VM a VM risolvendo gli indirizzi IP interni. Le reti Virtual Private Cloud su Google Cloud utilizzano il servizio DNS interno per consentire alle VM nella stessa rete di accedere l'una all'altra tramite nomi DNS interni.
Google Cloud crea, aggiorna e rimuove i seguenti tipi di record DNS quando gestisci le VM:
- Per le VM vengono creati i record di indirizzi DNS, o record A
in una zona DNS per
.internal
. - I record PTR per le VM, utilizzati per la ricerca DNS inversa, vengono creati invertire zone.
Ad esempio, quando elimini una VM, Google Cloud automaticamente rimuove i record A e PTR associati per il proprio nome DNS interno. Se quindi crea una VM con lo stesso nome, Google Cloud crea un nuovo record per la sostituzione.
Limitazioni
I nomi DNS interni hanno le seguenti specifiche:
Il nome DNS interno di una VM viene risolto solo nella rete principale Indirizzo IP. I nomi DNS interni non possono essere utilizzati per connettersi all'esterno gli indirizzi IP di una VM.
I nomi DNS interni non possono essere configurati per risolvere il problema in un server secondario IP alias.
I nomi DNS interni possono essere risolti solo da VM che si trovano negli stessi in ogni rete. Queste VM possono trovarsi nello stesso progetto della rete che usano la stessa rete VPC condiviso. per risolvere il problema DNS delle VM nei progetti di servizio, devi utilizzare i nomi di dominio completi delle VM. Tu non possono utilizzare il DNS interno per contattare le VM che si trovano in una rete diversa.
Nomi DNS interni a livello di zona e globale
Google Cloud ha due tipi di nomi DNS interni:
- DNS di zona: i nomi delle VM devono essere univoci all'interno di ogni zona, ma è possibile riutilizzare la VM
nomi tra zone diverse. Ad esempio, puoi avere diverse VM denominate
instance-1
purché le VM si trovino in zone diverse. - DNS globale: i nomi delle VM devono essere univoci all'interno di ogni progetto. Con il DNS globale, non puoi riutilizzare i nomi delle VM all'interno del progetto.
Google consiglia vivamente di utilizzare DNS di zona perché offre maggiore affidabilità isolando gli errori nella registrazione DNS le singole zone. In caso di interruzione, il DNS globale ha quanto segue: problemi:
- Il nome della VM deve essere univoco in tutto il progetto. Di conseguenza, non puoi creare nuove VM in qualsiasi regione con errori del piano di controllo in cui possedevano o disponevano in precedenza di risorse di progetto. Google Cloud non può e verificare i nomi DNS delle risorse esistenti nella regione non disponibile.
- Alcune funzionalità di Compute Engine non sono disponibili, scalabilità automatica dei gruppi di istanze gestite. Di conseguenza, le applicazioni che usano la scalabilità automatica per gestire di carichi di lavoro non sono in grado di fare lo scale up.
Il tipo di DNS interno predefinito viene impostato quando attivi il l'API Compute Engine.
- Il tipo di DNS interno predefinito è DNS di zona.
- Se la tua organizzazione o un progetto autonomo ha abilitato l'API Compute Engine prima del 6 settembre 2018, il tipo di DNS interno predefinito sarà impostato su il DNS globale.
I nomi di dominio completi per i nomi DNS interni sono descritti nella sezione seguente.
Tipo DNS interno | Nome di dominio completo (FQDN) |
---|---|
DNS di zona | VM_NAME.ZONE.c.PROJECT_ID.internal |
DNS globale (a livello di progetto) | VM_NAME.c.PROJECT_ID.internal |
Sostituisci quanto segue:
VM_NAME
: il nome della VM. Per DNS a livello di zona, questo valore deve essere univoco all'interno della zona, ma può essere ripetuto tra zone diverse. Per il DNS globale, il nome della VM deve essere univoco in tutto il progetto.ZONE
: la zona in cui si trova l'istanza.PROJECT_ID
: il progetto a cui appartiene la VM.
Per informazioni su come controllare quale tipo di nome DNS interno viene utilizzato a livello di progetto o istanza, consulta configurare i nomi DNS per il progetto o le istanze.
Risoluzione dei nomi DNS
Le VM ricevono informazioni sulla risoluzione DNS interna come parte dei lease DHCP. Il metodo di risoluzione DNS dipende dalla piattaforma del sistema operativo:
- Linux: per impostazione predefinita, il server DNS della VM (
169.254.169.254:53
) viene risolto nomi DNS interni. - Windows: per impostazione predefinita, il gateway predefinito della subnet risolve il DNS interno names.
Invertire le zone per i record PTR
Il servizio DNS interno di Google Cloud crea automaticamente record PTR per VM nel seguente invertire zone:
10.in-addr.arpa.
168.192.in-addr.arpa.
16.172.in-addr.arpa.
,17.172.in-addr.arpa.
, ... alla31.172.in-addr.arpa.
Nomi DNS interni e VPC condiviso
Puoi utilizzare un nome DNS interno per fare riferimento all'indirizzo IP interno di una VM anche quando l'indirizzo IP si trova in una rete VPC condiviso in progetto host. Con condivisi VPC, la parte dell'ID progetto del traffico interno globale (a livello di progetto) Il nome DNS è l'ID del progetto di servizio.
Personalizzazione dei nomi DNS interni
Alcune organizzazioni o applicazioni potrebbero richiedere nomi DNS interni personalizzati anziché i nomi DNS interni predefiniti creati da Google Cloud.
Zone private e record personalizzati con Cloud DNS
Puoi utilizzare una zona privata Cloud DNS per creare voci DNS personalizzate per le tue VM. Puoi configurare il report PTR che consentono di eseguire l'override dell'URL DNS interno predefinito per la VM con all'URL personalizzato che fornisci.
Per creare record PTR personalizzati che eseguono l'override i nomi PTR DNS interni creati automaticamente, vedi Record PTR per gli indirizzi RFC 1918 nelle zone private. Per informazioni sulla creazione di record PTR per le VM, consulta Crea un record PTR per un'istanza VM.
Nomi host personalizzati
Puoi specificare un nome host personalizzato per una VM quando la crei. Personalizzate i nomi host assegnati in questo modo non vengono risolti dal DNS interno. Con personalizzati nomi host, devi comunque creare un record DNS corrispondente nel nella zona appropriata (ad esempio usando Cloud DNS). Per ulteriori informazioni, vedi crea un'istanza VM con un nome host personalizzato.
DNS e DHCP interni
Le VM di Compute Engine sono configurate per il rinnovo Il lease del DHCP viene eseguito ogni 24 ore. Per le VM abilitate per il DNS di zona, Il lease DHCP scade ogni ora. VM che utilizzano I DNS di zona hanno sia a livello di zona che a livello globale nel file di configurazione DHCP.
Per impostazione predefinita, la maggior parte delle distribuzioni Linux archivia le informazioni DHCP
resolv.conf
.
La modifica manuale di resolv.conf
comporta il ripristino dell'impostazione predefinita
DHCP ogni volta che il lease DHCP scade sulla VM. Per rendere
modifiche statiche nel file resolv.conf
, diverse distribuzioni Linux
consente di anteporre o aggiungere elementi al
Criterio DHCP:
La modalità di modifica del criterio DHCP o del file di configurazione dipende da cosa
distribuzione Linux che usi. Ad esempio, Red Hat Enterprise Linux e Debian
usa il file di configurazione /etc/dhcp/dhcpd.conf
. Su CentOS, utilizzi
l'utilità a riga di comando di Network Manager,
nmcli
.
Fai riferimento alla documentazione del tuo sistema operativo per informazioni su come: configurare impostazioni di rete personalizzate per DHCP e DNS. Ad esempio, per Red Hat Enterprise Linux per SAP con alta disponibilità e Update Services 8.6, utilizzare il al seguente link: Configurazione manuale del file /etc/resolv.conf
File resolv.conf
di esempio
Per impostazione predefinita, la maggior parte delle distribuzioni Linux archivia le informazioni DHCP
resolv.conf
.
Il servizio systemd-resolved
fornisce anche servizi di resolver per DNS.
Puoi configurare questo servizio modificando il file /etc/systemd/resolved.conf
e altri file *.conf
nella directory /etc/systemd/resolved.conf.d/
. Attivato
Distribuzioni Linux che archiviano informazioni DHCP in resolved.conf
, puoi visualizzare
le voci DNS globali e a livello di zona
/etc/systemd/resolved.conf
.
Questi file presentano le seguenti limitazioni:
- Il percorso di ricerca può gestire solo 6 record, di cui 3 vengono forniti da Compute Engine. Se aggiungi voci a il percorso di ricerca in modo tale che il numero totale di voci sia maggiore di 6, le regole di ricerca dopo la 6a voce non vengono applicate dal tuo sistema operativo. Questo può causare l'interruzione del funzionamento di funzionalità di Compute Engine, alle VM usando i nomi delle istanze.
La modifica manuale di
resolv.conf
comporta il ripristino dell'impostazione predefinita DHCP ogni volta che il lease DHCP di 24 ore scade sulla VM. Sulle VM utilizzando il DNS di zona, il lease DHCP scade ogni ora. Per rendere modifiche statiche nel fileresolv.conf
, diverse distribuzioni Linux consente di anteporre o aggiungere elementi al Criterio DHCP:
Configurazione DNS di zona
File resolv.conf
di zona di esempio:
# Local domain name. Computed from your project name. domain ZONE.c.PROJECT_ID.internal # Search list for hostname lookup. Starting with entries that represent # your project and ending with google.internal to facilitate metadata server requests. search ZONE.c.PROJECT_ID.internal. c.PROJECT_ID.internal. google.internal. # Address of the DNS server to resolve project specific, and global domain names. nameserver 169.254.169.254
Sostituisci quanto segue:
ZONE
: la zona in cui si trova la VMPROJECT_ID
: il progetto a cui la VM appartiene
File dhcp.lease
di zona di esempio:
lease { # What interface we are using for the network interface "eth0"; fixed-address 10.128.0.9; option subnet-mask 255.255.255.255; option routers 10.128.0.1; # Lease timeout, older VM instances will have this value set to infinite. option dhcp-lease-time 3600; option dhcp-message-type 5; option domain-name-servers 169.254.169.254; option dhcp-server-identifier 169.254.169.254; option interface-mtu 1460; # Search path options that are copied into the resolv.conf option domain-search "ZONE.c.PROJECT_ID.internal.", "c.PROJECT_ID.internal.", "google.internal."; option ntp-servers 169.254.169.254; option rfc3442-classless-static-routes 32,10,128,0,1,0,0,0,0,0,10,128,0,1; option host-name "VM_NAME.ZONE.c.PROJECT_ID.internal"; option domain-name "ZONE.c.PROJECT_ID.internal"; renew 4 2017/11/16 02:15:52; rebind 4 2017/11/16 02:43:59; expire 4 2017/11/16 02:51:29; }
Sostituisci quanto segue:
VM_NAME
: il nome della VMZONE
: la zona in cui si trova la VMPROJECT_ID
: il progetto a cui la VM appartiene
Configurazione DNS globale
File resolv.conf
globale di esempio:
# Local domain name. Computed from your project name. domain c.PROJECT_ID.internal # Search list for hostname lookup. Starting with entries that represent # your project and ending with google.internal to facilitate metadata server requests. search c.PROJECT_ID.internal google.internal. # Address of the DNS server to resolve project specific, and global domain names. nameserver 169.254.169.254
Sostituisci PROJECT_ID
con il progetto in cui
La VM appartiene.
File dhcp.lease
globale di esempio:
lease { # What interface we are using for the network interface "eth0"; fixed-address 10.128.0.8; option subnet-mask 255.255.255.255; option routers 10.128.0.1; # Lease timeout, older VM instances will have this value set to infinite. option dhcp-lease-time 86400; option dhcp-message-type 5; option domain-name-servers 169.254.169.254; option dhcp-server-identifier 169.254.169.254; option interface-mtu 1460; # Search path options that are copied into the resolv.conf option domain-search "c.PROJECT_ID.internal.", "google.internal."; option ntp-servers 169.254.169.254; option rfc3442-classless-static-routes 32,10,128,0,1,0,0,0,0,0,10,128,0,1; option host-name "VM_NAME.c.PROJECT_ID.internal"; option domain-name "c.PROJECT_ID.internal"; renew 4 2017/11/16 12:07:00; rebind 4 2017/11/16 22:44:53; expire 5 2017/11/17 01:44:53; }
Sostituisci quanto segue:
VM_NAME
: il nome della VMPROJECT_ID
: il progetto a cui la VM appartiene
File dhclient.conf
di esempio
Alcuni sistemi operativi, come Debian 9, utilizzano invece il file dhclient.conf
del file resolv.conf
.
Esempio di file /etc/dhcp/dhclient.conf
:
# Configuration file for /sbin/dhclient.
#
...
append domain-search "mydomain.com";
prepend domain-name-servers 172.16.1.1;
In questo esempio, mydomain.com
è il nuovo dominio di ricerca e 172.16.1.1
è
l'IP del tuo server DNS.
Passaggi successivi
- Per informazioni sulle reti VPC di Google Cloud, consulta Panoramica di VPC.
- Per informazioni sulla creazione e sulla modifica delle reti VPC, consulta Utilizzo del VPC.
- Esegui la migrazione dell'organizzazione e dei progetti a utilizza il DNS di zona anziché il DNS globale.