You are on page 1of 6

Projeto SOR

DNS no LINUX

Alunos: Tárcio Luna


Servidor DNS no Linux

Primeiro uma breve explicação sobre o que é este serviço. DNS, Domain Name
System – Sistema de Nomes de Dominio – é de fundamental importância em uma rede,
pois sem ele vários serviços não funcionam, como o email, a internet, etc. Ele é
responsável por informar o nome ou número IP dos hosts do domínio. O DNS é um
sistema hierárquico em árvore invertida. Tem como origem o ponto (“.”), e a partir daí,
os domínios e, abaixo destes, os subdomínios. O nome completo de um host – FQDN =
Full Qualified Domain Name – é composto de duas partes: a primeira parte identifica o
host dentro do domínio e a segunda parte identifica o domínio. Em
www.dnslinux.com.br, www é o nome do host, e dnslinux.com.br é o domínio.
Iremos utilizar BIND para a configuração do servidor e cliente DNS. A instalação
é muito simples, bastando instalar os pacotes bind e bind-utils, que contém o servidor e
os clientes, também chamados de resolvedores. É sempre bom utilizar a versão mais
recente do BIND, pois o bind contêm alguns bugs que estão sempre sendo reparados em
novas versões. Neste exemplo utilizaremos a versão 9.2.3. Para instalarmos o BIND
mais facilmente e evitar problemas com dependências vamos o utilizar o APT, com os
seguintes comandos;

# apt-get install bind


#apt-get install bind-utils

Compreendendo a estrutura

No diretório /etc, iremos visualizar o arquivo de configuração do bind, o “named.conf”.


Neste diretório existem ainda outros arquivos importantes de configuração de rede que
já vem por padrão na instalação do Linux como o “host.conf”, “hosts” e o “resolv.conf
“, que são fundamentais para o funcionamento correto do serviço de DNS.

O primeiro arquivo a ser configurado é o hosts.conf

#vi /etc/host.conf

Aqui é onde especificamos a ordem de consulta da máquina, por exemplo, se vai ser
primeiro no hosts, e depois no DNS, vamos manter a configuração deste arquivo de
forma a ter a primeira consulta no Bind:

order bind,hosts
multi on

Feito isso, vamos agora editar o arquivo hosts:

#vi /etc/hosts

Neste arquivo é onde especificamos o nome da máquina e o domínio. Aqui devemos,


obrigatoriamente ter pelo menos o localhost e nosso próprio IP (estaremos usando o IP
192.168.0.254 para o nosso servidor DNS)
ou seja, se nossa máquina tiver o nome “dns”, e seu domínio for “dnslinux.com.br”,
serão acrescentadas as seguintes entradas no arquivo hosts:

127.0.0.1 localhost.localhosdomain localhost


192.168.0.254 www.dnslinux.com.br www

Em seguida devemos editar o arquivo resolv.conf

#vi /etc/resolv.conf

Aqui iremos configurar qual será o domínio e o IP do servidor de DNS que iremos
utilizar para navegar na internet, ou seja, se estamos configurando um servidor DNS,
utilizaremos nosso próprio servidor para navegar na internet, faremos as seguintes
configurações neste arquivo:

search dnslinux.com.br
nameserver 192.168.0.254

Criando Zonas

Depois de instalarmos, e configuramos a estrutura de arquivos, vamos agora criar as


zonas de domínio. Iremos criar um arquivo no diretório /var/named com o nome de
name.hosts por exemplo.

#vi /var/named/named.hosts

Zonas de domínio serão os arquivos responsáveis por dizer ao servidor de DNS qual
servidor irá responder pelo serviço web, qual servidor irá responder pelo serviço de e-
mail e assim por diante, ou seja, para qual IP deve apontar um determinado domínio e
seus respectivos apelidos.

Abaixo temos um exemplo de arquivo de zona:

@ IN SOA dns.dnslinux.com.br. root.dnslinux.com.br. (

1
86400
3600
1296000
86400
)
IN NS dns.dnslinux.com.br.
cliente IN A 192.168.0.10
localhost IN A 127.0.0.1

Cada linha é um registro. O registro tem sintaxe diferente para cada tipo. O tipo SOA
(start of authority) é obrigatório e, necessariamente, o primeiro registro . Ele descreve a
zona , sua origem (dns.dnslinux.com.br), quem é responsável por seu conteúdo )
(root.dnslinux.com.br). As diversas opções entre parênteses são:

*serial: um número que identifica a versão de atualização das informações.

*refresh: é o peródo do ciclo de atualização. A cada ciclo , os servidores secundários


comparam seu número serial com o do servidor primário, e se forem diferentes, ele
executa uma transferência de zona.

*retry: define o tempo que o servidor secundário irá esperar para nova tentativa se o
primário não responder.

*expiry: tempo máximo que um servidor secundário continua respondendo por uma zon
quando não consegue comunicação com o primário.

*minimum: tempo mínimo de vida que a zona tem.

Este arquivo é responsável pela zona dnslinux.com.br.

No caso do dns.dnslinux.com.br ,é como se chamará o nosso servidor de DNS, e servirá


pra ele fazer uma busca nele mesmo.

Configurando o arquivo da zona reversa

Este arquivo vai definir a resolução reversa.

vi /var/named/named.rev

Nele iremos inserir as seguintes informações:

@ IN SOA dns.dnslinux.com.br. root.dnslinux.com.br. (

1
86400
3600
1296000
86400
)
IN NS dns.dnslinux.com.br.
1 IN PTR dns.dnslinux.com.br.

Agora vamos editar o arquivo named.conf

Depois de criarmos o arquivo de zona, devemos editar o arquivo “named.conf” no


diretório /etc , este arquivo irá conter as configurações do IP em que deverá ser aberta a
porta 53 , que é a porta padrão do serviço do BIND e a configuração dos IP´s de DNS
externo pelo qual seu servidor de DNS deverá realizar a busca caso ele não encontre
uma determinada zona em seu próprio serviço.

#vi named.conf
Nele iremos fazer as seguintes alterações:

options {
directory "/var/named";
listen-on { 127.0.0.1; 192.168.0.254; };
forwarders { 200.164.232.10; 200.164.232.249;};

** O listen-on fará com que o bind escute o IP da placa de rede local e o da interface de
loopback.

** O forwarders fará com que o bind realize consulta nos DNS’s do nosso provedor,
neste caso utilizaremos os DNS’s da Hotlink para realizar consulta externa.

Agora iremos adicionar a entrada da zona do domínio, que será criado no fim do
arquivo:

};
zone "dnslinux.com.br" {
type master;
file "named.hosts";
};

**O file "named.hosts” é o arquivo de zona que vimos anteriormente, onde estão
contidas as informações de IP e aliases. Agora salvamos o arquivo named.conf com as
informações acima indicadas.

Startando o Bind

Caso todas as configurações tenham sido realizadas corretamente, bastará agora subir o
serviço do Bind definitivamente, isso indica que você irá abrir a porta 53 de seu
servidor para que o serviço de DNS esteja ativo em sua rede. No shell de comando
digitaremos o seguinte comando:

#/etc/rc.d/init.d/named start --> Este comando irá iniciar o serviço do Bind em seu
servidor.
#/etc/rc.d/init.d/named stop --> Este comando irá parar o serviço do Bind em seu
servidor.

Para verificarmos se o serviço subiu corretamente podemos executar o seguinte


comando:

#netstat -an | more  Com este comando devemos ter a segunte resposta:

udp 0 0 192.168.0.254:53 0.0.0.0:* OUÇA


udp 0 0 127.0.0.1:53 0.0.0.0:* OUÇA
Isso indica que o serviço DNS encontra-se rodando corretamente em seu servidor, com
a porta 53 aberta em seu IP da primeira placa de rede “eth0” e em seu loopbak “IO” .
Feito isso basta testar se o domínio que criamos em nosso DNS está respondendo
corretamente através de um PING:

# ping www.dnslinux.com.br

PING dns.dnslinux.com.br (192.168.0.254): 56 data bytes


64 bytes from 192.168.0.254 : icmp_seq=0 ttl=118 time=29.3 ms
64 bytes from 192.168.0.254 : icmp_seq=1 ttl=118 time=32.3 ms

Com isso terminamos a configuração do nosso servidor DNS.

You might also like