Fundamentos do DNS Externo: Definidos e Explicados

Existem dois tipos de DNS (sistemas de nomes de domínio): externo e interno. Ambos os tipos usam os mesmos algoritmos para resolver domínios. Este artigo se concentrará principalmente no DNS externo. Primeiro, você aprenderá a definição de DNS externo. Em seguida, com a ajuda de casos de uso reais, você examinará os conceitos por trás do DNS externo com mais detalhes.

Você também aprenderá sobre produtos relacionados como GeoDNS, OpenDNS e Google Cloud DNS. Além disso, você verá o utilitário external-dns, que as pessoas usam com o Kubernetes, um sistema de código aberto para gerenciar aplicações em contêineres em vários hosts, para gerenciar vários registros DNS.

O que é DNS?

DNS é um serviço que transforma seu nome de domínio amigável em um endereço IP também amigável para máquinas de um servidor que pode atender sua solicitação. Cada vez que você digita google.com ou facebook.com como URL no navegador, você está basicamente perguntando a um servidor DNS onde exatamente o site solicitado está localizado. Essas solicitações são executadas em UDP (o protocolo de datagrama do usuário). É um protocolo mais rápido e leve que o protocolo de controle de transmissão (TCP). Quando você abre seu navegador para visitar qualquer URL, seu computador fará uma destas duas coisas:

1. Se você já visitou o site antes, o computador usará registros DNS em cache.

2. Se você for um visitante pela primeira vez, o servidor DNS recursivo do seu ISP usará uma consulta recursiva para encontrar um endereço IP para o domínio inserido. Isso será feito verificando seu arquivo de zona nos servidores raiz ou servidores TLD.

O que é DNS externo?

Um DNS externo é um servidor de nomes de domínio de terceiros acessível publicamente, geralmente aberto para qualquer pessoa na Internet acessar e atualizar. O DNS externo permite consultar o endereço IP de um domínio. Um provedor de DNS externo também é conhecido como provedor de DNS público. Isso ocorre porque qualquer pessoa pode usar este servidor DNS para procurar nomes de domínio.

Como funciona o DNS externo

Quando quiser que seu domínio seja atendido por um provedor de hospedagem, você deverá registrar o nome de domínio nessa empresa de hospedagem. Isso é delegação. Ele autoriza o provedor de hospedagem a ser o servidor de nomes oficial do seu domínio e hospedá-lo para você.

Depois de delegar com êxito suas informações de DNS a um provedor de hospedagem, esse provedor poderá atender solicitações de seus servidores DNS autorizados. O provedor fornecerá informações de DNS para que, quando um usuário acessar seu nome de domínio, ele possa acessar o site por meio dos endereços IP e do servidor web do seu provedor de hospedagem (que pode estar na nuvem).

Você pode comparar o DNS externo ao sistema postal. Quando você envia uma carta a alguém por correio tradicional, não precisa de acesso à caixa de correio ou ao endereço residencial do destinatário para que esse processo funcione. Tudo que você precisa é o endereço da agência dos correios para onde sua carta será enviada. Nesse caso, um serviço postal é um tipo de serviço DNS externo de terceiros que você pode usar para enviar sua carta.

O mesmo princípio se aplica ao DNS externo. Se você tiver um DNS externo, tudo o que você precisa são os registros DNS que mapeiam o domínio externo para um endereço IP externo. Você pode então configurar este domínio em um servidor web que suporte domínios externos.

As etapas envolvidas na resolução de DNS

É hora de dar uma olhada em um exemplo e examinar detalhadamente as etapas envolvidas na resolução de DNS.

Etapa 1: Um usuário acessa www.google.com.

Etapa 2: O usuário consulta seu servidor DNS para este domínio. Geralmente, este é o servidor DNS atribuído pelo seu provedor de Internet.

Etapa 3: O servidor DNS do usuário entra em contato com seus servidores raiz. Eles se conectam até serem direcionados aos nomes TLD de domínio de nível superior apropriados. Eles são a última parte de um nome de domínio e geralmente estão associados a determinados países ou regiões geográficas. Por exemplo, .com é para entidades comerciais, .gov é para sites do governo dos Estados Unidos e .uk é para sites do Reino Unido.

Etapa 4: O servidor DNS do usuário entra em contato com o servidor TLD .com e pergunta se o Google tem um DNS externo.

Etapa 5: O servidor TLD .com responde com uma lista de endereços IP. (Neste caso, digamos que um deles seja 10.0.1.5.)

Etapa 6: O servidor então envia essas informações para o servidor DNS do usuário.

Etapa 7: O servidor DNS do usuário recebe esta lista de endereços IP e a envia ao usuário para entrar em contato com o endereço IP apropriado.

Como um registro DNS é atualizado

Para entender como isso funciona, vamos usar um exemplo. Digamos que você tenha um servidor DNS externo em 10.0.1.5. Ele gerencia o domínio example.com. Mas por algum motivo, esse endereço IP muda para 10.0.1.6. (Talvez uma nova VLAN, ou rede local virtual, tenha sido criada com um intervalo de IP atualizado.)

O DNS externo que gerenciava example.com enviaria então uma mensagem NOTIFY para todos os outros servidores DNS externos no mundo que ele conhecesse. O DNS diria a eles para atualizarem o endereço IP de example.com em seus registros.

Necessidade de DNS público alternativo

Os registros DNS são armazenados em cache em muitos lugares. Isso inclui roteadores domésticos, servidores DHCP (protocolo de configuração dinâmica de host), switches de rede e servidores. Se o seu provedor de hospedagem cair, o cache DNS permanecerá ativo por algum tempo e continuará atendendo às solicitações dos endereços IP antigos. No entanto, assim que o cache expirar – geralmente em cerca de 15 minutos – ninguém poderá acessar seu site a menos que conheça o novo IP (o que geralmente não é o caso).

Para evitar isso, você pode registrar-se em um provedor de DNS alternativo que forneça DNS Anycast. Isso significa que cada solicitação é atendida a partir de um endereço IP em qualquer um dos diversos data centers ao redor do mundo. Se um cair, os outros servidores permanecerão ativos e acessíveis. Existem muitos provedores de DNS externos, como Cloudflare, Amazon Route 53, Google Cloud DNS e OpenDNS.

Anycasting

Anycasting é um tipo de roteamento que permite enviar pacotes para a instância mais próxima de um serviço. É possível usar um único endereço IP para apontar para vários servidores. Quando um cliente envia uma solicitação ao endereço IP, a solicitação geralmente vai para o servidor mais próximo do cliente.

OpenDNS

OpenDNS é um provedor público que oferece serviços DNS gratuitos. Open DNS oferece filtros personalizados que permitem restringir o acesso a sites específicos. Ele também possui um recurso FamilyShield que bloqueia sites inseguros.

GeoDNS

GeoDNS é um tipo de serviço DNS externo que fornece uma maneira de rotear usuários para o servidor mais próximo com base em sua localização geográfica. Com o GeoDNS, é possível direcionar os usuários para servidores em países ou regiões específicas para melhorar o desempenho do site, servindo conteúdo de servidores mais próximos do usuário. Também pode bloquear o acesso a sites de áreas específicas do mundo.

Google Cloud DNS

O Google Cloud DNS é um serviço DNS público ou externo que você pode usar para gerenciar seus nomes de domínio e recursos hospedados no Google Cloud Platform (GCP). Com o DNS do Google Cloud, você pode:

  • Aponte seu nome de domínio para recursos do GCP, como uma aplicação do App Engine ou uma máquina virtual do Compute Engine.
  • Configure registros de alias e CNAME (nomes canônicos) para apontar um nome de domínio para outro.
  • Crie, exclua ou modifique registros de recursos para seus domínios.
  • Obtenha insights sobre o tráfego e o desempenho dos seus domínios.
  • Use a API Google Cloud DNS para gerenciar seus domínios de maneira programática.

Os serviços DNS externos geralmente são para clusters externos. Ainda assim, os desenvolvedores também podem usá-los em suas máquinas locais para testar localmente serviços externos.

Agora você tem uma compreensão básica de como funciona o serviço DNS externo. É hora de aplicar esse conceito a clusters Kubernetes externos.

Utilitário DNS externo do Kubernetes

Kubernetes external-dns é uma solução para gerenciar vários registros DNS externos no Kubernetes. Ele contém um utilitário CLI que implanta e configura como um serviço DNS externo para clusters Kubernetes. Além disso, oferece simplicidade operacional definindo todos os serviços visíveis externamente da sua aplicação como serviços Kubernetes e mapeando seus respectivos registros DNS externos para eles. Ele permite que os proprietários de aplicações façam alterações no nível de serviço, em vez de no nível de registro DNS individual.

Como funciona o DNS externo do Kubernetes

Quando um pod em um cluster Kubernetes é exposto como um serviço externo, o DNS externo do GKE cria automaticamente um registro DNS externo correspondente. GKE significa mecanismo Google Kubernetes. É um serviço gerenciado do Kubernetes que facilita a configuração, operação e manutenção de clusters de instâncias do Kubernetes.

Se você tiver vários clusters Kubernetes e quiser que eles apontem para DNS externo, deverá criar registros DNS externos manualmente. O controlador Kubernetes monitora constantemente serviços externos e atualiza os registros DNS externos.

Conclusão

Os serviços DNS externos oferecem uma ótima maneira de gerenciar seus nomes de domínio e recursos hospedados em provedores externos. Eles oferecem vários benefícios, como gerenciamento simplificado de nomes de domínio e recursos, instalação e configuração fáceis, alcance global com servidores em vários data centers ao redor do mundo. Cloudflare, Amazon Route 53, Google Cloud DNS e OpenDNS são alguns serviços DSN externos populares.

Os serviços DNS externos geralmente são para clusters externos, mas os desenvolvedores também podem usá-los em suas máquinas locais para testar serviços externos localmente. Anycasting é um tipo de roteamento que permite enviar pacotes para a instância mais próxima de um serviço. GeoDNS é um tipo de serviço DNS externo que fornece uma maneira de rotear usuários para o servidor mais próximo com base em sua localização geográfica.

Kubenertes external-dns é uma solução para gerenciar vários registros DNS externos no Kubernetes. Ele contém um utilitário CLI que implanta e configura como um serviço DNS externo para clusters Kubernetes. O controlador Kubernetes pode monitorar constantemente serviços externos e atualizar automaticamente os registros DNS externos.

Ao avaliar um provedor de DNS externo, você deve considerar vários fatores como desempenho, preço e recursos fornecidos para garantir que você obtenha o melhor serviço com base em sua necessidade.

Was this article helpful?
Monitore seus servidores de nomes de domínio

Garanta a disponibilidade e o desempenho dos seus servidores de nomes de domínio e fique à frente de possíveis erros de resolução de domínio.

Write For Us

Write for Site24x7 is a special writing program that supports writers who create content for Site24x7 "Learn" portal. Get paid for your writing.

Write For Us

Write for Site24x7 is a special writing program that supports writers who create content for Site24x7 “Learn” portal. Get paid for your writing.

Apply Now
Write For Us