Você está na página 1de 22

Servidor DNS BIND

DNS, Domain Name System Sistema de Nomes de Dominio de fundamental importncia em uma rede, pois sem ele vrios servios no funcionam, como o email, a internet, etc. Ele responsvel por informar o nome ou nmero IP dos hosts do domnio. O DNS um sistema hierrquico em rvore invertida. Tem como origem o ponto (.), e a partir da, os domnios e, abaixo destes, os subdomnios. O nome completo de um host FQDN = Full Qualified Domain Name composto de duas partes: a primeira parte identifica o host dentro do domnio e a segunda parte identifica o domnio. Em ricardo.dnslinux.com.br, ricardo o nome do host, e dnslinux.com.br o domnio.

Sistema Hierrquico em rvore invertida

Os hosts em um domnio precisam ser alterados, includos e removidos. Para isso necessrio ter um host com autoridade para alterar tais informaes. Para que fosse possvel a delegao de autoridade, foram criadas as zonas. Uma zona contm informaes sobre os hosts e subdomnios que fazem parte dela, mas pode delegar um ou mais desses subdomnios para outro host.

Por exemplo. Os hosts que so autoritativos para a zona br nada sabem sobre a zona com.br , exceto quem so os servidores DNS para essa zona, ou seja, quais servidores DNS receberam a delegao de autoridade para a zona.

Existem dois tipos de servidor DNS: primrios e secundrios. Os primrios possuem os arquivos de configurao; os secundrios recebem as informaes dos primrios atravs de transferncias de zona. As zonas so mapas usados para converter nomes para IP ou vice versa. Por isso so zonas comuns e reversas. O servio DNS implementado no Linux por diversos pacotes , o que ns usaremos o BIND.

O BIND
A primeira implementao do DNS chamava-se JEEVES, escrita pelo prprio Paul Mockapetris. Uma implementao posterior era o BIND, escrita para o sistema operacional BSD UNIX 4.3 por Kevin Dunlap. O BIND atualmente mantido por Paul Vixie sob o patrocnio do ISC (Internet Software Consortium). BIND, que a sigla para Berkeley Internet Name Domain, uma implementao bem concentrada do padro DNS. E de longe a implementao de DNS mais usada e popular que existe, e quase se confunde com a definio.

Instalao do BIND
A instalao muito simples, bastando instalar os pacotes bind e bind-utils, que contm o servidor e os clientes, tambm chamados de resolvedores. O pacote caching-name server pode ser instalado tambm para criar arquivos de cofigurao padro.

Estrutura do BIND(DNS)
Depois da instalo do bind, ao navegar no /var/named visualizaremos os seguintes arquivos . named.ca; . named.local; . localhost.zone.

- named.ca --> neste arquivo vem por padro todos os rootserver da internic ou seja os grandes servidores de DNS do mundo, como o da NASA ns.nasa.org e etc. Sua funo e interligar todos os servidores do mundo ou seja se o seu servidor de DNS no sabe onde fica localizado determinado ip ele faz uma consulta a um rootserver que vai lhe dizer a resposta. - named.local --> neste arquivo vem por padro a zona local da maquina na entrada do DNS ou seja o localhost - localhost.zone --> e o arquivo de zona reversa ou seja resolver IP pra nome Estes arquivos vem por padro e no so necessrias alteraes neles.

Se navegarmos no diretrio /etc, iremos visualizar o arquivo de configurao do bind, o named.conf. Neste diretrio existem ainda outros arquivos importantes de configurao de rede que j vem por padro na instalao do Linux como o host.conf, hosts e o resolv.conf , que so fundamentais para o funcionamento correto do servio de DNS. Iremos abaixo analisar cada um deles e checar a configurao necessria para que o servio funcione corretamente.

Animao do DNS funcionando


Clique no link abaixo para ver o funcionamento do dns na internet. http://penta2.ufrgs.br/dns/dns.swf

Host.conf
O primeiro arquivo que iremos configurar o host.conf #vi /etc/host.conf Este arquivo especifica a ordem de consulta da mquina, por exemplo se vai ser primeiro no hosts, e depois no DNS , mantenha a configurao deste arquivo de forma a ter a primeira consulta no Bind: order bind,hosts multi on

hosts
Em seguida vamos editar o arquivo hosts: #vi /etc/hosts Este arquivo especifica o nome da mquina e domnio. Neste arquivo devemos obrigatoriamente ter pelo menos o localhost e nosso prprio IP (neste exemplo o IP de nosso servidor de DNS ser 192.168.0.1), ou seja, se nossa mquina conter o nome dns, e seu domnio for mandriva.com.br, devemos acrescentar as seguintes entradas neste arquivo: 127.0.0.1 localhost.localhosdomain localhost 192.168.0.1 dns.mandriva.com.br dns

Resolv.conf
Em seguida edite o arquivo resolv.conf. #vi /etc/resolv.conf Neste arquivo voc ir configurar qual ser o domnio e IP do servidor de DNS que ir utilizar para navegar na internet, ou seja, estamos configurando um servidor de DNS logo utilizaremos nosso prprio servidor, utilize as seguintes configuraes neste arquivo:

search mandriva.com.br nameserver 192.168.0.1

Zonas de Domnio
Agora que instalamos, vimos a estrutura dos arquivos e os configuramos, iremos criar as zonas de domnio. Zonas de domnio sero os arquivos responsveis por dizer ao servidor de DNS qual servidor ir responder pelo servio web, qual servidor ir responder pelo servio de e-mail e assim por diante de determinado domnio, ou seja, para qual IP deve apontar um determinado domnio e seus respectivos apelidos.

Crie um arquivo no diretrio /var/named com o nome de dominio.com.br.hosts por exemplo. #vi /var/named/mandriva.com.br.hosts

Segue abaixo um exemplo de arquivo de zona. $TTL 3600 @ IN SOA dns.mandriva.com.br. root.mandriva.com.br. ( 2004071501 ; Serial 28800 ; Refresh 14400 ; Retry 3600000 ; Expire 86400 ) ; Minimum IN NS dns.mandriva.com.br. IN MX 5 mail.mandriva.com.br. dns IN A 192.168.0.1 www IN A 192.168.0.2 ftp IN A 192.168.0.3 smtp IN A 192.168.0.4 pop3 IN A 192.168.0.4 mail IN A 192.168.0.4 Cada linha um registro. O registro tem sintaxe diferente para cada tipo. O tipo SOA (start of authority) obrigatrio e, necessariamente, o primeiro registro . Ele descreve a zona , sua origem (dns.mandriva.com.br), quem responsvel por seu contedo )(root.mandriva.com.br). As diversas opes entre parnteses so: *serial: um nmero que identifica a verso de atualizao das informaes *refresh: o perdo do ciclo de atualizao. A cada ciclo , os servidores secundrios comparam seu nmero serial com o do servidor primrio, e se forem direfentes, ele executa uma transferncia de zona. *retry: define o tempo que o servidor secundrio ir esperar para nova tentativa se o primrio no responder. *expiry: tempo mximo que um servidor secundrio continua respondendo por uma zon quando no consegue comunicao com o primrio. *minimum: tempo mnimo de vida que a zona tem. Este arquivo e responsvel pela zona mandriva.com.br, dizendo ao Servidor DNS que o servidor responsvel pelo www tem o IP 192.168.0.2 , o servidor de FTP tem o IP 192.168.0.3 , o servidor de e-mail, pop3 e smtp tem o IP 192.168.0.4. No caso do dns.mandriva.com.br , como se chamar o nosso servidor de DNS, e serve pra ele fazer uma busca nele mesmo.

Named.conf
Agora que j foi criado o arquivo de zona, devemos editar o arquivo named.conf no diretrio /etc , este arquivo ir conter as configuraes do IP em que dever ser aberta a porta 53 , que a porta padro do servio do Bind e a configurao dos IPs de DNS externo pelo qual seu servidor de DNS dever realizar a busca caso ele no encontre uma determinada zona em seu prprio servio.

#vi named.conf Nele voc dever acrescentar as seguintes alteraes: options { directory "/var/named"; listen-on { 127.0.0.1; 192.168.0.1; }; forwarders { 200.204.0.10; 200.204.0.138; }; ** O listen-on far com que o bind escute o IP da sua placa de rede e o da interface de loopback ** O forwarders fra com com que o bind realize consulta nos DNS"s de seu provedor, neste caso estou utilizando os DNS"s do speedy para realizar consulta externa. Agora adicione a entrada da zona do domnio que ser criado ao arquivo fim do arquivo: }; zone mandriva.com.br" { type master; file mandriva.com.br.hosts"; }; **O file mandriva.com.br.hosts o arquivo de zona que vimos anteriormente, onde esto contidas as informaes de IP e alises. Salve o arquivo named.conf com as informaes acima idicadas.

Named.rev
Este arquivo vai definir a resoluo reversa. vi /var/named/named.rev

Rodando o BIND
Caso todas as configuraes tenham sido realizadas corretamente, bastar agora subir o servio do Bind definitivamente, isso indica que voc ir abrir a porta 53 de seu servidor para que o servio de DNS esteja ativo em sua rede. No prompt de comando digite o seguinte comando: #/etc/rc.d/init.d/named start --> Este comando ir iniciar o servio do Bind em seu servidor. #/etc/rc.d/init.d/named stop --> Este comando ir parar o servio do Bind em seu servidor.

Verificao de ativao do servio


Para checar se o servio subiu corretamente execute o seguinte comando: #netstat -an | more --> Com este comando devemos ter a segunte resposta: udp 0 0 192.168.0.1:53 0.0.0.0:* OUA udp 0 0 127.0.0.1:53 0.0.0.0:* OUA Isso indica que o servio de 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 domnio que criamos em nosso DNS est respondendo corretamente atravs de um PING: