Olá pessoal! Este será meu primeiro artigo como colunista Linux do iMaters. Gostaria de agradecer ao grande amigo Rodrigo, que me indicou para escrever neste espaço, e parabenizar o pessoal do iMasters por abrir este espaço de troca de informações , pois o conhecimento é sempre o melhor caminho para o desenvolvimento.
Neste artigo irei disponibilizar um breve tutorial sobre como configurar um servidor de DNS , e mostrar que isso não é uma missão impossível como muitos pensam, espero que seja útil para todos.
Configuração do serviço DNS
O Domain Name System – Sistema de Nomes de Dominio – é de fundamental importância em uma rede. 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.imasters.com.br, www é o nome do host, e imasters.com.br é o domínio.
Os hosts em um domínio precisam ser alterados, incluídos e removidos. Para isso é necessário ter um host com autoridade para alterar tais informações. Para que fosse possível a delegação de autoridade, foram criadas as zonas. Uma zona contém informações sobre os hosts e subdomínios que fazem parte dela, mas pode delegar um ou mais desses subdomínios para outro host.
Por exemplo, os hosts que são autoritativos para a zona “br” nada sabem sobre a zona “com.br” , exceto quem são os servidores DNS para essa zona, ou seja, quais servidores DNS receberam a delegação de autoridade para a zona.
Existem dois tipos de servidor DNS: primários e secundários. Os primários possuem os arquivos de configuração; os secundários recebem as informações dos primários através de transferências de zona.
As zonas são mapas usados para converter nomes para IP ou vice versa. Por isso são zonas comuns e reversas. O serviço DNS é implementado no Linux por diversos pacotes , o que você verá aquiv é o BINS na versão 9.0 .
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. O pacote caching-name server pode ser instalado também para criar arquivos de cofiguração padrão.
Primeiro pegue a versão mais nova do BIND, eu escrevi este tutorial com base na versão 9.2.2 que pode ser baixada do site ftp://ftp.isc.org/isc/bind9/9.2.2/bind-9.2.2.tar.gz , ou instale os pacotes RPM´s via APT , que é o programa de instalação de pacotes mais utilizado em distribuições como RedHat, é interessante utilizar o APT pois ele resolve problemas de dependência.
Via APT, estando logado como root digite o seguinte comando no Shell:
# apt-get install bind
#apt-get install bind-utils
#apt-get install caching-namesrver
Estes comandos irão instalar os pacotes necessários para a configuração do serviço de DNS.
Entendendo A Estrutura
Depois da instalção do bind, se você navegar no /var/named você visualizará os seguintes arquivos
. named.ca;
. named.local;
. localhost.zone.
- named.ca --> neste arquivo vem por padrão todos os rootserver da internic ou seja os grandes servidores de DNS do mundo, como o da NASA ns.nasa.org e etc. Sua função e interligar todos os servidores do mundo ou seja se o seu servidor de DNS não 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 padrão 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 padrão e não são necessárias alterações neles.
Se você navegar no diretório /etc, você irá 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. Iremos abaixo analisar cada um deles e checar a configuração necessária para que o serviço funcione corretamente.
O primeiro arquivo que iremos configurar é o hosts.conf
#vi /etc/host.conf
Este arquivo especifica a ordem de consulta da máquina, por exemplo se vai ser primeiro no hosts, e depois no DNS , mantenha a configuração deste arquivo de forma a ter a primeira consulta no Bind:
order bind,hosts
multi on
Em seguida edite o arquivo hosts:
#vi /etc/hosts
Este arquivo especifica o nome da máquina e domínio. Neste arquivo devemos obrigatoriamente ter pelo menos o localhost e nosso próprio IP (neste exemplo o IP de nosso servidor de DNS será 192.168.0.1), ou seja, se nossa máquina conter o nome “dns”, e seu domínio for “imasters.com.br”, devemos acrescentar as seguintes entradas neste arquivo:
1270.0.0.1 localhost.localhosdomain
localhost
192.168.0.1 dns.imasters.com.br dns
Em seguida edite o arquivo resolv.conf.
#vi /etc/resolv.conf
Neste arquivo você irá configurar qual será o domínio e IP do servidor de DNS que irá utilizar para navegar na internet, ou seja, estamos configurando um servidor de DNS logo utilizaremos nosso próprio servidor, utilize as seguintes configurações neste arquivo:
search imasters.com.br
nameserver 192.168.0.1
Criando Zonas
Agora que instalamos, vimos a estrutura dos arquivos e os configuramos, iremos criar as zonas de domínio. Crie um arquivo no diretório /var/named com o nome de dominio.com.br.hosts por exemplo.
#vi /var/named/imasters.com.br.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 de determinado domínio, ou seja, para qual IP deve apontar um determinado domínio e seus respectivos apelidos.
Segue abaixo um exemplo de arquivo de zona.
$TTL 3600
@ IN SOA dns.imasters.com.br. root.imasters.com.br. (
2004071501
; Serial
28800
; Refresh
14400
; Retry
3600000
; Expire
86400
) ; Minimum
IN
NS dns.imasters.com.br.
IN
MX 5 mail.imasters.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) é obrigatório e, necessariamente, o primeiro registro . Ele descreve a zona , sua origem (dns.imasters.com.br), quem é responsável por seu conteúdo )(root.imasters.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 direfentes, 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 e responsável pela zona imasters.com.br, dizendo ao Servidor DNS que o servidor responsável 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.imasters.com.br ,é como se chamará o nosso servidor de DNS, e serve pra ele fazer uma busca nele mesmo.
Editando o named.conf
Agora que já foi criado 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 você deverá acrescentar as seguintes alterações:
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 fára 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 domínio que será cirado ao arquivo fim do arquivo:
};
zone "imasters.com.br" {
type
master;
file
"imasters.com.br.hosts";
};
**O file "imaters.com.br.hosts” é o arquivo de zona que vimos anteriormente, onde estão contidas as informações de IP e aliáses. Salve o arquivo named.conf com as informações acima idicadas.
Rodando 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 prompt de comando digite 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 checar se o serviço 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:* OUÇA
udp 0 0
127.0.0.1:53 0.0.0.0:*
OUÇA
Isso indica que o serviço 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 domínio que criamos em nosso DNS está respondendo corretamente através de um PING:
# ping www.imasters.com.br
PING dns.imasters.com.br
(192.168.0.1): 56 data bytes
64 bytes from 192.168.0.1 : icmp_seq=0 ttl=118 time=29.3 ms
64 bytes from 192.168.0.1 : icmp_seq=1 ttl=118 time=32.3 ms
Parabéns, seu DnNS está ativo e funcionando corretamente. Espero que esta matéria seja útil para todos.
Glauber Matos
Fala garoto, mostrando seus dotes agora na iMasters, seja Bem-Vindo e sucesso na sua coluna de Linux. Abraços,
Maurício J. Fávaro
E ai Leandro?!
como vai cara? poxa agora tb companheiro de aulas virtuais!
bom cara te desejo toda sorte do mundo nesse caminho.. se precisar de qualquer coisa é so me chamar
um abraço e parabens pela materia bem elaborada
Fabio Lody
marcelo
Bom dia Leandro.
Eu comprei o mandriva conectiva 2006 com power pack.
Mas o que acontece, instalado ele quase perfeito que ele já vem com um monte de problema, dai quando eu vou fazer a configuração do adsl speed da telefônica , primeiro ele não conectava, fiquei quinze dias para achar alguma coisa na NET que resolva meu problema, nada nem no site da conectiva não arrumei nada, liguei para o suporte da conectiva por ser software original eles iam-me da o suporte.
Ai que vem o problema ele me disseram que eu tinha que me cadastrar mo site do mandriva expert para eu ter o suporte, que por telefone não daria para dar suporte, outro detalhe ligação para o Paraná sendo que eu estou em São Paulo e não é gratuita não a ligação bem em fim depois de muita luta na internet achei alguma coisa,
Legal mas quando fim a configuração tudo certo não navega ele conecta, mas não navega.
A configuração esta ok fiz e re fiz umas trezentas vezes, não sei o que pode esta acontecendo, já tentei atualizar o pacote rp.pppoe ou pppoe
Apesar de que o mandriva já vem com tudo isso, mas não custa tenta uma atualização né.
Pode ser uma configuração o firefox o no monzila, bem sei lá que pode estar acontecendo, mas se você pode me ajudar agradeço.
Sabe que é interresante no ajato ele configura sozinho a internet e navega por isso não sei o que fazer.
Ajude-me, por favor,
Informação opcional que eu fiz.
dns do uol. 200.211.10.100 1º
200.211.10.101 2º
Grato giorgioalves
Anderson Ramos Fodra
Olá Leandro, tem como você ensinar a configurar o vi, para que apareçam as cores e atalhos como a da tecla "Insert", e resaltando novamente existe uma diferença grande nos comandos do Debian para o RedHat???
2001 - iMasters FFPA Informática Ltda - Todos os direitos reservados.