Como o DNS funciona e como soluciono falhas parciais ou intermitentes de DNS?
Como o DNS funciona e como soluciono falhas parciais ou intermitentes de DNS?
Resolução
Visão geral do DNS
O DNS encaminha os usuários para aplicações da Internet, convertendo nomes fáceis de lembrar (como www.example.com) em endereços IP numéricos, como 192.0.2.1. Esse processo é chamado de "resolução de DNS". Um servidor de nomes oficial resolve um nome de domínio para um endereço IP ou vários endereços IP e passa o endereço IP pela cadeia de resolvedores de DNS para o cliente (por exemplo, o computador de alguém solicitando a visualização de um site). O cliente então usa esse endereço IP para se conectar ao servidor em que o site está hospedado. Quando o DNS não está funcionando corretamente, os servidores DNS não conseguem resolver nomes de domínios. Por isso, eles não conseguem fornecer aos clientes o endereço IP do servidor no qual o site está hospedado. Isso significa que esses sites não podem ser acessados pela Internet.
Para obter mais informações, consulte O que é o DNS?
Cenários de falha de DNS parcial, temporária ou intermitente
Em alguns casos, um cliente sofre falhas de DNS por um curto período de tempo ou de maneira intermitente. A seguir estão os cenários comuns que podem causar falha parcial do DNS:
Cenário 1: servidores de nomes configurados incorretamente no registrador
Às vezes, um ou mais servidores de nomes estão configurados incorretamente no registrador. Uma pesquisa no "whois" fornece os servidores de nomes que estão configurados no registrador do domínio. Nesse caso, durante a resolução do DNS, se os servidores de nomes registrados não responderem ou responderem com informações inesperadas, o resolvedor local retornará uma mensagem SERVFAIL. Porém, em alguns casos, os resolvedores locais podem tentar a solicitação com um servidor de nomes diferente e retornar o resultado.
Além disso, os resolvedores locais podem armazenar em cache os servidores de nomes errados durante a vida útil (TTL) e enviar a próxima consulta ao servidor de nomes incorretamente configurado.
Cenário 2: servidores de nomes alterados na zona hospedada
Outro motivo para a falha parcial do DNS é quando o registro NS de um domínio está incorretamente configurado na zona hospedada. Nesse caso, os servidores de nomes existentes foram atualizados ou alguns servidores de nomes adicionais foram adicionados ao valor do registro NS.
Nesse caso, alguns clientes podem enfrentar falhas parciais de DNS quando o resolvedor tentar resolver o domínio usando o servidor de nomes errado.
Cenário 3: o resolvedor de DNS do cliente não consegue resolver o domínio
Às vezes, os clientes definem resolvedores personalizados ou incorretos no arquivo de configuração de resolvedores, como resolv.conf no Linux. Se esse for o caso e você estiver resolvendo o domínio de uma instância do Amazon Elastic Compute Cloud (Amazon EC2) em uma Amazon Virtual Private Cloud (Amazon VPC), a instância do EC2 usará os servidores de nomes definidos em resolv.conf.
Cenário 4: servidor DNS fornecido pela Amazon limitando as consultas de DNS
Os servidores DNS fornecidos pela Amazon impõem um limite de 1024 pacotes por segundo por interface de rede elástica. Os servidores DNS fornecidos pela Amazon rejeitam qualquer tráfego que exceda esse limite. Devido ao controle de utilização do DNS, o DNS atinge o tempo limite intermitentemente. Você pode ativar o armazenamento em cache na instância ou aumentar o temporizador de repetição de DNS na aplicação para resolver esse problema.
Cenário 5: o URL do domínio é resolvido da Internet, mas não da instância do EC2
As consultas de DNS do seu domínio sempre são resolvidas na zona hospedada privada se você tiver feito o seguinte:
- Criado uma zona hospedada privada com o mesmo nome do seu domínio.
- Associado sua VPC à zona hospedada privada e às opções de DHCP da VPC configuradas com AmazonProvidedDNS.
Se o registro consultado do seu domínio não estiver presente na zona hospedada privada, a consulta de DNS falhará e não será encaminhada ao domínio público. Como o registro DNS está presente na zona de domínio público, ele é resolvido na Internet.
Solucionar falhas de DNS em sistemas operacionais baseados em Linux
Use o comando dig para realizar uma pesquisa no servidor DNS do cliente que está configurado no arquivo /etc/resolv.conf do host.
$ dig www.amazon.com ; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.37.rc1.49.amzn1 <<>> www.amazon.com ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 13150 ;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0 ;; QUESTION SECTION: ;www.amazon.com. IN A ;; ANSWER SECTION: www.amazon.com. 41 IN A 54.239.17.6 ;; Query time: 1 msec ;; SERVER: 10.108.0.2#53(10.108.0.2) ;; WHEN: Fri Oct 21 21:43:11 2016 ;; MSG SIZE rcvd: 48
No exemplo anterior, a seção de respostas mostra que 54.239.17.6 é o endereço IP do servidor HTTP para www.amazon.com.
Se você adicionar a variável +trace, o comando dig também poderá realizar uma pesquisa recursiva de um registro DNS, conforme mostrado no exemplo a seguir:
$ dig +trace www.amazon.com ; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.37.rc1.49.amzn1 <<>> +trace www.amazon.com ;; global options: +cmd . 518400 IN NS J.ROOT-SERVERS.NET. . 518400 IN NS K.ROOT-SERVERS.NET. . 518400 IN NS L.ROOT-SERVERS.NET. … ;; Received 508 bytes from 10.108.0.2#53(10.108.0.2) in 31 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. … ;; Received 492 bytes from 193.0.14.129#53(193.0.14.129) in 93 ms amazon.com. 172800 IN NS pdns1.ultradns.net. amazon.com. 172800 IN NS pdns6.ultradns.co.uk. … ;; Received 289 bytes from 192.33.14.30#53(192.33.14.30) in 201 ms www.amazon.com. 900 IN NS ns-1019.awsdns-63.net. www.amazon.com. 900 IN NS ns-1568.awsdns-04.co.uk. www.amazon.com. 900 IN NS ns-277.awsdns-34.com. … ;; Received 170 bytes from 204.74.108.1#53(204.74.108.1) in 87 ms www.amazon.com. 60 IN A 54.239.26.128 www.amazon.com. 1800 IN NS ns-1019.awsdns-63.net. www.amazon.com. 1800 IN NS ns-1178.awsdns-19.org. … ;; Received 186 bytes from 205.251.195.251#53(205.251.195.251) in 7 ms
Também é possível realizar uma consulta que retorne somente os servidores de nomes, conforme mostrado no exemplo a seguir:
$ dig -t NS www.amazon.com ; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.37.rc1.49.amzn1 <<>> -t NS www.amazon.com ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 48631 ;; flags: qr rd ra; QUERY: 1, ANSWER: 4, AUTHORITY: 0, ADDITIONAL: 0 ;; QUESTION SECTION: ;www.amazon.com. IN NS ;; ANSWER SECTION: www.amazon.com. 490 IN NS ns-1019.awsdns-63.net. www.amazon.com. 490 IN NS ns-1178.awsdns-19.org. www.amazon.com. 490 IN NS ns-1568.awsdns-04.co.uk. www.amazon.com. 490 IN NS ns-277.awsdns-34.com. ;; Query time: 0 msec ;; SERVER: 10.108.0.2#53(10.108.0.2) ;; WHEN: Fri Oct 21 21:48:20 2016 ;; MSG SIZE rcvd: 170
No exemplo anterior, www.amazon.com tem os quatro servidores de nomes oficiais a seguir:
- ns-1019.awsdns-63.net.
- ns-1178.awsdns-19.org.
- ns-1568.awsdns-04.co.uk.
- ns-277.awsdns-34.com.
Qualquer um desses quatro servidores pode responder com autoridade a perguntas sobre o nome do host www.amazon.com. Use o comando dig para direcionar diretamente um servidor de nomes específico. Verifique se cada servidor de nomes oficial de um determinado domínio responde corretamente.
Veja a seguir um exemplo de saída de uma consulta para www.amazon.com em um de seus servidores de nomes oficiais (ns-1019.awsdns-63.net). A resposta do servidor indica que www.amazon.com está disponível em 54.239.25.192:
$ dig www.amazon.com @ns-1019.awsdns-63.net. ; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.37.rc1.49.amzn1 <<>> www.amazon.com @ns-1019.awsdns-63.net. ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 31712 ;; flags: qr aa rd; QUERY: 1, ANSWER: 1, AUTHORITY: 4, ADDITIONAL: 0 ;; WARNING: recursion requested but not available ;; QUESTION SECTION: ;www.amazon.com. IN A ;; ANSWER SECTION: www.amazon.com. 60 IN A 54.239.25.192 ;; AUTHORITY SECTION: www.amazon.com. 1800 IN NS ns-1019.awsdns-63.net. www.amazon.com. 1800 IN NS ns-1178.awsdns-19.org. www.amazon.com. 1800 IN NS ns-1568.awsdns-04.co.uk. … ;; Query time: 7 msec ;; SERVER: 205.251.195.251#53(205.251.195.251) ;; WHEN: Fri Oct 21 21:50:00 2016 ;; MSG SIZE rcvd: 186
A linha a seguir mostra que ns-576.awsdns-08.net é um servidor de nomes oficial para amazon.com:
;; flags: qr aa rd; QUERY: 1, ANSWER: 1, AUTHORITY: 4, ADDITIONAL: 0
A presença do sinalizador aa indica que o servidor de nomes ns-1019.awsdns-63.net deu uma resposta oficial para o registro de recursos www.amazon.com.
Solucionar falhas de DNS em sistemas operacionais baseados em Windows
Use o utilitário nslookup para retornar o endereço IP associado a um nome de host, conforme mostrado no exemplo a seguir:
C:\>nslookup www.amazon.com Server: ip-10-20-0-2.ec2.internal Address: 10.20.0.2 Non-authoritative answer: Name: www.amazon.com Address: 54.239.25.192
Para determinar os servidores de nomes oficiais para um nome de host usando o utilitário nslookup, use o sinalizador -type=NS:
C:\>nslookup -type=NS www.amazon.com Server: ip-10-20-0-2.ec2.internal Address: 10.20.0.2 Non-authoritative answer: www.amazon.com nameserver = ns-277.awsdns-34.com www.amazon.com nameserver = ns-1019.awsdns-63.net www.amazon.com nameserver = ns-1178.awsdns-19.org …
Para ver se ns-277.awsdns-34.com para www.amazon.com responde corretamente a uma solicitação para www.amazon.com, use a seguinte sintaxe:
C:\>nslookup www.amazon.com ns-277.awsdns-34.com Server: UnKnown Address: 205.251.193.21 Name: www.amazon.com Address: 54.239.25.200
Vídeos relacionados
Conteúdo relevante
- AWS OFICIALAtualizada há um ano
- AWS OFICIALAtualizada há um ano
- AWS OFICIALAtualizada há um ano
- AWS OFICIALAtualizada há 9 meses