Domain name resolution (Português)

From ArchWiki
Jump to: navigation, search
Status de tradução: Esse artigo é uma tradução de Domain name resolution. Data da última tradução: 2018-09-22. Você pode ajudar a sincronizar a tradução, se houver alterações na versão em inglês.

Em geral, um nome de domínio representa um endereço IP e está associado a ele no Sistema de Nomes de Domínio, ou Domain Name System (DNS). Esse artigo explica como para configurar resolução de nome de domínio e resolver nomes de domínio.

Name Service Switch

"NSS (Português)" redireciona para cá. Para as bibliotecas criptográficas da Mozilla, veja Network Security Services.

O recurso Name Service Switch (NSS) é parte da biblioteca C do GNU (glibc) e apoia a API getaddrinfo(3), usada para resolver nomes de domínio. O NSS permite que bancos de dados do sistema sejam fornecidos por serviços separados, cuja ordem de pesquisa pode ser configurada pelo administrador no nsswitch.conf(5). O banco de dados responsável pela resolução de nomes de domínio é o banco de dados hosts, para o qual a glibc oferece os seguintes serviços:

Systemd fornece três serviços NSS para resolução de hostname:

Verifique se você consegue resolver nomes de domínio

Bancos de dados NSS podem ser consultados com getent(1). Você pode resolver um nome de domínio por meio do NSS usando:

$ getent hosts nome_domínio
Nota: Enquanto a maioria dos programas resolve nomes de domínio usando NSS, alguns podem ler /etc/resolv.conf e/ou /etc/hosts diretamente. Veja Configuração de rede#Resolução de hostname local.

Resolvedor do glibc

O resolvedor do glibc lê /etc/resolv.conf para toda resolução para determinar os servidores de nome e opções para usar.

resolv.conf(5) lista servidores de nomes juntos com algumas opções de configuração.

Servidores de nome (nameservers) listados primeiros são tentados primeiro, até os três servidores podem ser listados. Linhas iniciando com um cerquilha (#) são ignoradas.

Nota: O resolvedor do glibc não faz cache de consultas. Para melhorar tempo de consulta, você pode configurar um resolvedor em cache. Veja #Resolvedores para mais informações.

Sobrescrita do /etc/resolv.conf

Gerenciadores de rede tendem a sobrescrever /etc/resolv.conf, para particularidades veja a seção correspondente:

Para evitar que programas sobrescrevam /etc/resolv.conf, você também pode protegê-lo contra gravação definindo o atributo de arquivo imutável:

# chattr +i /etc/resolv.conf
Dica: Se você quiser que vários processos escrevam no /etc/resolv.conf, você pode usar resolvconf.

Limitar o tempo de pesquisa

Se você for confrontado com uma consulta de hostname muito longa (seja no pacman ou enquanto navega), frequentemente ajuda a definir um pequeno tempo limite após o qual um servidor de nomes alternativo é usado. Para fazer isso, coloque o seguinte em /etc/resolv.conf:

options timeout:1

Pesquisa de hostname atrasada com IPv6

Se você tiver um atraso de 5 segundos ao resolver os hostname, isso pode ser devido a um mau comportamento do servidor DNS/Firewall e somente dando uma resposta a uma solicitação paralela A e AAAA.[1] Você pode corrigir isso configurando a seguinte opção no /etc/resolv.conf:

options single-request

Nomes de domínio local

Se você quiser usar o hostname de máquinas locais sem os nomes de domínio totalmente qualificados, adicione uma linha ao /etc/resolv.conf com o domínio local, como:

domain exemplo.com.br

Dessa forma, você pode se referir a hosts locais como maquinaprincipal1.exemplo.com.brm como simplesmente maquinaprincipal1 ao usar o comando ssh, mas o comando drill ainda requer os nomes de domínio totalmente qualificados para realizar pesquisas.

Resolvedores

O resolvedor do Glibc fornece apenas as necessidades mais básicas, não armazena em cache as consultas nem fornece nenhum recurso de segurança. Se você deseja mais funcionalidade, use outro resolvedor.

Dica:
  • Os utilitários de pesquisa drill ou dig relatam o tempo de consulta.
  • Um roteador geralmente configura seu próprio resolvedor de cache como o servidor DNS da rede, fornecendo assim o cache DNS para toda a rede.
  • Se demorar muito para mudar para o próximo servidor DNS, você pode tentar diminuir o tempo limite.

Na tabela abaixo, as colunas têm o seguinte sentido:

  • Cache: Faz cache de consultas DNS para melhorar os tempos de pesquisa de solicitações idênticas subsequentes.
  • Recursor: pode consultar recursivamente o nome de domínio iniciando da zona raiz do DNS.
  • Compatibilidade com resolvconf: pode adquirir servidores de nomes e domínios de pesquisa, para usar solicitações de encaminhamento, de softwares que os definem usando resolvconf.
  • Valida DNSSEC: valida respostas de consulta de DNS usando DNSSEC.
  • DNS por TLS: tem suporte a comunicação criptografada com servidor(es) DNS upstream usando o protocolo DNS over TLS.
  • DNS por HTTPS: tem suporte a comunicação criptografada com servidor(es) DNS upstream usando o protocolo DNS over HTTPS.
Resolvedor Cache Recursor Compatibilidade resolvconf Valida DNSSEC DNS por TLS DNS por HTTPS Notas
glibc Não Não openresolv Não Não Não
BIND Sim Sim se inscreve no openresolv Sim ? ?
dnscrypt-proxy Sim Não Não Não Não Sim Implementa um cliente de protocolo DNSCrypt.
dnsmasq Sim Não se inscreve no openresolv Sim Não Não
Knot Resolver Sim Sim Não Sim Sim Não
pdnsd Sim Sim se inscreve no openresolv Não Não Não
Stubby Não Não Não Sim Sim Não
systemd-resolved Sim Não systemd-resolvconf Sim Inseguro1 Não
Unbound Sim Sim se inscreve no openresolv Sim Sim Não
  1. Do resolved.conf(5): Note que o resolvedor não é capaz de autenticar o servidor, ele é vulnerável a ataques "man-in-the-middle". [2] Além disso, o único modo suportado é "opportunistic", o que torna o DNS-over-TLS vulnerável a ataques de "downgrade".

Privacidade

A maioria dos servidores DNS mantém um registro de endereços IP e sites visitados em uma base mais ou menos temporária. Os dados coletados podem ser usados para realizar vários estudos estatísticos. Informações de identificação pessoal têm valor e também podem ser alugadas ou vendidas a terceiros. O artigo Serviços DNS alternativos fornece uma lista de serviços populares, verifique sua política de privacidade para obter informações sobre como os dados do usuário são manipulados.

Utilitários de pesquisa

Para consultar servidores DNS específicos e registros DNS/DNSSEC, você pode usar utilitários de pesquisa de DNS dedicados. Essas ferramentas implementam o próprio DNS e não usam NSS.

  • ldns fornece drill(1), que é uma ferramenta projetada para obter informações do DNS.

Por exemplo, para consultar um servidor de nomes específico com drill por registros TXT de um domínio:

$ drill @servidor-de-nome TXT domínio

Se você não especificar um servidor DNS, drill use os servidores de nome definidos em /etc/resolv.conf.

Veja também