Saltar para o conteúdo
102 · LPIC-1 (parte 2)

109.4 Configurar DNS cliente

TópicoT16ObjetivoConfigurar o cliente DNSPeso2PáginasLPIC-1 (102) - Version 5.0

Resumo Conciso

Processo de resolução de nomes

  1. Programa chama função da biblioteca C (ex: gethostbyname)
  2. /etc/nsswitch.conf para determinar a ordem de pesquisa
  3. Pesquisa pelas fontes especificadas (ficheiros locais, DNS, etc.)
  4. Retorna resultado ao processo chamador

/etc/nsswitch.conf — Ordem de resolução

bash
hosts: files dns [!UNAVAIL=return]
  • files → pesquisa em /etc/hosts
  • dns → pesquisa em servidores DNS configurados em /etc/resolv.conf
  • [!UNAVAIL=return] → se DNS disponível, para (não tenta próxima fonte)

/etc/resolv.conf — Configuração DNS

OpçãoFunçãoExemplo
nameserverEndereço IP do servidor DNS (até 3)nameserver 8.8.8.8
domainDomínio localdomain mydomain.org
searchDomínios para pesquisa curta (até 6)search mydomain.net mydomain.com
optionsOpções do resolvedoroptions timeout:3

/etc/hosts — Resolução local

bash
127.0.0.1       localhost127.0.1.1       proxy::1             localhost ip6-localhost ip6-loopback10.0.0.1        gateway.lpi.org gateway gw
  • Formato: <IP> <nome> [alias1] [alias2] ...
  • Suporta IPv4 e IPv6

Ferramentas de consulta DNS

ComandoFunçãoExemplo
getent hosts <nome>Resolve via nsswitch.confgetent hosts dns1.lpi.org
getent -s dns hosts <nome>Força fonte DNSgetent -s dns hosts learning.lpi.org
host <nome>Consulta simples (A, AAAA, MX)host wikipedia.org
host -t NS <domínio>Consulta tipo específicohost -t NS lpi.org
host <nome> <server>Consulta servidor específicohost -t MX lpi.org dns1.easydns.com
dig <nome>Consulta detalhadadig learning.lpi.org
dig +short <nome>Saída reduzidadig +short lpi.org
dig -t SOA <domínio>Consulta SOAdig -t SOA lpi.org
dig +nocookie -t MX <domínio>Consulta sem cookie EDNSdig +nocookie -t MX lpi.org

systemd-resolved

  • Serviço do systemd que fornece mDNS, DNS e LLMNR
  • Escuta em 127.0.0.53
  • Não é servidor DNS completo — encaminha para servidores em /etc/resolv.conf
  • Para usar: linha hosts: ... resolve ... em /etc/nsswitch.conf

Classes de registro DNS

ClasseDescrição
INInternet (TCP/IP) — a mais comum
CHChaosNet (obsoleto)
HSHesiod

Diferenças entre getent, host e dig

FerramentaUsa resolução localConsulta DNS diretaUso ideal
getentSimNãoTestar nsswitch.conf
hostNãoSimConsultas simples
digNãoSimDiagnóstico detalhado

Exercícios Exploratórios

Exercício Exploratório 1 — resolv.conf editado manualmente

Enunciado: Se /etc/resolv.conf gerado pelo NetworkManager for editado manualmente, o que acontece?

As alterações serão sobrescritas pelo NetworkManager. O ficheiro contém o comentário # Generated by NetworkManager, indicando que edições manuais não persistirão.

Exercício Exploratório 2 — Interpretação de nsswitch.conf

Enunciado: O que significa hosts: files [SUCCESS=continue] dns em /etc/nsswitch.conf?

Pesquisas por nomes de host verificam primeiro /etc/hosts e depois o DNS. O [SUCCESS=continue] significa que, mesmo se uma entrada for encontrada nos ficheiros locais, o DNS também é consultado — mas o primeiro resultado bem-sucedido (o dos ficheiros locais) é o devolvido; o DNS não é "preferido", é apenas consultado adicionalmente.

Exercício Exploratório 3 — DNS não funciona

Enunciado: Por que o sistema não resolve nomes se /etc/resolv.conf tem:

bash
search lpi.org#nameserver fd00:ffff::1:53#nameserver 10.0.1.53

Ambos os servidores DNS estão comentados (com #). Não há nenhum nameserver ativo, e nenhum servidor DNS local em execução. O resolvedor não tem para onde enviar consultas.

Exercício Exploratório 4 — Saída do dig com filtros

Enunciado: O que faz o comando dig +noall +answer +question lpi.org?

Pesquisa o registro A de lpi.org e exibe apenas a seção de consulta e a resposta, suprimindo todas as outras seções de saída.

Exercício Exploratório 5 — Defaults do dig

Enunciado: Como passar por cima dos padrões do dig sem especificá-los na linha de comando?

Criando um ficheiro .digrc no directório home do utilizador, com as opções desejadas.