En esta página se ofrece una descripción general del sistema de nombres de dominio (DNS).
Para obtener una descripción general de Cloud DNS, consulta el artículo Información general sobre Cloud DNS. Para consultar los términos clave relacionados con Cloud DNS, consulta Términos clave.
El DNS es una base de datos distribuida jerárquica que almacena direcciones IP y otros datos, y permite realizar consultas por nombre.
En otras palabras, el DNS es un directorio de nombres de dominio legibles que se traducen en direcciones IP numéricas que los ordenadores utilizan para comunicarse entre sí. Por ejemplo, cuando escribes una URL en un navegador, el DNS la convierte en una dirección IP de un servidor web asociado a ese nombre. Los directorios DNS se almacenan y distribuyen por todo el mundo en servidores de nombres de dominio que se actualizan periódicamente.
Los siguientes conceptos son útiles cuando se trabaja con DNS.
Tipos de servidores DNS
Un servidor DNS almacena una base de datos de nombres de dominio y, a continuación, procesa los nombres de dominio en función de las consultas de DNS que proceden de un cliente de una red.
Servidor autoritativo
Un servidor acreditado es un servidor que contiene los registros de nombres DNS, incluidos los registros A, AAAA y CNAME.
Un servidor no autorizado crea un archivo de caché basado en consultas anteriores de dominios. No contiene registros de nombres originales.
Resolución recursiva
Un resolver recursivo es el servidor que envía una consulta al servidor autoritativo o no autoritativo para obtener la resolución. Un resolvedor recursivo se llama así porque realiza cada consulta de un nombre determinado y devuelve el resultado final.
Esto contrasta con un resolver iterativo, que solo devuelve una referencia a los siguientes servidores DNS que podrían tener la respuesta.
Por ejemplo, al resolver el nombre google.com.
, el resolver recursivo debe determinar quién tiene autoridad sobre .
(la zona raíz del DNS). A continuación, pregunta a esos servidores de nombres quién tiene autoridad sobre .com.
. Por último, pregunta a esos servidores de nombres quién es el autorizado para google.com.
y se devuelve al cliente el rdata del registro A.
A continuación, se muestra un ejemplo de un resolvedor recursivo en acción. Si ejecutas dig +trace google.com
, el resolvedor recursivo realiza la siguiente acción (8.8.8.8/DNS público de Google es uno de estos resolvedores):
dig +trace google.com
; <<>> DiG 9.11.5-P4-5.1-Debian <<>> +trace google.com ;; global options: +cmd . 168383 IN NS a.root-servers.net. . 168383 IN NS b.root-servers.net. . 168383 IN NS c.root-servers.net. . 168383 IN NS d.root-servers.net. . 168383 IN NS e.root-servers.net. . 168383 IN NS f.root-servers.net. . 168383 IN NS g.root-servers.net. . 168383 IN NS h.root-servers.net. . 168383 IN NS i.root-servers.net. . 168383 IN NS j.root-servers.net. . 168383 IN NS k.root-servers.net. . 168383 IN NS l.root-servers.net. . 168383 IN NS m.root-servers.net. . 168383 IN RRSIG NS 8 0 518400 20190810170000 20190728160000 59944 . ITqCp5bSKwoG1P76GpNfDanh4fXxOtHuld5SJzEm9ez0U/K7kpmBm4TE cw82zuqtZlqiGOuq+90KHJEhD1fdX3FujgDqe3kaY/41LgFIo76RBeMP CorYg29lKQOBf7pLPiJWewFmnLsRXsvENzxNXl9mynX80EQSS2YlCWpr 47i2j5SFpGDzmxls7LinB4VvwVLhy0FPwBaVc5NVqQoFS5ZkfKXCUz8x urExPT2OtPJeDiGzrQGmT6vDbYZtJRWWGK5tPIKZQyF/08YSJlrjebNa 1nKZVN8SsO8s7elz6JGmdoM6D/1ByLNFQmKvU55ikaVSnXylqixLbJQI 7LyQoA== ;; Received 525 bytes from 127.0.0.1#53(127.0.0.1) in 22 ms com. 172800 IN NS a.gtld-servers.net. com. 172800 IN NS b.gtld-servers.net. com. 172800 IN NS c.gtld-servers.net. com. 172800 IN NS d.gtld-servers.net. com. 172800 IN NS e.gtld-servers.net. com. 172800 IN NS f.gtld-servers.net. com. 172800 IN NS g.gtld-servers.net. com. 172800 IN NS h.gtld-servers.net. com. 172800 IN NS i.gtld-servers.net. com. 172800 IN NS j.gtld-servers.net. com. 172800 IN NS k.gtld-servers.net. com. 172800 IN NS l.gtld-servers.net. com. 172800 IN NS m.gtld-servers.net. com. 86400 IN DS 30909 8 2 E2D3C916F6DEEAC73294E8268FB5885044A833FC5459588F4A9184CF C41A5766 com. 86400 IN RRSIG DS 8 1 86400 20190811170000 20190729160000 59944 . KXPRdZspxd6hZYRFx3cj7Yp3d6HDzOG5CmoK46ZrrlKnZkCYMPKzyFQ2 15pA+jZ37MbQbhe6+S+C4AHWqv95DDsue85ha3ZmWGhnJxcLnDaL5Twp Z/W/a+1cTHhhbMZua1riw74mqvzRAF1kVerj7jrvWnOAOZCh69Dr4AFJ gRN4MAn+wCZDmPQCtkcGVJ9vyNV7Xra45B4ISqEo0xi8CXewp9cc+aW5 TSjFRhj1RM9d3k+3Mrq6AAV8dVgWofYTg6Ihph/SfoIx4TrTrEbgfdsv MvuLPXvK6Y7oSh5WknbFduw7HQdo1jH3/QR54FORswBJT8VmYD7Zii88 tAjbRQ== ;; Received 1170 bytes from 192.58.128.30#53(j.root-servers.net) in 2 ms google.com. 172800 IN NS ns2.google.com. google.com. 172800 IN NS ns1.google.com. google.com. 172800 IN NS ns3.google.com. google.com. 172800 IN NS ns4.google.com. CK0POJMG874LJREF7EFN8430QVIT8BSM.com. 86400 IN NSEC3 1 1 0 - CK0Q1GIN43N1ARRC9OSM6QPQR81H5M9A NS SOA RRSIG DNSKEY NSEC3PARAM CK0POJMG874LJREF7EFN8430QVIT8BSM.com. 86400 IN RRSIG NSEC3 8 2 86400 20190803044434 20190727033434 17708 com. rMmiNL7bYvJpB3Bc+WnqS2iiczm2PwxBvJcl7SL/vcTj88GsxM1ycTSV PsHZHxfrv1dv2C5BCSZ+mzeVBu8upLoeraQy+UVf3VXyt3i3rNGzcXYV 8HSrHcXrRoAJopFim3Ge1xdZ+uERg3cTIcN2tJxxkCeqt/EcUTqtQl8t EAc= S84BDVKNH5AGDSI7F5J0O3NPRHU0G7JQ.com. 86400 IN NSEC3 1 1 0 - S84CFH3A62N0FJPC5D9IJ2VJR71OGLV5 NS DS RRSIG S84BDVKNH5AGDSI7F5J0O3NPRHU0G7JQ.com. 86400 IN RRSIG NSEC3 8 2 86400 20190804045723 20190728034723 17708 com. jypPsaWVop9rzuf70CFYyiK0hliiJ+YYtkjgb3HVj9ICc57kLmv9DkvG DddF5GBQpqNEakzyJtya179MAdDT7RhJB4XfmY6fu5I5QTeIjchfP5wt 7gU1AL7cqTmBAo2RWu62vtUytV09+O3KGFq5O+Cwr11dSTfq1yYyw6YW cMI= ;; Received 772 bytes from 192.41.162.30#53(l.gtld-servers.net) in 2 ms google.com. 300 IN A 172.217.7.14 ;; Received 55 bytes from 216.239.32.10#53(ns1.google.com) in 13 ms
Cada cliente de DNS consulta un servidor de nombres. Un resolvedor recursivo consulta otros servidores de nombres, hasta llegar a un servidor de nombres de nivel superior, si es necesario. El registro NS de una zona en un servidor de nombres de nivel superior dirige el resolvedor hacia abajo a otro servidor de nombres, hasta llegar a un servidor de nombres que haya almacenado en caché la zona o al servidor autorizado de la zona.
Zonas
Zona pública
Las zonas públicas son visibles en Internet. Puedes crear registros DNS en una zona pública para publicar tu servicio en Internet. Por ejemplo, puedes crear un registro A en una zona pública llamada example.com.
(ten en cuenta el punto final) para tu sitio web público www.example.com.
.
Zona privada
Una zona privada es cualquier zona a la que no se pueda enviar consultas a través de Internet.
Subzona delegada
DNS permite al propietario de una zona usar registros NS para delegar un subdominio en un servidor de nombres diferente. Los resolucionadores siguen estos registros y envían consultas del subdominio al servidor de nombres de destino especificado en la delegación.
Por ejemplo, puedes crear zonas independientes para example.com
y subdomain.example.com
, cada una con su propio servidor de nombres autoritativo. Como subdomain.example.com
es un dominio secundario de example.com
, el método para habilitar el servidor de nombres acreditado del subdominio para que se pueda localizar desde la zona del dominio principal se denomina delegación. La delegación es básicamente un puntero al servidor de nombres autoritativo de un subdominio. Para habilitar la delegación en Cloud DNS, puedes añadir registros NS para los subdominios en la zona del dominio principal.
DNS de horizonte dividido
Horizonte dividido es un término que se usa para describir una instancia en la que se crean dos zonas para el mismo dominio: una para la red interna y otra para la red externa (normalmente, Internet). El DNS de horizonte dividido te permite ofrecer respuestas diferentes (conjuntos de registros de recursos diferentes) para el mismo nombre en función de quién pregunte.
Por ejemplo, puede proporcionar la versión de desarrollo o de staging de su aplicación si la consulta procede de la red de desarrollo, y la versión de producción o pública de su aplicación si la consulta procede de Internet público.
Registros
Un registro A es una asignación entre un recurso DNS y un nombre de dominio. Cada registro DNS tiene un tipo (nombre y número), un tiempo de vencimiento (tiempo de vida) y datos específicos del tipo.
Estos son algunos de los tipos de registro que se suelen usar:
- A: registro de dirección que asigna nombres de host a sus direcciones IPv4.
- AAAA: registro de dirección IPv6 que asigna nombres de host a sus direcciones IPv6.
- CNAME: registro de nombre canónico que especifica nombres de alias.
- MX: registro de intercambio de correo, que se usa para enrutar solicitudes a servidores de correo.
- NS: registro de servidor de nombres que delega una zona DNS en un servidor acreditado.
- PTR: registro de puntero que define un nombre asociado a una dirección IP.
- SOA: inicio de autoridad. Se usa para designar el servidor de nombres principal y el administrador responsable de una zona. Cada zona alojada en un servidor DNS debe tener un registro SOA (inicio de autoridad). Puedes modificar el registro según sea necesario (por ejemplo, puedes cambiar el número de serie por un número arbitrario para admitir el control de versiones basado en fechas).
Conjuntos de registros
Los registros que tienen el mismo nombre y tipo, pero valores de datos diferentes, se denominan conjuntos de registros. Cuando creas un registro, si ya existe un conjunto con el mismo nombre y tipo, el registro se añade a ese conjunto. Si no coincide con ningún conjunto, se crea uno y se añade a la lista de conjuntos de registros.
Este es un ejemplo de un conjunto de registros con más de un registro que tiene el mismo nombre y tipo:
Nombre de DNS | Tipo | TTL (segundos) | Datos |
---|---|---|---|
db-01.dev.gcp.example.com |
A | 50 | 10.128.1.35 |
db-01.dev.gcp.example.com |
A | 50 | 10.128.1.10 |
Para ver una lista de los tipos de registros admitidos en Cloud DNS, consulta Tipos de registros DNS admitidos.
Delegación de subdominios
Cuando crees registros, asegúrate de que los registros NS y SOA coincidan. Si hay registros NS y SOA en conflicto, algunos resolvedores pueden rechazar la delegación por no ser válida y negarse a almacenar en caché las respuestas NO DATA
a las consultas.
Esto puede provocar un gran número inesperado de consultas en tus zonas gestionadas públicas por parte de resoluciones recursivas de terceros cuando los resoluciones consultan tus zonas gestionadas públicas para obtener registros que no existen.
Por ejemplo, supongamos que hay dos subdominios, example.com
y subdomain.example.com
, en Cloud DNS. Los registros NS y SOA de subdomain.example.com
no coinciden. Ninguna de las zonas contiene registros AAAA. Cuando algunos resolvedores recursivos de terceros consultan subdomain.example.com
para obtener un registro AAAA y reciben una respuesta NO DATA
, si los resolvedores detectan
la delegación no válida de subdomain.example.com
, rechazan almacenar en caché la
inexistencia de registros AAAA en esa zona. Esto provoca que se vuelvan a intentar las consultas. Consultarán todos los servidores de nombres de Cloud DNS, por turno, para obtener esta información.
Registrador
Un registrador de nombres de dominio es una organización que gestiona la reserva de nombres de dominio de Internet para zonas públicas. Un registrador debe estar acreditado por un registro de dominio de nivel superior genérico (gTLD) o por un registro de dominio de nivel superior de código de país (ccTLD). Así es como los servidores de nombres de nivel superior se ponen de acuerdo en el registro SOA y actualizan los registros NS de la zona para dirigir las solicitudes a los servidores de nombres de caché o acreditados.
Número de serie de SOA
El número de serie de SOA es un número de versión de una zona DNS. Para que todos los servidores de nombres estén actualizados con la versión de una zona, deben tener el mismo número de serie SOA. Los números de serie de los registros SOA creados en zonas gestionadas de DNS aumentan de forma monótona con cada cambio transaccional en los conjuntos de registros de una zona.
Sin embargo, puedes cambiar el número de serie de un registro SOA por un número arbitrario, incluida una fecha con formato ISO 8601, tal como se recomienda en RFC 1912.
DNSSEC
La extensión de seguridad del sistema de nombres de dominio (DNSSEC) aborda las vulnerabilidades de los datos del DNS. DNSSEC es un conjunto de especificaciones de IETF que proporciona autenticación de datos DNS, denegación de existencia autenticada e integridad de datos a los clientes DNS (resolvers). En resumen, DNSSEC proporciona una forma de que el software verifique el origen de los datos DNS y valide que no se han modificado durante la transmisión.
Para obtener más información sobre DNSSEC, consulta el RFC 4033.
Para ver una lista de términos generales de DNS, consulta RFC 7719.
Siguientes pasos
- Para empezar a usar Cloud DNS, consulta el artículo Guía de inicio rápido: Configurar registros DNS para un nombre de dominio con Cloud DNS.
- Para añadir, eliminar o actualizar registros, consulta Añadir, modificar y eliminar registros.
- Para trabajar con zonas gestionadas, consulta Crear, modificar y eliminar zonas.