Questo documento fornisce indicazioni sulla risoluzione dei problemi relativi a Cloud DNS in Google Distributed Cloud (GDC) con air gap. Copre i potenziali errori e problemi che potresti riscontrare durante l'esecuzione di operazioni di gestione sulle configurazioni DNS e fornisce suggerimenti per il debug dei problemi di risoluzione DNS. Il pubblico di destinazione di questo documento è costituito da amministratori della piattaforma e operatori di applicazioni responsabili della gestione dei record DNS all'interno di un progetto.
Risolvi i problemi relativi alle operazioni di gestione di Cloud DNS
Questa sezione fornisce informazioni per la risoluzione dei problemi comuni riscontrati durante l'esecuzione di operazioni di creazione, lettura, aggiornamento ed eliminazione (CRUD) su zone e set di record Cloud DNS.
Risoluzione dei problemi di base
- Assicurati di disporre dei ruoli IAM corretti, come descritto in Prepara le autorizzazioni IAM.
- Se utilizzi
gdcloud, puoi aggiornare il token di autenticazione eseguendogdcloud auth login.
Denominazione e convalida delle risorse (RFC 1123)
Problema: la creazione o l'aggiornamento non va a buon fine con errori di convalida o argomenti non validi.
Details:
- Nomi delle risorse: i nomi delle zone DNS e dei set di record devono essere conformi alla RFC
- Devono contenere solo caratteri alfanumerici minuscoli o
-e devono iniziare e terminare con un carattere alfanumerico.
- Devono contenere solo caratteri alfanumerici minuscoli o
- Nomi DNS: i valori per i nomi di dominio e i nomi di dominio completi (FQDN) devono essere nomi di dominio validi.
- Valori enum: i valori come la visibilità (
PUBLICoPRIVATE) e i tipi di record (ad es.A,CNAME) sono sensibili alle maiuscole e devono corrispondere esattamente alla stringa prevista.
Impossibile eliminare le zone non vuote
Problema: non è possibile eliminare una zona gestita; l'operazione viene rifiutata.
Dettagli: una zona DNS gestita deve essere priva di set di record di risorse prima di poter essere eliminata. Devi prima eliminare tutti i record all'interno della zona.
Conflitti di nomi e domini
Problema: impossibile creare una risorsa con un errore che indica che il nome o il dominio è già in uso.
Details:
- Nome della risorsa Kubernetes: il nome dell'oggetto (ad esempio, il nome in
metadata.name) deve essere univoco all'interno dello spazio dei nomi del progetto specifico. - Nome DNS (FQDN): il nome di dominio effettivo (ad es.
dnsNameper zone o record) deve essere univoco all'interno di una determinata visibilità (PUBBLICA o PRIVATA). Non puoi creare due zone o due record con lo stesso nome di dominio nello stesso livello di visibilità.
Risolvi i problemi di risoluzione DNS
Questa sezione aiuta gli amministratori della piattaforma e gli operatori delle applicazioni a risolvere i problemi di risoluzione DNS durante l'accesso ai servizi ospitati su Google Distributed Cloud.
Attendi la propagazione e svuota la cache DNS
Quando i record DNS vengono creati o aggiornati, le modifiche potrebbero non essere visibili immediatamente. Questo ritardo è solitamente causato da:
- Tempo di riconciliazione: il sistema ha bisogno di tempo per elaborare la richiesta e aggiornare la configurazione del server DNS. Generalmente l'operazione richiede qualche minuto.
- Ritardo di propagazione DNS (memorizzazione nella cache): i resolver DNS e i client memorizzano nella cache i record per velocizzare le ricerche. I client potrebbero continuare a utilizzare il record precedente fino alla scadenza del periodo di durata (TTL).
Consigli:
- Attendi: concedi tempo sufficiente per la riconciliazione e la scadenza della cache.
- Svuota la cache: svuota la cache DNS locale per forzare una nuova ricerca.
Verifica la configurazione del resolver locale
Assicurati che il client utilizzi i server DNS corretti. Se non conosci l'indirizzo IP corretto, contatta il team di Infrastructure Operations (IO) per trovare l'IP del server DNS corretto.
- Linux/macOS: controlla i contenuti di
/etc/resolv.conf. - Windows: esegui
ipconfig /alle controlla i server DNS elencati.
Le workstation dell'amministratore della piattaforma (PA) e dell'operatore dell'applicazione (AO) sulla rete del cliente devono utilizzare una risoluzione DNS separata dalla WAN IO e dalla rete OIRv2. Poiché i nomi di dominio GDC identici vengono risolti in indirizzi IP diversi a seconda che la query arrivi tramite la WAN IO o l'interconnessione del cliente, non è possibile utilizzare una configurazione DNS condivisa per le workstation IO e PA o AO. Per saperne di più, consulta Interconnessioni di sistema, Schema di denominazione dei domini DNS e il runbook DNS-R0016.
Testa la risoluzione utilizzando strumenti standard
Utilizza gli strumenti a riga di comando standard per testare la risoluzione e identificare dove si verifica l'errore.
Ricerca di base:
dig <domain_name>o
nslookup <domain_name>Esegui una query su un server DNS specifico: se conosci l'IP del server ManagedDNS pubblico, esegui una query direttamente per bypassare i resolver locali:
dig @<public_dns_server_ip> <domain_name>Esegui una query su un nameserver pubblico: per escludere problemi del resolver locale, prova a eseguire una query su un resolver pubblico come Google DNS:
dig @8.8.8.8 <domain_name>
Analizza i codici di risposta DNS
Quando utilizzi dig o nslookup, controlla il codice di stato nella risposta:
- NXDOMAIN: il nome di dominio non è stato trovato. Controlla che non ci siano errori di battitura o verifica se il record esiste.
- SERVFAIL: il server non è riuscito a elaborare la query. Questo spesso indica un problema lato server o un errore di comunicazione tra i server DNS.
- NOERROR: la query è stata eseguita correttamente, ma potrebbero non esserci risposte. Verifica se il tipo di record richiesto (ad es. A, CNAME) esiste.
- REFUSED: il server ha rifiutato di rispondere alla query, probabilmente a causa di impostazioni di policy o di controllo dell'accesso.
Controlla la connettività di rete
Assicurati che il traffico di rete verso il server DNS non sia bloccato.
- Il DNS utilizza la porta 53 sia per UDP che per TCP.
Testa la connettività utilizzando
nc(netcat):nc -zv <dns_server_ip> 53Verifica che le regole del firewall consentano il traffico sulla porta 53.
Svuota la cache DNS
Lo svuotamento della cache DNS rimuove tutte le voci dalla cache DNS locale. In questo modo, il sistema operativo è costretto a eseguire nuovamente una query sui server DNS per il nome di dominio, assicurandoti di ottenere il record più aggiornato anziché uno memorizzato nella cache non aggiornato.
- Windows:
ipconfig /flushdns- Cosa fa: svuota la cache del resolver DNS gestita dal servizio client DNS.
- macOS:
sudo killall -HUP mDNSResponder- Cosa fa: invia un segnale di interruzione (
HUP) al processomDNSResponder, forzando il ricaricamento e lo svuotamento della cache.
- Cosa fa: invia un segnale di interruzione (
- Linux (systemd-resolved):
sudo systemd-resolve --flush-cachesosudo resolvectl flush-caches- Cosa fa: indica al servizio
systemd-resolveddi eliminare la cache DNS interna.
- Cosa fa: indica al servizio
Controlla lo stato della risorsa con l'API o gdcloud
Se sei un tenant o hai accesso all'API GDC, puoi controllare direttamente lo stato delle risorse:
Controlla una zona DNS:
kubectl describe manageddnszone <zone_name> -n <project_namespace>Controlla un set di record di risorse:
kubectl describe resourcerecordset <record_name> -n <project_namespace>Cerca condizioni ed eventi che potrebbero indicare errori nel processo di riconciliazione.
Se hai accesso alla riga di comando gdcloud, puoi utilizzare il sottocomando describe come documentato in Elenca i record DNS o Elenca le zone DNS.