Visite também: Br-Linux ·  VivaOLinux ·  LinuxSecurity ·  Dicas-L ·  NoticiasLinux ·  SoftwareLivre.org ·  [mais]
Voltar   Under-Linux.org Fóruns > UnderLinux Wiki
Wiki Classificados Galeria Reviews Jogos Comunidades RSS Feeds FAQ Termos de Uso Sobre
Cadastre-se FotosBlogs Lista de Membros Calendário Pesquisar Mensagens de Hoje Marcar Fóruns Como Lidos

Ferramentas pessoais
Publicidade

From UnderLinux Wiki

Imagem:Dns.gif


Servidor de DNS em FreeBSD

Olá amigos, desculpa pela demora é q o tempo esta cada dia mais curto.

Outra necessidade de nos provedores é um sistema de DNS robusto, tanto para resolver, hospedar e fornecer o reverso para nossos blocos de IP's.

Resolvi faze-lo em FreeBSD por se tratar de um sistema pratico e extremamente estável.

No exemplo usei a versão FreeBSD 6.0 RELEASE.

Tabela de conteúdo

Instalando

A Instalação do FreeBSD não tem mistério, nesse caso basta um sistema básico, não irei trata-la aqui pois já existe bastante material a respeito na web e pra não ficar muito extenso.


Após instalado o sistema vamos atualizar o Ports:

# portsnap fetch
# portsnap extract


Ai das próximas vezes basta um:

# portsnap fetch update

Bom, com o Ports atualizado vamos instalar o bind:

# cd /usr/ports/dns/bind9
# make install clean


Após instalado vamos adicionar a linha ao /etc/rc.conf

# ee /etc/rc.conf

named_enable="YES"

Bom agora o bind (named) já está ligando no boot, agora é só configura-lo.

Configurando

Primeiramente precisamos fazer a resolução para localhost, para isso já existe um script junto aos arquivos de configuração.

# cd /etc/namedb/
# sh makelocalhost.sh


Você vai notar que ele criou automaticamente os arquivos no /etc/namedb/master:

localhost-v6.rev        localhost.rev

Caso esteja assim, perfeito nem precisa mexer.

Agora vamos conhecer o arquivo de configuração /etc/namedb/named.conf

Não vou descreve-lo aqui, somente os aspectos interessantes que devem ficar dentro do options { }:

allow-recursion { 200.XXX.XXX.XXX/26; 200.XXX.XXX.XXX/26; 200.255.125.214; };

No caso acima digo que meu servidor só aceita consultas das subnet's ou de ip's listados, no caso esse ultimo IP é o servidor de DNS da EMBRATEL que ofereceu-se no caso para servir de DNS secundário para os reversos.

listen-on       { 127.0.0.1; 200.XXX.XXX.XXX; };

Simples, diz que meu servidor vai escutar a rede em localhost e no próprio IP dele.

O restante não apaguei nada, deixei o arquivo como veio originalmente.

Zona Reversa

Bom agora temos que criar a zona reversa, ela é muito importante para resolver nossos IP's pois sem isso muitos servidores de email podem recusar emails ou identificar como SPAM caso provenha de uma rede sem reverso devidamente configurado.

Devemos criar a zona no final do arquivo /etc/namedb/named.conf

Nesse caso como geralmente os blocos são cedidos segmentados (64 ip's por bloco) temos que fazer a zona da seguinte forma:

Exemplo para o bloco: AAA.BBB.CCC.0/26

zone "0-63.CCC.BBB.AAA.in-addr.arpa" {

        type master;

        file "master/0-63.meudominio.rev";

        allow-transfer { 200.255.125.214; 200.XXX.XXX.XXX; };

};


No caso acima eu crio a zona, indico se ele é master ou slave, indico o arquivo que contem os dados da zona, e no allow-transfer ficam listados os servidores que podem copiar a zona, no caso para atuarem como slave.

Aproveitando o arquivo /etc/namedb/named.conf aberto vamos criar a zona para um domínio:
zone "meudominio.com.br" {

        type master;

        file "master/meudominio.zone";

        allow-transfer { 200.XXX.XXX.XXX; };

};


Bem simples e bem análogo ao do reverso, dispensa comentários.

Zonas

Bom, agora temos que criar os aquivos que contem os dados das zonas:

  • Reverso:
# ee /etc/namedb/master/0-63.meudominio.rev
 

; ############# INICIO DO ARQUIVO #################

$origin 0-63.CCC.BBB.AAA.in-addr.arpa.

$ttl 38400

@       IN      SOA     ns1.meudominio.com.br. admin.meudominio.com.br (

                        2006092500

                        10800

                        3600

                        604800

                        38400 )

;

;   Indicação dos servidores de dns que responderão pela zona

;

@       IN      NS      ns1.meudominio.com.br.

@       IN      NS      ns2.meudominio.com.br.

@       IN      NS      ns.embratel.net.br.

 

;

;    Denominacão das maquinas que respondem pelos ip's

;

1       IN      PTR     cisco.meudominio.com.br.

2       IN      PTR     ns1.meudominio.com.br.

3       IN      PTR     ns2.meudominio.com.br.

5       IN      PTR     mail.meudominio.com.br.

6       IN      PTR     www.meudominio.com.br.

9       IN      PTR     ftp.meudominio.com.br.

 

; ############## FIM DO ARQUIVO ##################


No arquivo pudemos perceber que o reverso do ip:

AAA.BBB.CCC.1 vai resolver o cisco.meudominio.com.rr

AAA.BBB.CCC.2 vai resolver o ns1.meudominio.com.br

AAA.BBB.CCC.3 vai resolver o ns2.meudominio.com.br

E assim sucessivamente....

  • Domínio:
# ee /etc/namedb/master/meudominio.zone

; ############# INICIO DO ARQUIVO #################

 

 

$ttl 38400

meudominio.com.br.                IN      SOA     ns1.meudominio.com.br. admin.meudominio.com.br. (

 

                        2006112100

                        10800

                        3600

                        604800

                        38400 )

 

;

; Servidores de DNS

;

meudominio.com.br.         38400   IN      NS      ns1.meudominio.com.br.

meudominio.com.br.         38400   IN      NS      ns2.meudominio.com.br.

meudominio.com.br.         38400   IN      MX       0      mail.meudominio.com.br

;

; Maquinas Declaradas

;

ns1.meudominio.com.br.            38400   IN      A       AAA.BBB.CCC.2

ns2.meudominio.com.br.            38400   IN      A       AAA.BBB.CCC.3

cisco.meudominio.com.br.          38400   IN      A       AAA.BBB.CCC.1

mail.meudominio.com.br.          38400   IN      A       AAA.BBB.CCC.5

www.meudominio.com.br.          38400   IN      A       AAA.BBB.CCC.6

smtp.meudominio.com.br.          38400   IN      CNAME   mail.meudominio.com.br.

pop.meudominio.com.br.          38400   IN      CNAME   mail.meudominio.com.br.

ftp.meudominio.com.br.          38400   IN      A       AAA.BBB.CCC.9

 

; ############## FIM DO ARQUIVO ##################

Simples também certo ? Somente uma observação quanto ao CNAME, essas linhas estão dizendo que: smtp.meudominio.com.br e pop.meudominio.com.br são "apelidos" para mail.meudominio.com.br

Bom, é basicamente isso, agora seguem algumas dicas pra testar e brincar com DNS e depois uma instrução de como fazer um DNS slave, já que pra registro de domínios são necessários dois servidores.

Operando

Bom, se você tem um link da Embratel e eles te propuseram a fazer o secundário do seu DNS reverso, aproveite, não custa nada, basta você ligar lá e pedir o cadastramento do reverso, eles farão o teste e se conseguirem importar a sua zona reversa, pronto, não precisa fazer mais nada, sempre que você mudar ele copia.

Uma coisa muito importante é o registro de serial do arquivo de configuração das zonas é o primeiro conjunto de números do SOA do arquivo, ex:

2006112700


Que significa: ANO MÊS DIA REVISÃO

Ou seja, sempre que você alterar alguma coisa no arquivo mude esse numero para o valor do dia, e digito revisão se usa por exemplo se fizer mais de uma alteração no dia, ex: 00 ou 01 ou 02....99 (acho que não vai precisar fazer mais de 99 alterações num dia né, hehe)

Outra dica importante é sempre que fizer a mudança (não esquecer do serial) e matar o processo do named e inicia-lo novamente:

# killall named

# named

Pronto ele aplica a mudança, mas não se desespere pois as alterações de DNS geralmente demoram pra propagar pra internet toda, em geral algumas horas.

Basicamente a manipulação do servidor de DNS é isso, vamos agora fazer uns testes:

Testando

outramaquina# nslookup

> server ns1.meudominio.com.br

Default server: ns1.meudominio.com.br

Address: AAA.BBB.CCC.2#53

> cisco.meudominio.com.br

Server:         ns1.meudominio.com.br

Address: AAA.BBB.CCC.2#53

 

Name:   cisco.meudominio.com.br

Address: AAA.BBB.CCC.1

>exit

outramaquina#

No exemplo acima de outra maquina consultamos nosso servidor de DNS e perguntamos a ele quem é cisco.meudominio.com.br, e ele respondeu o ip dele.

Outro teste bacana é do reverso:

Use uma maquina com windows e de um ping –a num IP, ele vai responder quem é o reverso desse ip:

C:\WINDOWS>ping -a 201.72.172.2


Disparando contra ns1.meudominio.com.br [AAA.BBB.CCC.2] com 32 bytes de dados:


Resposta de AAA.BBB.CCC.2:bytes=32 tempo=38ms Tempo de vida=51

Resposta de AAA.BBB.CCC.2:bytes=32 tempo=31ms Tempo de vida=51

Resposta de AAA.BBB.CCC.2:bytes=32 tempo=16ms Tempo de vida=51.........

Também é legal fazer um traceroute (tracert no WINDOW$) de outra rede para sua rede:

 
C:\WINDOWS>tracert AAA.BBB.CCC.2
 
Rastreando a rota para ns1.meudominio.com.br [AAA.BBB.CCC.2]

com no máximo 30 saltos:

 

  1   <10 ms     1 ms   <10 ms

.....

.....

.....

12    17 ms    17 ms    19 ms  ebt-F8-0-0-acc04.rpo.embratel.net.br [200.230.158.54]

13    37 ms    40 ms    44 ms  empresa-S2-0-0-105-acc04.rpo.embratel.net.br [200.00.00.54]

14    39 ms    37 ms   143 ms  ns1.meudominio.com.br [AAA.BBB.CCC.2]

 

Rastreamento completo.

No mais é isso, vamos agora dar uma olhada como fazer um DNS Slave, são poucas as mudanças:

Fazendo um DNS Slave

É muito simples só muda um pouco a forma como se descreve as zonas no /etc/namedb/named.conf

Exemplo:

  • No master fica assim:
zone "meudominio.com.br" {

        type master;

        file "master/meudominio.zone";

        allow-transfer { 200.XXX.XXX.XXX; };

};

Onde esse ip obviamente é do servidor slave da zona em questão

  • Já no slave:
zone "meudominio.com.br" {

        type slave;

        file "slave/meudominio.zone";

        masters { 200.XXX.XXX.XXX; };

};

Onde esse ip obviamente é do servidor master da zona em questão

Já os arquivos da zona slave não é necessário fazê-los já que por ser slave ele mesmo já copia os arquivos do master.

Basta fazer na maquina slave:

#killall named

#named

e observar que os arquivos estão no /etc/namedb/slave

Créditos

É só isso mesmo!

Abraço pessoal espero ter ajudado

Qualquer coisa já sabem, mail-me!

Eduardo Doria

DoriaTel Telecomunicações LTDA

Horários baseados na GMT -3. Agora são 2:04.


Powered by vBulletin®
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd
SEO by vBSEO 3.2.0 ©2008, Crawlability, Inc.