Pesquisa de site

Como configurar o DNS local usando o arquivo /etc/hosts no Linux


DNS (Sistema ou Serviço de Nomes de Domínio) é um sistema/serviço de nomenclatura descentralizado e hierárquico que traduz nomes de domínio em endereços IP na Internet ou em uma rede privada e um servidor que fornece tal um serviço é chamado de servidor DNS.

Este artigo explica como configurar um DNS local usando o arquivo hosts (/etc/hosts) em sistemas Linux para resolução de domínio local ou testar o site antes de colocá-lo no ar.

Por exemplo, você pode querer testar um site localmente com um nome de domínio personalizado antes de ir ao ar publicamente, modificando o arquivo /etc/hosts em seu sistema local para apontar o nome de domínio para o endereço IP do servidor DNS local que você configurou.

O /etc/hosts é um arquivo do sistema operacional que traduz nomes de host ou nomes de domínio em endereços IP. Isso é útil para testar alterações de sites ou a configuração de SSL antes de colocar um site no ar publicamente.

Atenção: Este método só funcionará se os hosts tiverem um endereço IP estático. Portanto, certifique-se de ter configurado endereços IP estáticos para seus hosts Linux ou nós que executam outros sistemas operacionais.

Para os fins deste artigo, usaremos os seguintes domínios, nomes de host e endereços IP (use valores que se aplicam à sua configuração local).

Domain:     tecmint.lan
Host 1:     ubuntu.tecmint.lan	 192.168.56.1
Host 2:     centos.tecmint.lan	 192.168.56.10

Compreendendo a troca de serviço de nomes no Linux

Antes de prosseguir, você deve entender algumas coisas sobre outro arquivo importante que é /etc/nsswitch.conf. Ele fornece a funcionalidade Name Service Switch que controla a ordem em que os serviços são consultados para pesquisas de serviços de nomes.

A configuração é baseada na ordem; se os arquivos forem anteriores ao DNS, significa que o sistema consultará o arquivo /etc/hosts antes de verificar o DNS para solicitações de serviço de nomes. Mas se o DNS estiver antes dos arquivos, o processo de pesquisa de domínio consultará o DNS primeiro, antes de quaisquer outros serviços ou arquivos apropriados.

Neste cenário, queremos consultar o serviço “arquivos”. Para verificar o pedido, digite.

cat /etc/nsswitch.conf
OR
grep hosts /etc/nsswitch.conf

Configure o DNS localmente usando o arquivo /etc/hosts no Linux

Agora abra o arquivo /etc/hosts usando o editor de sua preferência como segue

sudo vi /etc/hosts

Em seguida, adicione as linhas abaixo ao final do arquivo, conforme mostrado na captura de tela abaixo.

192.168.56.1   ubuntu.tecmint.lan
192.168.56.10  centos.tecmint.lan

Em seguida, teste se tudo está funcionando bem conforme o esperado, usando o comando ping do Host 1, você pode executar ping no Host 2 usando seu nome de domínio como então.

ping -c 4 centos.tecmint.lan 
OR
ping -c 4 centos

No Host 2, configuramos o servidor Apache HTTP. Portanto, também podemos testar se o serviço de tradução de nomes está funcionando da seguinte maneira, acessando a URL http://centos.tecmint.lan.

Importante: Para usar os nomes de domínio em qualquer host da rede, você deve definir as configurações acima em seu arquivo /etc/hosts.

O que isso significa, no exemplo acima, configuramos apenas o arquivo hosts do Host 1 e só podemos usar os nomes de domínio nele. Para usar os mesmos nomes no Host 2, temos que adicionar os endereços e nomes também ao seu arquivo hosts.

Por último, você deve usar o comando host ou o comando nslookup para testar se o serviço de tradução de nomes está realmente funcionando. Esses comandos apenas consultam o DNS e ignoram quaisquer configurações em /etc/hosts e /etc/nsswitch .conf arquivos.

Você também pode gostar de ler os seguintes artigos relacionados.

  1. Instalar e configurar servidor DNS somente cache no RHEL/CentOS 7
  2. Configure um servidor DNS de cache recursivo básico e configure zonas para domínio
  3. 8 comandos Linux Nslookup para solucionar problemas de DNS (servidor de nomes de domínio)
  4. Exemplos úteis de comando ‘host’ para consultar pesquisas de DNS

É isso! Compartilhe conosco quaisquer idéias ou perguntas adicionais sobre este tópico, por meio da seção de comentários abaixo.