En este documento se ofrecen directrices para solucionar problemas con Cloud DNS en Google Distributed Cloud (GDC) aislado. En él se tratan los posibles errores y problemas que puedes encontrar al realizar operaciones de gestión en configuraciones de DNS, y se ofrecen consejos y sugerencias para depurar problemas con la resolución de DNS. Este documento está dirigido a administradores de plataformas y operadores de aplicaciones que se encargan de gestionar los registros DNS de un proyecto.
Solucionar problemas de operaciones de gestión de Cloud DNS
En esta sección se proporciona información para solucionar problemas habituales que se producen al realizar operaciones de creación, lectura, actualización y eliminación (CRUD) en zonas y conjuntos de registros de Cloud DNS.
Pasos básicos para solucionar problemas
- Asegúrate de que tienes los roles de gestión de identidades y accesos correctos, tal como se describe en Preparar permisos de gestión de identidades y accesos.
- Si usas
gdcloud, puedes actualizar tu token de autenticación ejecutandogdcloud auth login.
Nombres y validación de recursos (RFC 1123)
Problema: la creación o la actualización falla debido a errores de validación o argumentos no válidos.
Details:
- Nombres de recursos: los nombres de las zonas DNS y los conjuntos de registros deben cumplir la RFC
- Solo pueden contener caracteres alfanuméricos en minúscula o
-, y deben empezar y terminar con un carácter alfanumérico.
- Solo pueden contener caracteres alfanuméricos en minúscula o
- Nombres DNS: los valores de los nombres de dominio y los nombres de dominio completos (FQDNs) deben ser nombres de dominio válidos.
- Valores de enumeración: los valores como la visibilidad (
PUBLICoPRIVATE) y los tipos de registro (por ejemplo,AoCNAME) distinguen entre mayúsculas y minúsculas, y deben coincidir exactamente con la cadena esperada.
No se pueden eliminar zonas que no estén vacías
Problema: No se puede eliminar una zona gestionada; la operación se rechaza.
Detalles: Una zona DNS gestionada debe estar vacía de conjuntos de registros de recursos para poder eliminarse. Primero debes eliminar todos los registros de la zona.
Conflictos de nombres y dominios
Problema: no se puede crear un recurso y se muestra un error que indica que el nombre o el dominio ya están en uso.
Details:
- Nombre del recurso de Kubernetes: el nombre del objeto (por ejemplo, el nombre de
metadata.name) debe ser único en el espacio de nombres del proyecto específico. - Nombre de DNS (FQDN): el nombre de dominio real (por ejemplo,
dnsNamepara zonas o registros) debe ser único en una visibilidad determinada (PÚBLICO o PRIVADO). No puedes crear dos zonas o dos registros con el mismo nombre de dominio en el mismo nivel de visibilidad.
Solucionar problemas de resolución de DNS
En esta sección se ayuda a los administradores de plataformas y a los operadores de aplicaciones a solucionar problemas de resolución de DNS al acceder a servicios alojados en Google Distributed Cloud.
Esperar a que se propague y borrar la caché de DNS
Cuando se crean o actualizan registros DNS, es posible que los cambios no se vean al instante. Este retraso suele deberse a lo siguiente:
- Tiempo de conciliación: el sistema necesita tiempo para procesar la solicitud y actualizar la configuración del servidor DNS. El proceso suele llevar unos minutos.
- Retraso de propagación de DNS (almacenamiento en caché): los resolutores y clientes de DNS almacenan registros en caché para acelerar las búsquedas. Los clientes pueden seguir usando el registro antiguo hasta que haya transcurrido el periodo de tiempo de vida (TTL).
Recomendaciones:
- Espera: deja pasar el tiempo suficiente para que se realice la conciliación y caduque la caché.
- Vaciar caché: borra la caché DNS local para forzar una búsqueda nueva.
Verificar la configuración del resolvedor local
Asegúrate de que tu cliente esté usando los servidores DNS correctos. Si no sabes cuál es la dirección IP correcta, ponte en contacto con tu equipo de operaciones de infraestructura (IO) para encontrar la dirección IP del servidor DNS correcto.
- Linux o macOS: comprueba el contenido de
/etc/resolv.conf. - Windows: ejecuta
ipconfig /ally comprueba los servidores DNS que aparecen.
Probar la resolución con herramientas estándar
Usa herramientas de línea de comandos estándar para probar la resolución e identificar dónde se produce el error.
Búsqueda básica:
dig <domain_name>o
nslookup <domain_name>Consultar un servidor DNS específico: si conoces la IP del servidor Managed DNS público, consúltala directamente para saltarte los resolvers locales:
dig @<public_dns_server_ip> <domain_name>Consultar un servidor de nombres público: para descartar problemas con el resolvedor local, prueba a consultar un resolvedor público como Google DNS:
dig @8.8.8.8 <domain_name>
Analizar códigos de respuesta de DNS
Cuando uses dig o nslookup, comprueba el código de estado de la respuesta:
- NXDOMAIN no se ha encontrado el nombre de dominio. Comprueba si hay errores tipográficos o verifica si el registro existe.
- SERVFAIL: el servidor no ha podido procesar la consulta. A menudo, esto indica que hay un problema en el lado del servidor o que se ha producido un fallo en la comunicación entre los servidores DNS.
- NOERROR la consulta se ha realizado correctamente, pero puede que no haya respuestas. Verifica si existe el tipo de registro solicitado (por ejemplo, A o CNAME).
- REFUSED: el servidor ha rechazado la consulta, probablemente debido a la configuración de políticas o de control de acceso.
Comprobar la conectividad de red
Asegúrate de que no se bloquee el tráfico de red al servidor DNS.
- DNS usa el puerto 53 tanto para UDP como para TCP.
Prueba la conectividad con
nc(netcat):nc -zv <dns_server_ip> 53Verifica que las reglas de cortafuegos permitan el tráfico en el puerto 53.
Vaciar la caché de DNS
Al vaciar la caché de DNS, se eliminan todas las entradas de tu caché de DNS local. De esta forma, tu sistema operativo se verá obligado a consultar de nuevo los servidores DNS del nombre de dominio, lo que te permitirá obtener el registro más actualizado en lugar de uno obsoleto almacenado en caché.
- Windows:
ipconfig /flushdns- Qué hace: borra la caché de resolución de DNS que mantiene el servicio de cliente DNS.
- macOS:
sudo killall -HUP mDNSResponder- Qué hace: envía una señal de colgado (
HUP) al procesomDNSResponder, lo que obliga a que se vuelva a cargar y se borre su caché.
- Qué hace: envía una señal de colgado (
- Linux (systemd-resolved):
sudo systemd-resolve --flush-cachesosudo resolvectl flush-caches- Qué hace: indica al servicio
systemd-resolvedque descarte su caché de DNS interna.
- Qué hace: indica al servicio
Consultar el estado de los recursos con la API o gdcloud
Si eres un arrendatario o tienes acceso a la API de GDC, puedes consultar el estado de los recursos directamente:
Consultar una zona DNS:
kubectl describe manageddnszone <zone_name> -n <project_namespace>Comprobar un conjunto de registros de recursos:
kubectl describe resourcerecordset <record_name> -n <project_namespace>Busca condiciones y eventos que puedan indicar errores en el proceso de conciliación.
Si tienes acceso a la línea de comandos gdcloud, puedes usar el subcomando describe
como se indica en los artículos sobre cómo listar registros DNS
o listar zonas DNS.