Esta página fornece uma vista geral do Sistema de Nomes de Domínio (DNS).
Para uma vista geral do Cloud DNS, consulte a vista geral do Cloud DNS. Para ver os termos principais relacionados com o Cloud DNS, consulte o artigo Termos principais.
O DNS é uma base de dados distribuída hierárquica que armazena endereços IP e outros dados e permite consultas por nome.
Por outras palavras, o DNS é um diretório de nomes de domínios legíveis que se traduzem em endereços IP numéricos usados pelos computadores para comunicarem entre si. Por exemplo, quando introduz um URL num navegador, o DNS converte o URL num endereço IP de um servidor Web associado a esse nome. Os diretórios DNS são armazenados e distribuídos em todo o mundo em servidores de nomes de domínios que são atualizados regularmente.
Os seguintes conceitos são úteis quando trabalha com DNS.
Tipos de servidores DNS
Um servidor DNS armazena uma base de dados de nomes de domínios e, em seguida, processa os nomes de domínios com base em consultas DNS provenientes de um cliente numa rede.
Servidor autoritário
Um servidor autoritário é um servidor que contém os registos de nomes DNS, incluindo A, AAAA e CNAME.
Um servidor não oficial cria um ficheiro de cache com base em consultas anteriores de domínios. Não contém registos de nomes originais.
Resolvedor recursivo
Um resolutor recursivo é o servidor que envia uma consulta ao servidor autoritário ou não autoritário para resolução. Um resolvedor recursivo é assim chamado porque executa cada consulta para um determinado nome e devolve o resultado final.
Isto contrasta com um resolutor iterativo, que apenas devolve uma referência aos próximos servidores DNS que podem ter a resposta.
Por exemplo, quando resolve o nome google.com.
, o resolvedor recursivo
tem de determinar quem é autoritário para .
(a zona raiz do DNS). Em seguida, pergunta a esses servidores de nomes quem é o servidor oficial para .com.
. Por fim, pergunta a esses servidores de nomes quem é o servidor oficial para google.com.
e os dados de recursos do registo A são devolvidos ao cliente.
Segue-se um exemplo de um resolvedor recursivo em ação. Se executar
dig +trace google.com
, o resolvedor recursivo realiza a seguinte ação (8.8.8.8/DNS público da Google é um desses 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 DNS consulta um servidor de nomes. Um resolvedor recursivo consulta outros servidores de nomes, até um servidor de nomes de nível superior, se necessário. O registo NS de uma zona num servidor de nomes de nível superior direciona o resolvedor para baixo para outro servidor de nomes, alcançando eventualmente um servidor de nomes que tenha colocado a zona em cache ou o servidor oficial da zona.
Zonas
Zona pública
Uma zona pública é visível para a Internet. Pode criar registos DNS numa zona pública para publicar o seu serviço na Internet. Por exemplo, pode criar um registo A numa zona pública denominada example.com.
(tenha em atenção o ponto final) para o seu Website público www.example.com.
.
Zona privada
Uma zona privada é qualquer zona que não pode ser consultada através da Internet pública.
Subzona delegada
O DNS permite que o proprietário de uma zona use registos NS para delegar um subdomínio a um servidor de nomes diferente. Os resolvedores seguem estes registos e enviam consultas para o subdomínio para o servidor de nomes de destino especificado na delegação.
Por exemplo, pode criar zonas separadas para example.com
e subdomain.example.com
, cada uma com o seu próprio servidor de nomes autoritativo. Uma vez que
subdomain.example.com
é um domínio secundário de example.com
, o método para ativar
o servidor de nomes oficial para o subdomínio a localizar a partir da zona do domínio principal
denomina-se delegação. A delegação é essencialmente um ponteiro para o servidor de nomes autorizado de um subdomínio. Para ativar a delegação no Cloud DNS, pode adicionar registos NS para os subdomínios na zona do domínio principal.
DNS de horizonte dividido
O horizonte dividido é um termo usado para descrever uma instância quando são criadas duas zonas para o mesmo domínio, uma para ser usada pela rede interna e a outra para ser usada pela rede externa (normalmente, a Internet). O DNS de horizonte dividido permite-lhe publicar respostas diferentes (conjuntos de registos de recursos diferentes) para o mesmo nome, consoante quem está a perguntar.
Por exemplo, pode fornecer a versão de desenvolvimento ou de preparação da sua aplicação se a consulta for proveniente da rede de desenvolvimento e a versão de produção ou pública da sua app se a consulta for proveniente da Internet pública.
Registos
Um registo A é um mapeamento entre um recurso DNS e um nome de domínio. Cada registo DNS individual tem um tipo (nome e número), um tempo de expiração (tempo de vida) e dados específicos do tipo.
Alguns dos tipos de registos usados frequentemente são:
- A: registo de endereço, que mapeia nomes de anfitriões para o respetivo endereço IPv4.
- AAAA: registo de endereço IPv6, que mapeia nomes de anfitriões para o respetivo endereço IPv6.
- CNAME: registo de nome canónico, que especifica nomes de alias.
- MX: registo de troca de correio, que é usado em pedidos de encaminhamento para servidores de correio.
- NS: registo do servidor de nomes, que delega uma zona DNS a um servidor oficial.
- PTR: registo Pointer, que define um nome associado a um endereço IP.
- SOA: início da autoridade, usado para designar o servidor de nomes principal e o administrador responsável por uma zona. Cada zona alojada num servidor DNS tem de ter um registo SOA (Start of Authority). Pode modificar o registo conforme necessário (por exemplo, pode alterar o número de série para um número arbitrário para suportar o controlo de versões baseado na data).
Conjuntos de registos
Os registos com o mesmo nome e do mesmo tipo, mas com diferentes valores de dados, são denominados conjuntos de registos. Quando cria um registo, se existir um conjunto com o mesmo nome e tipo, o registo é adicionado a este conjunto correspondente. Se não existir um conjunto correspondente, é criado um novo conjunto que é anexado à lista de conjuntos de registos.
Este é um exemplo de um conjunto de registos com mais do que um registo com o mesmo nome e tipo:
Nome de DNS | Tipo | TTL (segundos) | Dados |
---|---|---|---|
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 uma lista dos tipos de registos suportados no Cloud DNS, consulte o artigo Tipos de registos de DNS suportados.
Delegação de subdomínios
Quando criar registos, certifique-se de que os registos NS e SOA correspondem entre si. Os registos NS e SOA em conflito podem fazer com que alguns resolvedores rejeitem a delegação como inválida e se recusem a colocar em cache as respostas NO DATA
às consultas.
Isto pode resultar num número inesperado de consultas contra as suas zonas geridas públicas por resolvedores recursivos de terceiros quando os resolvedores consultam as suas zonas geridas públicas para registos que não existem.
Por exemplo, suponha que existem dois subdomínios, example.com
e subdomain.example.com
no Cloud DNS. Os registos NS e SOA para
subdomain.example.com
não correspondem. Nenhuma das zonas contém registos AAAA. Quando alguns resolvedores recursivos de terceiros consultam subdomain.example.com
um registo AAAA e recebem uma resposta NO DATA
, se os resolvedores detetarem
a delegação inválida de subdomain.example.com
, recusam-se a colocar em cache a
inexistência de registos AAAA nessa zona. Isto resulta na repetição das consultas. Por sua vez, consultam todos os servidores de nomes do Cloud DNS para obter estas informações.
Entidade de registo
Uma entidade de registo de nomes de domínios é uma organização que gere a reserva de nomes de domínios da Internet para zonas públicas. Uma entidade de registo tem de ser acreditada por uma base de dados de registo de domínio de nível superior genérico (gTLD) ou uma base de dados de registo de domínio de nível superior de código de país (ccTLD). É assim que os servidores de nomes de nível superior concordam com o SOA e atualizam os registos NS para a zona de modo a direcionar os pedidos para servidores de nomes de cache ou autorizados.
Número de série do SOA
O número de série SOA é um número de versão para uma zona DNS. Para que todos os servidores de nomes estejam atualizados com a versão de uma zona, têm de ter o mesmo número de série SOA. Os números de série dos registos SOA criados em zonas geridas de DNS aumentam monotonicamente com cada alteração transacional aos conjuntos de registos de uma zona.
No entanto, pode alterar o número de série de um registo SOA para um número arbitrário, incluindo uma data no formato ISO 8601, conforme recomendado na RFC 1912.
DNSSEC
A Extensão de Segurança do Sistema de Nomes de Domínio (DNSSEC) resolve vulnerabilidades dos dados DNS. As DNSSEC são um conjunto de especificações da IETF que fornecem autenticação de dados DNS, negação de existência autenticada e integridade de dados a clientes DNS (resolvedores). Em resumo, as DNSSEC oferecem uma forma de o software verificar a origem dos dados DNS e validar se não foram modificados durante a transmissão.
Para mais detalhes sobre as DNSSEC, consulte o RFC 4033.
Para ver uma lista de terminologia geral de DNS, consulte o RFC 7719.
O que se segue?
- Para começar a usar o Cloud DNS, consulte o artigo Início rápido: configure registos de DNS para um nome de domínio com o Cloud DNS.
- Para adicionar, eliminar ou atualizar registos, consulte o artigo Adicione, modifique e elimine registos.
- Para trabalhar com zonas geridas, consulte o artigo Crie, modifique e elimine zonas.