Pesquisa de site

Configurando um servidor DNS de cache no Ubuntu Server 14.04


Domain Name Service (DNS) é um serviço de nomenclatura que mapeia endereços IP e nomes de domínio totalmente qualificados entre si. Os computadores que executam DNS são chamados de servidores de nomes.

Aqui eu instalei e configurei o servidor de cache usando encaminhador, pesquisa direta e pesquisa de reserva. Na maior parte do lugar, precisamos de pesquisas de reserva. O servidor de cache não conterá nenhum nome de domínio, funcionará apenas como um servidor apontador. Antes de nos aprofundarmos, precisamos saber sobre o servidor DNS e como ele funciona.

O que é DNS?

Aqui está uma maneira fácil de entender o DNS e como ele funciona.

Se precisarmos acessar linux-console.net no navegador, o sistema irá procurar por linux-console.net. Aqui no final do .com haverá um (.) então o que é isso?.

O (.) representa o namespace do servidor raiz, há um total de 13 servidores raiz disponíveis globalmente. Ao acessar linux-console.net ele solicitará o nome do servidor de acordo com a configuração do sistema operacional. No Ubuntu, costumávamos configurar o servidor de nomes em /etc/resolv.conf, ao acessar linux-console.net meu navegador irá pedir para fazer root nos servidores de nomes, se o servidor de nomes raiz não tiver minhas informações de domínio solicitadas, ele armazenará em cache as informações solicitadas e encaminhará minha solicitação para (TLD) servidor de nomes de domínio de nível superior, mesmo em servidor de nomes de TLD minha solicitação não é disponível, ele será armazenado em cache e encaminhado para o servidor de nomes Autoritativo.

Durante o registro do domínio, nosso registrador de domínio definirá qual servidor de nomes autorizado nosso domínio deve usar. Assim, servidores de nomes autorizados possuem nossas informações de domínio, enquanto nossa solicitação chega à ANS, ele responderá à consulta que linux-console.net possui 111.111.222.1 ao mesmo tempo em que será armazenado em cache no servidor de nomes autoritativo e envie a solicitação de volta ao navegador. Todas as etapas acima são realizadas em milissegundos.

Espero que você tenha entendido o que é DNS agora e como ele funciona. Agora vamos configurar um servidor DNS de cache no Ubuntu Server 14.04 LTS.

Passo 1: Instalando o Servidor DNS

Primeiro, dê uma olhada nas informações do meu servidor DNS local, como endereço IP estático e nome do host, que são usadas para o propósito deste artigo.

IP Address:	192.168.0.100
Hostname:	dns.tecmintlocal.com

Para verificar se as configurações acima estão corretas, podemos usar os comandos ‘hostnamectl’ e ‘ifconfig’.

hostnamectl
ifconfig eth0 | grep inet

A seguir, atualizamos os repositórios padrão e fazemos uma atualização do sistema, antes de configurar o servidor de cache DNS.

sudo apt-get update && sudo apt-get upgrade -y

Agora, instale os pacotes DNS bind e dnsutils usando o seguinte comando.

sudo apt-get install bind9 dnsutils -y

Uma vez instalado o DNS, vá para o diretório de configuração do bind, em /etc/bind.

/etc/bind/
ls -l

Passo 2: Configurando o Servidor de Cache DNS

Primeiro de tudo, configuramos e configuramos o servidor de cache aqui. Abra e edite o arquivo named.conf.options usando o editor vim.

sudo vim named.conf.options

Agora, aqui a palavra ‘forwarders‘ é usada para armazenar em cache solicitações de nomes de domínio. Então, aqui vamos usar meu roteador como encaminhador. Remova o comentário // na frente da linha, conforme mostrado na imagem.

forwarders {
        192.168.0.1;
        };

Salve e saia do arquivo usando wq!. Agora é hora de iniciar o servidor de ligação para um pequeno teste.

sudo /etc/init.d/bind9 start

Se precisarmos testar se o cache funciona, podemos usar o comando dig e verificar se o cache está funcionando ou não.

Por exemplo, vamos cavar ubuntu.com agora, a princípio, não será cache, então pode levar alguns milissegundos, uma vez armazenado em cache, estará na velocidade da luz.

dig @127.0.0.1 ubuntu.com

Um comando dig é uma ferramenta para pesquisas de DNS. Para saber mais sobre o comando Dig leia o tópico abaixo.

  1. 10 exemplos úteis de comandos Dig

Aqui, podemos ver na imagem acima, à primeira vista, que demorou 1965 milissegundos para minha consulta e mostra qual endereço IP está vinculado a ubuntu.com.

Vamos tentar mais uma escavação e ver o tempo de consulta.

Legal! Na segunda tentativa obtivemos a consulta em 5 milissegundos. Espero que você saiba o que é servidor de cache agora. A imagem acima mostra que um total de 13 servidores raiz estão armazenando em cache o Ubuntu.com, porque milhões de pessoas já acessaram o site oficial do Ubuntu.

Etapa 3: configuração do servidor DNS mestre

Crie um servidor DNS MASTER, aqui estou definindo o nome de domínio como tecmintlocal.com, edite o arquivo named.conf.local usando o editor vim.

sudo vim /etc/bind/named.conf.local

Insira a entrada DNS-Master conforme mostrado abaixo.

zone "tecmintlocal.com" {
        type master;
        file "/etc/bind/db.tecmintlocal.com";
        };
    1. zona: detalhes dos hosts no domínio

.

  1. tipo: DNS mestre.
  2. arquivo: Local para armazenar informações da zona.

Crie o arquivo de zona db.tecmintlocal.com (pesquisa direta) fazendo uma cópia de db.local.

sudo cp db.local db.tecmintlocal.com

Agora abra e edite o arquivo de zona copiado usando o editor vim.

sudo vim db.tecmintlocal.com

Em seguida, adicione a seguinte entrada de exemplo, que usei para fins de tutorial. Eu também uso o mesmo para outras configurações de máquinas virtuais. Modifique a entrada abaixo conforme sua necessidade.

;
; BIND data file for local loopback interface
;
$TTL    604800
@       IN      SOA     tecmintlocal.com. root.tecmintlocal.com. (
                     2014082801         ; Serial
                         604800         ; Refresh
                          86400         ; Retry
                        2419200         ; Expire
                         604800 )       ; Negative Cache TTL
;
@       IN      NS      ns.tecmintlocal.com.
ns      IN      A       192.168.0.100

clt1    IN      A       192.168.0.111
ldap    IN      A       192.168.0.200
ldapc   IN      A       192.168.0.211
mail    IN      CNAME   clt1.tecmintlocal.com.

Salve e saia do arquivo usando wq!.

Finalmente, reinicie o serviço DNS de ligação usando o comando abaixo.

 
sudo service bind9 restart

Precisamos confirmar se nossa configuração de zona acima funciona. Vamos verificar usando o comando dig. Execute o comando da seguinte forma na consulta localhost.

dig @127.0.0.1 mail.tecmintlocal.com

Vamos ping e testar o clt1.tecmintlocal.com, antes disso precisamos alterar a entrada dns-server para localhost em nossa máquina servidor dns e reiniciar a rede para fazer efeito .

Abra e edite as configurações da interface de rede e insira a entrada DNS.

sudo vim /etc/network/interfaces

Altere a entrada DNS na interface conforme abaixo.

auto lo
iface lo inet loopback
auto eth0
iface eth0 inet static
        address 192.168.0.100
        netmask 255.255.255.0
        gateway 192.168.0.1
        network 192.168.0.0
        broadcast 192.168.0.255
        dns-nameservers 127.0.0.1
	    dns-search tecmintlocal.com

Após adicionar a entrada, reinicie a rede usando o seguinte comando.

sudo ifdown eth0 && sudo ifup eth0

Se a reinicialização da rede não tiver efeito, será necessário reiniciar. Agora vamos fazer ping e verificar clt1.tecmintlocal.com, enquanto ele responde, precisamos obter o endereço IP que definimos para o nome do host clt1.

ping clt1.tecmintlocal.com -c 3

Configurando pesquisas reversas de DNS

Abra novamente e edite o arquivo named.conf.local.

sudo vim /etc/bind/named.conf.local

Agora adicione a seguinte entrada de pesquisa reversa de DNS conforme mostrado.

zone "0.168.192.in-addr.arpa" {
        type master;
        notify no;
        file "/etc/bind/db.tecmintlocal192";
        };

Salve e saia do arquivo usando wq!. Agora crie um arquivo db.tecmintlocal192, como mencionei no arquivo mestre acima para pesquisa reversa, copie o db.127 para db.tecmintlocal192 usando o seguinte comando.

sudo cp db.127 db.tecmintlocal192

Agora, abra e edite um arquivo db.tecmintlocal192 para configurar a pesquisa reversa.

sudo vim db.tecmintlocal192

Insira a seguinte entrada conforme abaixo, modifique a entrada abaixo conforme sua necessidade.

;
; BIND reverse data file for local loopback interface
;
$TTL    604800
@       IN      SOA     ns.tecmintlocal.com. root.tecmintlocal.com. (
                        2014082802      ; Serial
                         604800         ; Refresh
                          86400         ; Retry
                        2419200         ; Expire
                         604800 )       ; Negative Cache TTL
;
@       IN      NS      ns.
100     IN      PTR     ns.tecmintlocal.com.

111     IN      PTR     ctl1.tecmintlocal.com.
200     IN      PTR     ldap.tecmintlocal.com.
211     IN      PTR     ldapc.tecmintlocal.com.

Reinicie o serviço de ligação usando.

Agora, verifique a entrada de pesquisa de reserva.

host 192.168.0.111

Enquanto fazemos uma pesquisa reversa usando um endereço IP conforme mostrado acima, ele deseja responder com um nome como mostra a imagem acima.

Vamos fazer uma verificação usando o comando dig também.

dig clt1.tecmintlocal.com

Aqui, podemos ver a Resposta para nossa Seção de consulta na resposta, pois o nome de domínio clt1.tecmintlocal.com tem o endereço IP 192.168.0.111.

Etapa 4: configurar a máquina cliente

Basta alterar o endereço IP e a entrada DNS na máquina cliente para Nosso servidor DNS local 192.168.0.100, se assim for, nossa máquina cliente receberá o nome do host atribuído do servidor DNS local.

Vamos verificar o nome do host do nosso cliente usando a seguinte série de comandos.

ifconfig eth0 | grep inet
hostname	
dig -x 192.168.0.100

Compreendendo a entrada do arquivo de zona no DNS, esta imagem lhe dará uma pequena explicação do que definimos na entrada do arquivo de zona.

É isso! neste artigo, vimos como configurar um servidor DNS local para uso doméstico ou no escritório.

Em breve você poderá ler sobre o artigo como solucionar problemas de um servidor DNS usando várias ferramentas e corrigi-lo. Existem muitas ferramentas usadas para solucionar problemas dos servidores DNS. Leia o artigo abaixo para saber algumas dicas de solução de problemas.

8 comandos Nslookup para solução de problemas de DNS