Nesta página, você terá uma visão geral do sistema de nome de domínio (DNS, na sigla em inglês).
Para ter uma visão geral do Cloud DNS, consulte esta página. Para termos-chave relacionados ao Cloud DNS, consulte Termos-chave.
O DNS é um banco de dados hierárquico distribuído que armazena endereços IP e outros dados e permite consultas por nome.
Em outras palavras, DNS é um diretório de nomes de domínio legíveis que traduzem para endereços IP numéricos usados pelos computadores para a comunicação entre eles. Por exemplo, quando você digita um URL em um navegador, o DNS converte o URL em um endereço IP de um servidor da 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ínio que são atualizados regularmente.
Os conceitos a seguir são úteis ao trabalhar com DNS.
Tipos de servidor DNS
Um servidor DNS armazena um banco de dados de nomes de domínio e faz o processamento desses nomes com base em consultas DNS provenientes de um cliente em uma rede.
Servidor autoritativo
Um servidor autoritativo é um servidor que contém os registros de nome de DNS, incluindo A, AAAA e CNAME.
Um servidor não autoritativo cria um arquivo de cache com base em consultas anteriores para domínios. Ele não contém registros de nomes originais.
Resolvedor recursivo
Um resolvedor recursivo é o servidor que envia uma consulta ao servidor autoritativo ou não autoritativo para resolução. Um resolvedor recursivo é assim chamado porque executa cada consulta para um determinado nome e retorna o resultado final.
Isso está em contraste com um resolvedor iterativo, que retorna apenas uma referência para os servidores DNS seguintes que podem ter a resposta.
Por exemplo, ao resolver o nome google.com.
, o resolvedor recursivo
precisa determinar quem é autoritativo para .
(a zona raiz do DNS). Em seguida, ele pergunta
aos servidores de nomes quem é autoritativo para .com.
. Por fim, ele pergunta aos servidores de
nomes quem é autoritativo para google.com.
e os rdata do registro A
são retornados ao cliente.
Veja abaixo um exemplo de resolvedor recursivo em ação. Se você executar
dig +trace google.com
, o resolvedor recursivo realizará a seguinte
ação (8.8.8.8/DNS público do 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 de DNS consulta um servidor de nomes. Um resolvedor recursivo consulta outros servidores de nomes, até mesmo um servidor de nomes de nível superior, se necessário. O registro NS para uma zona em um servidor de nome de nível superior direciona o resolvedor para outro servidor de nomes, de nível inferior, que em determinado momento alcança um servidor que armazenou a zona ou o servidor autoritativo da zona.
Zonas
Zona pública
Uma zona pública é visível para a Internet. É possível criar registros DNS em uma zona pública para publicar o serviço na Internet. Por exemplo, é possível criar um registro A em uma zona pública chamada example.com.
(observe o ponto final) do site público www.example.com.
.
Zona privada
Uma zona privada é qualquer zona que não possa ser consultada pela Internet pública.
Subzona delegada
O DNS permite que o proprietário de uma zona use registros NS para delegar um subdomínio a outro servidor de nomes. Os resolvedores seguem esses registros e enviam consultas no subdomínio para o servidor de nomes de destino especificado na delegação.
Por exemplo, é possível criar zonas separadas para example.com
e subdomain.example.com
,
cada uma com seu próprio servidor de nomes autoritativo. Como
subdomain.example.com
é um domínio filho de example.com
, o método para ativar
o servidor de nomes autoritativo do subdomínio localizado da zona do domínio pai
é chamado de delegação. A delegação é essencialmente um ponteiro para o
servidor de nomes autoritativo de um subdomínio. Para ativar a delegação no
Cloud DNS, é possível adicionar registros NS para os subdomínios da zona
do domínio pai.
DNS split horizon
O split horizon é um termo usado para descrever uma instância quando duas zonas, uma a ser usada pela rede interna e a outra a ser usada pela rede externa (geralmente a Internet), são criadas para o mesmo domínio. O DNS split horizon permite exibir respostas diferentes, conjuntos de registros de recursos distintos, para o mesmo nome, dependendo de quem está perguntando.
Por exemplo, é possível fornecer a versão de desenvolvimento ou preparo do seu se a consulta vier da rede de desenvolvimento, e o aplicativo de produção ou pública do app se a consulta vier da Internet pública.
Registros
Um registro é um mapeamento entre um recurso de DNS e um nome de domínio. Cada registro DNS individual tem um tipo (nome e número), um prazo de validade (time to live) e dados específicos do tipo.
Alguns dos tipos de registro mais usados são os seguintes:
- A: registro de endereço, que mapeia nomes de host no seu endereço IPv4.
- AAAA: registro de endereço IPv6, que mapeia nomes de host no seu endereço IPv6.
- CNAME: registro de nome canônico, que especifica nomes de alias.
- MX: registro de troca de e-mail, usado em solicitações de roteamento para servidores de e-mail.
- NS: registro do servidor de nomes, que delega uma zona de DNS a um servidor autoritativo.
- PTR: registro de ponteiro, que define um nome associado a um endereço IP.
- SOA: início de autoridade, usado para designar o servidor de nomes principal e o administrador responsável por uma zona. Cada zona hospedada em um servidor DNS precisa ter um registro SOA (início da autoridade). É possível modificar o registro conforme necessário. Por exemplo, a alteração do número de série para um número arbitrário pode ser feita, a fim de dar suporte ao controle de versão baseado em data.
Conjuntos de registros
Registros com o mesmo nome e do mesmo tipo, mas com valores de dados diferentes são chamados de conjuntos de registros. Ao criar um registro, se existir um conjunto com o mesmo nome e tipo, o registro será adicionado a esse conjunto correspondente. Se não houver um conjunto correspondente, um novo conjunto será criado e adicionado à lista de conjuntos de registros.
Este é um exemplo de um conjunto de registros com mais de um registro com o mesmo nome e tipo:
Nome do 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 uma lista dos tipos de registro compatíveis no Cloud DNS, consulte Tipos de registro DNS compatíveis.
Delegação de subdomínios
Ao criar registros, verifique se os registros NS e SOA correspondem entre si. Registros NS e SOA conflitantes podem fazer com que alguns resolvedores rejeitem a
delegação como inválida e se recusem a armazenar em cache as respostas NO DATA
.
Isso pode resultar em um número grande e inesperado de consultas em suas zonas públicas gerenciadas por resolvedores recursivos de terceiros quando eles consultam essas zonas em busca de registros que não existem.
Por exemplo, suponha que haja dois subdomínios, example.com
e
subdomain.example.com
no Cloud DNS. Os registros NS e SOA para
subdomain.example.com
não correspondem. Nenhuma das zonas contém registros
AAAA. Quando alguns resolvedores recursivos de terceiros consultam subdomain.example.com
à procura de um registro AAAA e recebem NO DATA
como resposta, se os resolvedores detectarem
a delegação inválida de subdomain.example.com
, eles se recusarão a armazenar em cache a
inexistência de registros AAAA nessa zona. Isso resultará na repetição das
consultas. Os resolvedores consultarão todos os servidores de nomes do Cloud DNS para conseguir essa
informação.
Registrador
Um registrador de nome de domínio é uma organização que gerencia a reserva de nomes de domínio da Internet para zonas públicas. Um registrador precisa ser credenciado por um registro de domínio de nível superior genérico (gTLD, na sigla em inglês) ou um registro de domínio de nível superior com código de país (ccTLD, na sigla em inglês). É dessa forma que os servidores de nome de nível superior concordam com SOA e atualizam registros NS para a zona a fim de direcionar solicitações para servidores de nome de armazenamento em cache ou autoritativos.
Número de série de SOA
O número de série de SOA é um número de versão de uma zona de DNS. Para que todos os servidores de nomes sejam atualizados com a versão de uma zona, eles precisam ter o mesmo número de série de SOA. Os números de série dos registros SOA criados nas zonas gerenciadas monotonicamente por DNS aumentam a cada alteração transacional para os conjuntos de registros de uma zona.
No entanto, é possível alterar o número de série de um registro SOA para um número arbitrário, incluindo uma data formatada com o ISO 8601, como recomendado em RFC 1912 (em inglês).
DNSSEC
A extensão de segurança do sistema de nomes de domínio (DNSSEC, na sigla em inglês) aborda vulnerabilidade dos dados de DNS. O DNSSEC é um conjunto de especificações IETF que fornece autenticação de dados DNS, negação de existência autenticada e integridade de dados para clientes de DNS (resolvedores). Em resumo, a DNSSEC fornece uma maneira do software verificar a origem dos dados do DNS e validar que eles não foram modificados em trânsito.
Para mais detalhes sobre o DNSSEC, consulte RFC 4033.
Para uma lista de terminologia DNS geral, consulte RFC 7719 (em inglês).
A seguir
- Para começar a usar o Cloud DNS, consulte Guia de início rápido: como configurar registros DNS para um nome de domínio com o Cloud DNS.
- Para adicionar, excluir ou atualizar registros, consulte Adicionar, modificar e excluir registros.
- Para trabalhar com zonas gerenciadas, consulte Criar, modificar e excluir zonas.