Gerenciar Resolução de Nomes de Host Locais no Linux

CompTIABeginner
Pratique Agora

Introdução

Neste laboratório, você aprenderá a habilidade essencial de gerenciar a resolução de nomes de host locais no Linux editando diretamente o arquivo /etc/hosts. Este arquivo permite mapear manualmente nomes de host para endereços IP em sua máquina local, uma técnica crucial para desenvolvimento web, testes de rede e administração de sistemas. Ao controlar esses mapeamentos, você pode substituir servidores DNS públicos e direcionar o tráfego para domínios específicos para um endereço IP local ou personalizado.

Você será guiado por um fluxo de trabalho completo e prático. Primeiro, você inspecionará o conteúdo padrão do arquivo /etc/hosts usando o comando cat para entender sua estrutura. Em seguida, você usará o editor nano para adicionar uma entrada de host personalizada. Para verificar sua configuração, você testará o novo nome de host com o comando ping. Finalmente, você removerá a entrada que adicionou, restaurando o arquivo ao seu estado original e concluindo o exercício prático.

Este é um Lab Guiado, que fornece instruções passo a passo para ajudá-lo a aprender e praticar. Siga as instruções cuidadosamente para completar cada etapa e ganhar experiência prática. Dados históricos mostram que este é um laboratório de nível iniciante com uma taxa de conclusão de 98%. Recebeu uma taxa de avaliações positivas de 100% dos estudantes.

Inspecionar o Arquivo /etc/hosts Padrão com cat

Nesta etapa, você aprenderá a visualizar o conteúdo do arquivo /etc/hosts. Este arquivo é um arquivo de texto simples que seu sistema operacional usa para mapear nomes de host para endereços IP. Antes que seu computador consulte um servidor DNS na internet para resolver um nome de domínio, ele primeiro verifica este arquivo local. Compreender sua estrutura é uma habilidade de rede fundamental no Linux.

Usaremos o comando cat, que é uma utilidade padrão para ler arquivos e imprimir seu conteúdo no terminal.

Abra seu terminal e execute o seguinte comando para exibir o conteúdo do arquivo /etc/hosts:

cat /etc/hosts

Exemplo de Saída:

Você verá uma saída semelhante à abaixo. O conteúdo exato pode variar ligeiramente, mas o formato será o mesmo.

127.0.0.1       localhost

## The following lines are desirable for IPv6 capable hosts
::1     ip6-localhost   ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
127.0.1.1       Aliyun

192.168.2.67    iZbp1gakoh36s0s067d3ebZ iZbp1gakoh36s0s067d3ebZ

172.20.239.123  ubunut-base-image       ubunut-base-image

172.28.138.90   iZj6c8bsoq3dpsob2zhgheZ iZj6c8bsoq3dpsob2zhgheZ

Vamos analisar esta saída:

  • 127.0.0.1 localhost: Esta é a entrada mais comum. Ela mapeia o endereço IP 127.0.0.1 (também conhecido como endereço de loopback) para o nome de host localhost. Isso é crucial para que muitos serviços locais funcionem corretamente.
  • Linhas que começam com #: Estes são comentários. O sistema os ignora, mas são úteis para fornecer explicações.
  • Entradas IPv6: Linhas como ::1 ip6-localhost são os equivalentes IPv6 para loopback e outras configurações de rede padrão.

Agora que você viu a estrutura padrão do arquivo hosts, está pronto para aprender como modificá-lo na próxima etapa.

Adicionar uma Entrada de Host Personalizada Usando nano

Nesta etapa, você adicionará manualmente uma nova entrada ao arquivo /etc/hosts. Esta é uma habilidade prática para desenvolvedores que precisam apontar um domínio para um servidor local ou para administradores de sistemas que configuram redes internas. Como /etc/hosts é um arquivo protegido pelo sistema, você deve usar sudo para obter as permissões necessárias para modificá-lo.

Usaremos o nano, um editor de texto de linha de comando simples e amigável que é pré-instalado no ambiente LabEx.

Execute o seguinte comando para abrir /etc/hosts com o nano:

sudo nano /etc/hosts

O terminal agora exibirá o conteúdo do arquivo dentro do editor nano. Use as teclas de seta para mover o cursor para o final do arquivo. Adicione a seguinte nova linha:

192.168.1.100   myfictionalserver.local

Esta linha informa ao seu sistema que, sempre que ele encontrar o nome de host myfictionalserver.local, ele deverá resolvê-lo para o endereço IP 192.168.1.100.

Agora, você precisa salvar as alterações e sair do editor. Siga estas combinações de teclas:

  1. Pressione Ctrl+O (o comando "Write Out") para salvar o arquivo.
  2. O nano perguntará o "File Name to Write". O padrão é /etc/hosts, que está correto, então apenas pressione Enter para confirmar.
  3. Pressione Ctrl+X para sair do nano e retornar ao prompt do seu terminal.

Você agora modificou com sucesso o arquivo hosts. Na próxima etapa, testaremos esta nova entrada para confirmar que ela funciona como esperado.

Testar o Nome de Host Personalizado com ping

Nesta etapa, você verificará se a entrada personalizada que você adicionou ao /etc/hosts está funcionando corretamente. A melhor maneira de fazer isso é usando o comando ping. ping é uma utilidade de rede usada para testar a alcançabilidade de um host em uma rede IP. Ele também mede o tempo que as mensagens levam para serem enviadas do host de origem para um computador de destino e de volta.

Quando você usa ping em um nome de host, o sistema primeiro tenta resolver esse nome para um endereço IP. Como adicionamos uma entrada para myfictionalserver.local em /etc/hosts, seu sistema deverá encontrá-la lá e usar o endereço IP 192.168.1.100.

Vamos testar. No seu terminal, execute o seguinte comando. Usamos a flag -c 4 para enviar apenas 4 pacotes e depois parar, o que é conveniente para testes.

ping -c 4 myfictionalserver.local

Exemplo de Saída:

Você deverá ver uma saída que confirma a resolução do nome, mesmo que o host esteja inalcançável.

PING myfictionalserver.local (192.168.1.100) 56(84) bytes of data.
^C
--- myfictionalserver.local ping statistics ---
4 packets transmitted, 0 received, 100% packet loss, time 3053ms

A parte mais importante é a primeira linha: PING myfictionalserver.local (192.168.1.100). Isso confirma que seu sistema resolveu com sucesso o nome de host myfictionalserver.local para o endereço IP 192.168.1.100 usando sua entrada no arquivo /etc/hosts.

O comando continuará a ser executado até ser interrompido (por exemplo, pressionando Ctrl+C). Como não há um dispositivo real em 192.168.1.100 na rede, nenhum pacote será recebido. No entanto, a parte de resolução de nome do processo foi um sucesso, que é o que queríamos demonstrar.

Você agora confirmou que sua entrada personalizada no arquivo hosts está ativa. Na etapa final, você aprenderá como fazer a limpeza removendo esta entrada.

Remover a Entrada de Host Personalizada para Restaurar um Estado Limpo

Nesta etapa final, você fará a limpeza das alterações que fez no arquivo /etc/hosts. É uma prática crucial, especialmente em ambientes compartilhados ou de produção, reverter alterações temporárias para evitar comportamentos inesperados posteriormente. Restaurar o arquivo ao seu estado original garante que a resolução de nomes do seu sistema funcione como esperado para todas as outras operações de rede.

Assim como antes, você precisará de privilégios de sudo para editar o arquivo com nano.

Abra o arquivo /etc/hosts novamente no editor:

sudo nano /etc/hosts

Use as teclas de seta para navegar até a linha que você adicionou na Etapa 2:

192.168.1.100   myfictionalserver.local

Com o cursor nessa linha, você pode excluí-la. Uma maneira rápida de excluir uma linha inteira no nano é pressionar Ctrl+K.

Após excluir a linha, salve o arquivo e saia do editor:

  1. Pressione Ctrl+O e depois Enter para salvar as alterações.
  2. Pressione Ctrl+X para sair do nano.

Para confirmar que a entrada foi removida e que o sistema não pode mais resolver o nome de host localmente, tente usar o ping mais uma vez:

ping myfictionalserver.local

Exemplo de Saída:

Desta vez, o comando deverá falhar imediatamente com uma mensagem de erro, pois o sistema não tem como resolver o nome.

ping: myfictionalserver.local: Name or service not known

Isso confirma que você removeu com sucesso a entrada personalizada e restaurou seu arquivo hosts para um estado limpo.

Resumo

Neste laboratório, você aprendeu a gerenciar a resolução de nomes de host locais no Linux manipulando o arquivo /etc/hosts. Você começou usando o comando cat para inspecionar o conteúdo e a estrutura padrão deste arquivo, entendendo seu papel no mapeamento de endereços IP para nomes de host antes que uma consulta DNS seja feita. Você viu como entradas padrão como 127.0.0.1 localhost são formatadas e o uso de comentários para documentação.

Após a inspeção, você adquiriu habilidades práticas usando o editor de texto nano para adicionar uma entrada de host personalizada, uma tarefa comum para desenvolvimento local ou testes de rede. Para confirmar que suas alterações foram eficazes, você usou o comando ping para testar o novo nome de host personalizado, verificando se o sistema o resolveu para o endereço IP que você especificou. Finalmente, você completou o laboratório removendo a entrada personalizada para restaurar o sistema ao seu estado original, demonstrando o ciclo completo de gerenciamento de uma entrada de host local.