In diesem Dokument finden Sie eine Anleitung zur Fehlerbehebung bei Problemen mit Cloud DNS in Google Distributed Cloud (GDC) mit Air Gap. Es werden potenzielle Fehler und Probleme behandelt, die bei der Verwaltung von DNS-Konfigurationen auftreten können. Außerdem finden Sie Tipps und Vorschläge zur Fehlerbehebung bei der DNS-Auflösung. Dieses Dokument richtet sich an Plattformadministratoren und Anwendungsoperatoren, die für die Verwaltung von DNS-Einträgen in einem Projekt verantwortlich sind.
Fehlerbehebung bei Cloud DNS-Verwaltungsvorgängen
In diesem Abschnitt finden Sie Informationen zur Fehlerbehebung bei häufigen Problemen, die beim Erstellen, Lesen, Aktualisieren und Löschen (CRUD) von Cloud DNS-Zonen und -Eintragssätzen auftreten können.
Allgemeine Fehlerbehebung
- Prüfen Sie, ob Sie die richtigen IAM-Rollen haben, wie unter IAM-Berechtigungen vorbereiten beschrieben.
- Wenn Sie
gdcloudverwenden, können Sie Ihr Authentifizierungstoken mitgdcloud auth loginaktualisieren.
Ressourcenbenennung und -validierung (RFC 1123)
Problem: Das Erstellen oder Aktualisieren schlägt mit einem ungültigen Argument oder Validierungsfehlern fehl.
Details:
- Ressourcennamen: Namen für DNS-Zonen und -Eintragssätze müssen RFC
- entsprechen.
- Sie dürfen nur kleingeschriebene alphanumerische Zeichen oder
-enthalten und müssen mit einem alphanumerischen Zeichen beginnen und enden.
- Sie dürfen nur kleingeschriebene alphanumerische Zeichen oder
- DNS-Namen: Werte für Domainnamen und voll qualifizierte Domainnamen (FQDNs) müssen gültige Domainnamen sein.
- Enum-Werte: Bei Werten wie Sichtbarkeit (
PUBLICoderPRIVATE) und Eintragstypen (z. B.A,CNAME) wird die Groß-/Kleinschreibung berücksichtigt. Sie müssen genau mit dem erwarteten String übereinstimmen.
Nicht leere Zonen können nicht gelöscht werden
Problem: Eine verwaltete Zone kann nicht gelöscht werden. Der Vorgang wird abgelehnt.
Details: Eine verwaltete DNS-Zone darf keine Ressourceneintragssätze enthalten, bevor sie gelöscht werden kann. Sie müssen zuerst alle Einträge in der Zone löschen.
Namens- und Domainkonflikte
Problem: Eine Ressource kann nicht erstellt werden, weil der Name oder die Domain bereits verwendet wird.
Details:
- Kubernetes-Ressourcenname: Der Name des Objekts (z.B. der Name in
metadata.name) muss innerhalb des spezifischen Projekt-Namespace eindeutig sein. - DNS-Name (FQDN): Der tatsächliche Domainname (z.B.
dnsNamefür Zonen oder Einträge) muss innerhalb einer bestimmten Sichtbarkeit (ÖFFENTLICH oder PRIVAT) eindeutig sein. Sie können nicht zwei Zonen oder zwei Einträge mit demselben Domainnamen in derselben Sichtbarkeitsstufe erstellen.
Probleme mit der DNS-Auflösung beheben
In diesem Abschnitt finden Plattformadministratoren und Anwendungsoperatoren Informationen zur Fehlerbehebung bei Problemen mit der DNS-Auflösung beim Zugriff auf Dienste, die in Google Distributed Cloud gehostet werden.
Warten Sie, bis die Änderungen übernommen wurden, und leeren Sie den DNS-Cache.
Wenn DNS-Einträge erstellt oder aktualisiert werden, sind die Änderungen möglicherweise nicht sofort sichtbar. Diese Verzögerung hat in der Regel folgende Ursachen:
- Abgleichzeit: Das System benötigt Zeit, um die Anfrage zu verarbeiten und die DNS-Serverkonfiguration zu aktualisieren. Das dauert in der Regel ein paar Minuten.
- Verzögerung bei der DNS-Weitergabe (Caching): DNS-Resolver und Clients speichern Einträge im Cache, um Suchvorgänge zu beschleunigen. Clients verwenden den alten Eintrag möglicherweise so lange, bis die TTL-Dauer (Time to Live) abgelaufen ist.
Empfehlungen:
- Warten: Planen Sie genügend Zeit für den Abgleich und den Ablauf des Cache ein.
- Cache leeren: Leeren Sie Ihren lokalen DNS-Cache, um eine neue Suche zu erzwingen.
Konfiguration des lokalen Resolvers prüfen
Achten Sie darauf, dass Ihr Client die richtigen DNS-Server verwendet. Wenn Sie die richtige IP-Adresse nicht kennen, wenden Sie sich an Ihr Infrastructure Operations-Team (IO), um die richtige DNS-Server-IP-Adresse zu ermitteln.
- Linux/macOS: Prüfen Sie den Inhalt von
/etc/resolv.conf. - Windows: Führen Sie
ipconfig /allaus und prüfen Sie die aufgeführten DNS-Server.
Workstations von Plattformadministratoren (PA) und Anwendungsoperatoren (AO) im Kundennetzwerk müssen eine DNS-Auflösung verwenden, die vom IO-WAN und OIRv2-Netzwerk getrennt ist. Da identische GDC-Domainnamen je nachdem, ob die Anfrage über das IO-WAN oder die Kunden-Interconnect-Verbindung eingeht, in unterschiedliche IP-Adressen aufgelöst werden, ist es nicht möglich, eine gemeinsame DNS-Konfiguration für IO- und PA- oder AO-Workstations zu verwenden. Weitere Informationen finden Sie unter Systemverbindungen, DNS-Domain-Namensschema und im Runbook DNS-R0016.
Lösung mit Standardtools testen
Verwenden Sie Standard-Befehlszeilentools, um die Auflösung zu testen und festzustellen, wo der Fehler auftritt.
Einfache Suche:
dig <domain_name>oder
nslookup <domain_name>Bestimmten DNS-Server abfragen: Wenn Sie die IP-Adresse des öffentlichen ManagedDNS-Servers kennen, fragen Sie ihn direkt ab, um lokale Resolver zu umgehen:
dig @<public_dns_server_ip> <domain_name>Öffentlichen Nameserver abfragen: Um Probleme mit dem lokalen Resolver auszuschließen, können Sie einen öffentlichen Resolver wie Google DNS abfragen:
dig @8.8.8.8 <domain_name>
DNS-Antwortcodes analysieren
Wenn Sie dig oder nslookup verwenden, prüfen Sie den Statuscode in der Antwort:
- NXDOMAIN: Der Domainname wurde nicht gefunden. Prüfen Sie, ob Tippfehler vorliegen oder ob der Eintrag vorhanden ist.
- SERVFAIL: Der Server konnte die Abfrage nicht verarbeiten. Dies deutet häufig auf ein Problem auf der Serverseite oder einen Kommunikationsfehler zwischen DNS-Servern hin.
- NOERROR: Die Abfrage war erfolgreich, aber es gibt möglicherweise keine Antworten. Prüfen Sie, ob der angeforderte Eintragstyp (z.B. A, CNAME) vorhanden ist.
- REFUSED: Der Server hat die Beantwortung der Anfrage abgelehnt, wahrscheinlich aufgrund von Richtlinien- oder Zugriffssteuerungseinstellungen.
Netzwerkverbindung prüfen
Achten Sie darauf, dass der Netzwerkverkehr zum DNS-Server nicht blockiert wird.
- Das DNS verwendet Port 53 sowohl für UDP als auch für TCP.
Testen Sie die Verbindung mit
nc(netcat):nc -zv <dns_server_ip> 53Prüfen Sie, ob die Firewallregeln Traffic auf Port 53 zulassen.
DNS-Cache leeren
Durch das Leeren des DNS-Cache werden alle Einträge aus dem lokalen DNS-Cache entfernt. Dadurch wird Ihr Betriebssystem gezwungen, die DNS-Server noch einmal nach dem Domainnamen abzufragen. So erhalten Sie den aktuellsten Eintrag und nicht einen veralteten im Cache gespeicherten Eintrag.
- Windows:
ipconfig /flushdns- Funktion: Löscht den DNS-Resolver-Cache, der vom DNS-Clientdienst verwaltet wird.
- macOS:
sudo killall -HUP mDNSResponder- Funktion: Sendet ein Hangup-Signal (
HUP) an denmDNSResponder-Prozess, um ihn zum Neuladen und Leeren des Caches zu zwingen.
- Funktion: Sendet ein Hangup-Signal (
- Linux (systemd-resolved):
sudo systemd-resolve --flush-cachesodersudo resolvectl flush-caches- Funktion: Weist den
systemd-resolved-Dienst an, seinen internen DNS-Cache zu verwerfen.
- Funktion: Weist den
Ressourcenstatus mit API oder gdcloud prüfen
Wenn Sie ein Mandant sind oder Zugriff auf die GDC API haben, können Sie den Status der Ressourcen direkt prüfen:
DNS-Zone prüfen:
kubectl describe manageddnszone <zone_name> -n <project_namespace>Ressourceneintragssatz prüfen:
kubectl describe resourcerecordset <record_name> -n <project_namespace>Suchen Sie nach Bedingungen und Ereignissen, die auf Fehler im Abgleichsprozess hinweisen könnten.
Wenn Sie Zugriff auf die gdcloud-Befehlszeile haben, können Sie den Unterbefehl describe verwenden, wie unter DNS-Einträge auflisten oder DNS-Zonen auflisten dokumentiert.