Como configurar o arquivo hosts no Linux para redirecionar IPs
Aprenda passo a passo como o arquivo de resolução de nomes local (/etc/hosts) funciona no Linux, mapeando domínios para IPs específicos.
Resumo
- O arquivo /etc/hosts atua como a primeira linha de defesa e consulta de endereços antes de qualquer requisição DNS na rede externa.
- A edição manual do arquivo exige privilégios de superusuário e sintaxe rigorosa combinando o endereço IP e o nome de domínio correspondente.
- Testar a resolução local com o comando ping valida imediatamente se o sistema operacional priorizou o mapeamento estático configurado.
- O uso do arquivo hosts é ideal para testes locais de desenvolvimento web e simulação de ambientes antes da propagação de registros reais.
- Entender a ordem de prioridade de resolução do sistema evita conflitos persistentes entre entradas locais e servidores DNS remotos.
O que é o arquivo hosts e como ele funciona na prática
Quando digitamos um endereço web no navegador, o computador precisa descobrir qual é o endereço IP real por trás daquele nome. Esse processo de tradução é conhecido como resolução de nomes. No Linux, antes de consultar qualquer servidor na internet, o sistema verifica primeiro o arquivo local /etc/hosts. Na prática, isso significa que você pode interceptar ou redirecionar qualquer domínio para onde quiser, apenas escrevendo algumas linhas em um arquivo de texto simples.
Esse mecanismo funciona como uma agenda telefônica particular do seu computador. Se o nome que você procura estiver anotado ali, o sistema usa aquela informação imediatamente e nem chega a perguntar para a rede. Caso contrário, ele recorre a servidores externos ou ferramentas como o comando dig para buscar o destino correto. Essa prioridade faz do arquivo hosts uma ferramenta poderosa para desenvolvedores e administradores de sistemas.
A estrutura do arquivo é extremamente simples e direta. Cada linha válida contém um endereço IP, seguido por um ou mais espaços ou tabulações, e o nome do domínio correspondente. Você também pode adicionar comentários usando o caractere cerquilha (#) no início da linha, o que ajuda a documentar suas alterações. Antes de colocar a mão na massa, vale lembrar que editar arquivos de sistema exige atenção para não corromper configurações vitais.
Como editar o arquivo hosts com privilégios administrativos
Como o /etc/hosts é um arquivo protegido do sistema operacional, você não pode salvá-lo usando um editor comum. É necessário utilizar privilégios de superusuário (root) para fazer qualquer modificação. O primeiro passo é abrir o terminal do seu Linux e escolher um editor de texto baseado em linha de comando, como o nano ou o vim. Na prática, o editor nano costuma ser a opção mais amigável para quem está começando.
Para abrir o arquivo com permissão de escrita, execute o comando com o utilitário sudo. Digite a senha do seu usuário quando solicitado e o arquivo se abrirá no terminal. Se quiser conferir o estado das suas conexões de rede em paralelo, você pode consultar o comando ss para rastrear sockets. Abaixo, veja o comando exato para iniciar a edição do arquivo hosts com segurança.
sudo nano /etc/hostsCom o arquivo aberto na tela, você verá algumas linhas padrão que já vêm configuradas de fábrica. A mais comum é a que aponta o endereço 127.0.0.1 para o nome localhost. É exatamente abaixo dessas linhas padrão que você deve adicionar as suas próprias regras de redirecionamento, mantendo o padrão estrutural limpo e organizado.
Passo a passo para mapear um domínio para um IP específico
Agora que o arquivo está aberto no editor, vamos adicionar o nosso mapeamento prático. Imagine que você esteja desenvolvendo um site e queira testar o domínio meusite.local apontando diretamente para o servidor local na máquina ou para um IP de testes na sua rede interna, como 192.168.1.50. Cada linha que você adiciona cria um atalho direto que o sistema operacional respeita cegamente.
Siga esta sequência de ações para realizar o mapeamento de forma correta e segura:
- Abra o terminal e acesse o arquivo com o editor de texto usando permissões elevadas.
- Navegue até o final do arquivo e adicione o IP desejado seguido do domínio, por exemplo:
192.168.1.50 meusite.local. - Salve as alterações pressionando as teclas de atalho correspondentes do editor (como Ctrl+O e Enter no nano) e saia (Ctrl+X).
Depois de salvar, as alterações entram em vigor de forma imediata para quase todos os aplicativos do sistema. No entanto, alguns navegadores web modernos possuem caches internos de DNS agressivos que podem insistir em consultar a rede real. Se isso acontecer, reiniciar o navegador ou limpar o cache costuma resolver o problema de forma definitiva.
Como testar o redirecionamento usando o comando ping
Depois de configurar o arquivo hosts, o passo seguinte e fundamental é validar se o redirecionamento está funcionando conforme o esperado. A ferramenta mais rápida e acessível para isso é o comando ping, que envia pequenos pacotes de dados para o destino e mede o tempo de resposta. Na prática, ele nos dirá se o nome do domínio foi traduzido corretamente para o IP que acabamos de cadastrar.
Abra o terminal novamente e execute o comando ping informando o domínio que você acabou de mapear. Observe atentamente o endereço IP que aparece entre parênteses na saída da tela. Se o IP exibido for exatamente aquele que você colocou no arquivo hosts, significa que o mapeamento foi interpretado com sucesso pelo sistema operacional.
ping -c 4 meusite.localSe a resposta mostrar o IP correto, o seu computador agora sabe exatamente para onde enviar o tráfego quando você tentar acessar aquele nome. Caso o comando retorne um erro de resolução indicando que o host desconhecido não foi encontrado, revise a sintaxe do arquivo /etc/hosts em busca de erros de digitação, espaços extras ou falta de permissão de salvamento. Para aprofundar esses conceitos na prática em produção, confira também nossa análise técnica sobre Como testar memórias EEPROM na bancada com o gravador CH341A.
Considerações finais sobre o uso do arquivo hosts
O arquivo /etc/hosts continua sendo uma das ferramentas mais simples e versáteis do ecossistema Linux para controle de rotas locais de nomes. Ele elimina a necessidade de configurar servidores DNS complexos quando você precisa apenas direcionar alguns domínios para IPs específicos em ambientes de desenvolvimento, testes ou homologação rápida na bancada. Saber utilizá-lo com segurança poupa tempo precioso no dia a dia da engenharia.
Apesar de sua enorme utilidade, lembre-se de que o mapeamento manual é estático. Se o endereço IP do servidor mudar no futuro, você precisará atualizar o arquivo em cada máquina cliente onde a regra foi aplicada. Para estruturas maiores ou ambientes em constante evolução, o ideal é migrar para soluções centralizadas de DNS, mantendo o arquivo hosts restrito apenas a cenários de testes pontuais e depuração imediata.