4. /etc/hosts

Antes que seu sistema Linux consulte um servidor DNS para resolver um nome de host, ele primeiro procura um mapeamento na máquina local. Esta verificação inicial é uma parte fundamental do processo de resolução de nomes.

O Papel de /etc/hosts

O arquivo principal para esta pesquisa local é o /etc/hosts. Este arquivo de texto simples contém mapeamentos estáticos de nomes de host para endereços IP. A estrutura do arquivo etc hosts é direta, com cada linha contendo três campos: o endereço IP, o nome de host canônico e aliases opcionais para esse host.

Aqui está um exemplo típico de um arquivo etc host linux:

pete@icebox:~$ cat /etc/hosts
127.0.0.1       localhost
127.0.1.1       icebox

Você quase sempre encontrará o endereço localhost mapeado por padrão. Este arquivo é um recurso padrão na maioria das distribuições Linux, incluindo em Debian hosts.

Editando o arquivo etc hosts linux

Você pode editar manualmente o arquivo /etc/hosts para criar seus próprios mapeamentos. Vamos tentar um exemplo divertido. Adicione a seguinte linha ao seu arquivo:

123.45.6.7  www.google.com

Após salvar o arquivo, tente navegar para www.google.com no seu navegador da web. Você descobrirá que não funciona. Isso ocorre porque mapeamos www.google.com para um endereço IP incorreto. Como seu sistema verifica primeiro o arquivo local /etc/hosts, ele usa nosso mapeamento defeituoso e nunca prossegue para consultar um servidor DNS para encontrar o endereço correto. Para corrigir isso, basta remover a linha que você adicionou.

Embora sistemas mais antigos usassem /etc/hosts.deny e /etc/hosts.allow para controle de acesso, este método está em grande parte obsoleto. As práticas de segurança modernas dependem da configuração de regras de firewall para proteção robusta em vez disso.

Configuração do Servidor DNS Local

Tradicionalmente, o arquivo /etc/resolv.conf era usado para especificar os servidores de nomes DNS para pesquisas. No entanto, com os avanços no gerenciamento de sistemas, este arquivo muitas vezes não é mais gerenciado manualmente. Como você pode ver no exemplo abaixo, o arquivo é gerado automaticamente por outro serviço. Para gerenciar mapeamentos de servidores de nomes DNS, você deve consultar a documentação para sua distribuição específica, pois ferramentas como systemd-resolved ou resolvconf geralmente lidam com isso agora.

# Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8)
#     DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN
nameserver 127.0.1.1
search localdomain

Entre para salvar seu progresso de aprendizado

Entrar

Exercícios

Prática leva à perfeição! Aqui estão alguns laboratórios práticos para reforçar sua compreensão da resolução de nomes de host local e consultas DNS:

  1. Gerenciar Resolução de Nome de Host Local no Linux - Pratique a edição do arquivo /etc/hosts para gerenciar a resolução de nomes de host local, uma etapa chave antes das consultas DNS.
  2. Consultar Registros DNS no Linux com dig e nslookup - Aprenda a consultar registros DNS usando ferramentas essenciais do Linux como dig e nslookup para entender como sua máquina resolve nomes externos.

Esses laboratórios ajudarão você a aplicar os conceitos em cenários reais e a ganhar confiança com a resolução de nomes de host e DNS.

Questionário

What file is used to map hostnames to IP addresses on our machines? (Please answer in English, paying attention to case sensitivity).