Servidor DNS: Debian 9 Stretch

Este artigo descreve como instalar e configurar um servidor DNS usando Bind em um Debian9. Ele é baseado no artigo "Servidor DNS (bind9) em Debian Linux", com revisões e adaptações ao Debian9 e ao meu ambiente de laboratório, descrito na introdução.

[ Hits: 22.818 ]

Por: Rodrigo em 02/11/2018


Introdução e Inventário



O que é

Servidor DNS tem função de resolver nomes. Como assim? Toda vez que você acessa a internet, como por exemplo o Viva o Linux, você não está acessando www.vivaolinux.com.br, está acessando um endereço IP formado por 4 octetos (162.144.34.172). Imagine você ter que gravar números ao invés de nomes toda vez que você quiser acessar a internet, seria complicado. Pra isso você configura o DNS indicando algum servidor DNS para resolver isso pra você.

Economia de recursos de rede

Toda vez que você faz uma requisição para um nome ou quando um website faz uma requisição para um domínio, a rede é onerada. Por exemplo: se em seu ambiente um website precisa apontar um provedor de imagens e também um provedor de vídeos, 3 requisições serão exigidas: 1 para o servidor web, outra para o servidor de imagens e uma terceira para o servidor de vídeos. Essa gama de requisições consome recursos de rede e portanto o DNS é um importante aliado para a gestão destes recursos.

Quando a utilização é feita em um DNS local, a requisição é obtida dentro do cache do DNS, que é delimitado pelo seu cache interno ou pelo cache interno do domínio autoritativo. Em outras palavras, o DNS recebe uma identificação de quanto em quanto tempo precisa checar se aquele domínio alterou ou não as informações internas. Esse check é feito de acordo com o DNS autoritativo.

Inventário

  • Ambiente Virtualizado com Dropbox
  • Hardware: 20 Gb 256MB 1CPU
  • IP: 172.16.0.4/24
  • Rede: 172.16.0.0/24 Gateway: 172.16.0.1/24
  • S/O: Debian9

Repositórios do arquivo /etc/apt/source.list:

deb http://ftp.br.debian.org/debian/ stretch main
deb-src http://ftp.br.debian.org/debian/ stretch main
deb http://security.debian.org/debian-security stretch/updates main contrib
deb-src http://security.debian.org/debian-security stretch/updates main contrib
# stretch-updates, previously known as 'volatile'
deb http://ftp.br.debian.org/debian/ stretch-updates main contrib
deb-src http://ftp.br.debian.org/debian/ stretch-updates main contrib

Instalação e Configuração do Bind

Instalar o bind via gerenciador de arquivos apt-get:

# apt-get install bind9 dnsutils -y

Configuração do Bind:

Para organização da implementação, primeiramente iremos editar o arquivo /etc/hosts e inserir a entrada "172.16.0.4":

127.0.0.1       localhost
127.0.1.1       hostname
172.16.0.4      vivaolinux.com.br hostmaster.vivaolinux.com.br DNS1.vivaolinux.com.br

Feito isso, precisamos editar o arquivo /etc/bind/named.conf.options. Iremos inserir e substituir as entradas:

directory "/etc/bind";
version "não disponível";

No mesmo arquivo coloque as entradas abaixo:

forwarders {
  172.16.0.1;
  8.8.8.8;
};
listen-on {
   127.0.0.1;
   172.16.0.4;
};
allow-query {
   127.0.0.0/8;
   172.16.0.0/24;
};

Explicação das entradas(ML):
  • listen-on: são os ips onde o DNS vai responder na porta 53.
  • allow-query : são as redes que serão autorizadas a obter dados do DNS.
  • listen-on-v6: são os ranges de IPV6, caso sua maquina possua, que o servidor responder na porta 53.

Segue o arquivo de configuração:

options {
        directory "/etc/bind";
        version "não disponível";
forwarders {
        172.16.0.1;
        8.8.8.8;
};
        dnssec-validation auto;
        auth-nxdomain no;    # conform to RFC1035

listen-on{
        127.0.0.1;
        172.16.0.4;
};
allow-query {
127.0.0.1/8;
172.16.0.0/24;
};

};

    Próxima página

Páginas do artigo
   1. Introdução e Inventário
   2. Criando Zonas
   3. Testando o servidor DNS
Outros artigos deste autor

Montando um servidor NTP

O Software e o homem

Leitura recomendada

Balanceamento de links - Load balance + Failover + Failback

Transforme seu PC em um roteador Wi-Fi com Hostapd em modo Bridged

Montagem de um cluster com o MOSIX

Alterando o forward do SSH após conexão

Criando um template customizado para o CACTI

  
Comentários
[1] Comentário enviado por cizordj em 05/02/2019 - 09:24h

Se eu editar o arquivo /etc/hosts de um servidor DNS que nem esse, ele resolve para todos na rede o que está no hosts dele?
Por exemplo, quero que ele resolva um serviço local desse jeito:
192.168.0.28:8080/meuservicolocal/ http://meuservicolocal/


<---------------------------------------------------------------->
O seu tempo é o único bem que você não recupera


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts