br-linux

Artigos br-linux.org
Artigos sobre Linux em bom português, originais e com qualidade

O texto abaixo foi publicado no BR-Linux antes de 2005, e está mantido aqui por razões históricas. Veja o material atualizado diariamente do BR-Linux em http://br-linux.org
DNS Fácil
Publicado em 27 de março de 2004
 

Mais um tutorial sobre como configurar e instalar um Servidor de DNS Bind.
Escrito por Edson Doria C. Junior (juniordoria _at_ bol.com.br).

DNS Fácil

Por Edson Doria C. Junior - juniordoria _at_ bol.com.br


Meu sistema é Linux Red Hat 8.0. É imprescindível dizer que o DNS que criei é para minha rede particular por isso, eu usei o IP de minha placa de rede Eth0 que é "128.0.0.1" , nome da minha máquina é "Junior" e o domínio é "corvo.com.Br". Que foi usado para os nomes dos arquivos que iremos criar para o DNS. Mas para se ter uma idéia básica de como funciona o DNS, servirá muito bem.

Faça sempre backup dos arquivos que iremos editar.

Arquivos:

No diretório "/etc", os arquivos "hosts", "host.conf", "resolv.conf", "named.conf" e

"named.custom".

No diretório "/var/named" "named.ca" que você pode conseguir apontando seu browser para

ftp://ftp.rs.iternic.net/

clique na pasta domain e ache o arquivo "named.cache" baixe no diretório e renomei para "named.ca".

Os arquivos do diretorio "/var/named" que não devem ser modificados são os criados na instalação do Red Hat 8.0.

São eles: "0.0.127.in-addr.arpa.zone" e o "localhost.zone".

Os que devem ser criados, são os arquivos "0.0.128.in-addr.arpa.zone" e "junior.zone".

Veremos a seguir toda a configuração.

No diretório "/etc" edite o arquivo "hosts" e acrescente abaixo da linha aonde tem o endereço de loopback o seguinte:

128.0.0.1 junior.corvo.com.Br junior

ainda no "/etc" edite o arquivo "host.conf" e veja que já existe o seguinte

order hosts,bind

se não existir, ponha! Ainda no "/etc" edite o arquivo "resolv.conf" e digite

Search corvo.com.Br

Nameserver 128.0.0.1

Depois de feito isto, vamos editar o arquivo "named.custom". note que há também um
arquivo chamado "named.conf" mas nós não o alteraremos, mesmo assim verifique o seu
conteúdo só por curiosidade. Em outros sistemas talvez não exista o arquivo

"named.custom" mas como estou tomando por base o Red Hat 8.0, é nele que faremos as configurações.

"/etc/named.custom"

## named.custom - custom configuration for bind
#
# Any changes not currently supported by redhat-config-bind shold be put
# in this file.
#
zone "." {
type hint;
file "named.ca";
};

zone "0.0.128.in-addr.arpa" {
type master;
file "0.0.128.in-addr-arpa.zone";
};

zone "corvo.com.br" {
type master;
file "corvo.zone";
};


Terminada a configuração do "named.custom"

Vamos a configuração dos arquivos de zonas que estão em "named.custom" em "/var/named" abra um novo arquivo com o nome de "0.0.128.in-addr-arpa.zone" e digite como esta abaixo:

$TTL 86400
@ IN SOA junior.corvo.com.br. root.junior (
2 ; serial
28800 ; refresh
7200 ; retry
604800 ; expire
86400 ; minimum
)

@ IN NS junior.corvo.com.br
1 IN PTR junior.corvo.com.br


Terminado !


Vamos agora para o arquivo "corvo.zone"

@ IN SOA junior.corvo.com.br. root.junior (
2 ; serial
28800 ; refresh
7200 ; retry
604800 ; expire
86400 ; minimum
)
@ IN NS junior.
. IN MX 10 junior
Junior IN A 128.0.0.1
www IN CNAME junior


Feito ! Só lembrando que após a palavra Junior na nona linha contando os espaços em branco de cima para baixo existe um ponto assim como nos dois arquivos após o endereço completo Junior.corvo.com.Br. existe um ponto.

Testar:

[root@Junior named]# ping Junior
PING junior.corvo.com.br (128.0.0.1) from 128.0.0.1 : 56(84) bytes of data.
64 bytes from junior.corvo.com.br (128.0.0.1): icmp_seq=1 ttl 64 time=0.066 ms
-----quebre com Ctrl+c-----

[root@Junior named]# ping Junior.corvo.com.br
PING junior.corvo.com.br (128.0.0.1) from 128.0.0.1 : 56(84) bytes of data.
64 bytes from junior.corvo.com.br (128.0.0.1): icmp_seq=1 ttl 64 time=0.066 ms
-----quebre com Ctrl+c-----

[root@Junior named]# ping www.corvo.com.br
PING junior.corvo.com.br (128.0.0.1) from 128.0.0.1 : 56(84) bytes of data.
64 bytes from junior.corvo.com.br (128.0.0.1): icmp_seq=1 ttl 64 time=0.066 ms
-----quebre com Ctrl+c-----

Se os três comandos retornarem algo parecido com o que esta acima, vamos para o próximo teste.

[root@Junior named]# nslookup junior -sil
server: 128.0.0.1
Address: 128.0.0.1#53
Name: junior.corvo.com.br
Address: 128.0.0.1


[root@Junior named]# nslookup junior.corvo.com.br -sil
server: 128.0.0.1
Address: 128.0.0.1#53
Name: junior.corvo.com.br
Address: 128.0.0.1


[root@Junior named]# nslookup www.corvo.com.br -sil
server: 128.0.0.1
Address: 128.0.0.1#53
www.corvo.com.br canonical name = junior.corvo.com.br.
Name: junior.corvo.com.br
Address: 128.0.0.1

Pronto, se retornou desta forma que esta acima, salvo os nomes da máquina e domínio, seu DNS esta funcionando beleza.

Se outras pessoas quiserem melhorar o conteúdo, fiquem a vontade afinal, este é um pequeno toque para aqueles que querem ver o DNS pronto em questão de minutos. E a partir daí, estuda-lo se tornará muito mais fácil.


Autor: Edson Doria C. Junior
E-mail: juniordoria[NOSPAM]bol.com.br
Lagarto Sergipe
Gerente de Informática da JFC Distribuidora de Veículos Ltda

Postado por fuji em março 27, 2004 01:05 AM


Comentários para "DNS Fácil"

» Postado por: abelardo em março 29, 2004 02:39 PM, 200.175.227:

    gostei valeu

 

» Postado por: Taylor em março 30, 2004 09:06 AM, 200.193.54.:

    Desculpem a ignorancia, mas .... cadê o artigo ?

 

» Postado por: eber em março 30, 2004 09:25 AM, 200.222.62.:

    onde etá?

 

» Postado por: djames em março 30, 2004 03:53 PM, 200.207.156:

    pois somos dois ignorantes então...também não estou achando.
    Alguém conhece o tmdns? para a lan, funciona perfeitamente sem nenhuma configuração adcional. fabuloso !!

 

» Postado por: sipi em março 30, 2004 04:24 PM, 200.181.232:

    Cadê o artigo? Erro básico!

 

» Postado por: Slarkate em abril 18, 2004 10:39 AM, 200.233.166:

    Realmente, onde esta o Artigo, sou iniciante em Linux, e uso Netsuper (ADSL) e não consigo configurar de maneira alguma... PLZ alguém mi ajude!

 

» Postado por: Edgard em maio 6, 2004 08:53 PM, 200.146.216:

    Preciso de um artigo que mostre como configurar um FTP, um SMTP e WWW em um DNS. Tudo em um só servidor....
    Valeu.....

 

» Postado por: Alexandre em maio 12, 2004 12:45 AM, 200.148.12.:

    Poderia melhorar essa explicação, somos leigos , caso queira nos ensinar, tente descrever cada servidor criado e o porque e como vc está chamando e um servidor atraves das linhas de comando

 

» Postado por: Edwi Oliveira em maio 17, 2004 12:17 PM, 200.204.196:

    Bem, galerinha, como eu estava com o mesmo problema de vcs, resolvi me virar. Achei (melhor, me deram) um excelente tutorial sobre isso, próprio para iniciantes. Lá vai...
    Este documento é de autoria de Lucas Bocchi:

    "Edinho.
    Porque eu gosto de você (no sentido não-feminino abichalhado da palavra), eu vou te passar o meu dns e a explicação completa daquilo que eu sei de DNS, tá bom?

    Lá vai.
    Esse DNS é extremamente simples. Ele só registra o domínio pra funções bem mais básicas. Coisas mais complexas fica difícil em resumir num post. Mas, certamente, isso vai servir pro que vc precisa.

    Vamos lá.

    esse é o arquivo /etc/named.conf.
    Código:

    options { // Opções principais do seu servidor DNS
    directory "/var/named/"; // Onde estarão os arquivos de DNS
    pid-file "/var/run/named/named.pid"; // Arquivo de Processo
    listen-on { 127.0.0.1; 192.168.0.1; 192.168.200.1; };
    // A linha acima define em quais interfaces da minha rede
    // eu gostaria que o meu processo named fique escutando
    allow-recursion { 127.0.0.1; localhost; 192.168.0.0/24; };
    // Se você vai usar um DNS que o pessoal na internet vai enxergar
    // é preferível que você não deixe que esse pessoal faça recursões,
    // ou seja, que eles possam pesquisar outros domínios que não
    // sejam aqueles que você tem cadastrados no named.
    // Resumindo, isso quer dizer que as pessoas de fora da sua rede
    // local só poderão pesquisar o domínio superedinho.com.br
    // nesse servidor, enquanto o pessoal da sua rede interna
    // vai poder pesquisar o www.bol.com.br, www.uol.com.br, ou seja
    // qualquer domínio que desejar.
    // Com isso vc evita um ataque conhecido com "cache poisoning",
    // onde um hacker pode colocar dentro de seu dns registros que
    // podem te enganar. Digamos que um hacker saiba que a sua
    // empresa use o internet banking. O Hacker pode enganar seu
    // servidor DNS dizendo que o site do banco na verdade é um site
    // que ele mesmo criou! Aí já viu né: roubar senha vai ser o menos
    // que ele vai fazer... :/
    allow-transfer { 200.203.162.183; };
    // Aqui no Brasil (não sei em outros lugares do mundo) é exigido que
    // um domínio válido tenha um servidor master (o principal) e um
    // slave (um secundário). O servidor slave sempre consulta o master
    // para verificar se o registro de DNS que ele possui está em
    // conformidade com os registros que ele tem. Digamos que nos
    // arquivos de configuração do servidor master, no domínio
    // superedinho.com.br, eu crie o subdomínio
    // linux.superedinho.com.br. Eu não vou precisar fazer essa
    // alteração no domínio secundário, porque ele a fará
    // automaticamente. Veremos isso mais pra frente.
    // Pra evitar que pessoas má intencionadas tenham acesso aos
    // teus registros de dns e façam uma transferência de autoridade
    // (resumindo: fazer uma cagada) do teu domínio, você especifica
    // aqui QUEM PODERÁ FAZER ESSE TIPO de transferência, que,
    // neste caso, é o meu servidor de dns secundário.

    version "vtncsv";
    // É só pro pessoal não saber a versão do teu bind
    // Isso aqui é as inicais de "Vai tomar no copo seu vereador"
    // (na verdade não é bem isso, mas vc entendeu né?)
    }; // preste atenção nos abre-fecha chaves e nos ponto e vírgulas!!!

    zone "superedinho.com.br" { // Definindo uma zona
    type master; // Defino que este é o servidor DNS principal
    allow-transfer { 200.203.162.183; };
    // Defino meu DNS secundário, que poderá fazer as transferências
    file "db.superedinho.com.br";
    // Defino meu arquivo onde estão os dados do domínio.
    // Este arquivo deverá estar dentro do caminho especificado
    // na opção directory, na diretiva options { ... };, que está logo
    // ali pra cima. Então, o arquivo estará em
    // /var/named/db.superedinho.com.br
    }; // preste atenção nos abre-fecha chaves e nos ponto e vírgulas!!!


    Agora vamos pular pro arquivo /var/named/db.superedinho.com.br
    Código:

    $ORIGIN . // Defino minha origem. Essa variável é definida para registros
    // que o bind não entende. Variável já em desuso, mas como
    // eu configurei meu domínio faz uma cara, deixei assim

    $TTL 3600 ; 1 hour

    // Define o tempo de vida de um registro dns. Esse é o tempo que
    // os dados do seu DNS ficarão nos servidores de nome das pessoas

    superedinho.com.br IN SOA superedinho.com.br. hostmaster.superedinho.com.br. (

    // A tradução dessa baboseira toda é
    // ssunion.com.br está no Início da Autoridade ssunion.com.br.
    // (OLHA O PONTO NO FINAL DA BABOSEIRA). Define o domínio
    // que está sendo configurad, bem como o responsável por ele
    // hostmaster@ssunion.com.br. Lembre de criar essa conta no seu
    // servidor de e-mails ou criar um alias. E isso vai tudo numa linha
    // só. Só se quebrou por causa do post.

    2004050402 ; serial

    // O número serial do teu domínio. Repare que ele começa com o ano,
    // vai pro mês, e depois pro dia, e aparece um número depois que
    // indica a versão do arquivo. Esse serial é usado, dentre outras coisas,
    // para que o DNS secundário consiga fazer a atualização de seus
    // registros. Ele pega esse serial no DNS master, e compara com o dele.
    // Se o dele for menor, ele pega e faz uma query AXFR-IXFR
    // (de transferência) e atualiza o arquivo de DNS que ele tem.
    // É importante lembrar de dar um chown -Rf named.named /var/named
    // pra deixar o usuário named como dono dos arquivos, para que
    // ele possa acessá-los e atualizá-los.

    14400 ; refresh (4 hours)

    // Indica qual o tempo (em segundos) para que os servidores de DNS
    // secundários
    // refaçam as pesquisas para que se certifiquem da autenticidade
    // dos registros que possuem

    3600 ; retry (1 hour)

    // Em caso de falha de pesquisa, tentar novamente em uma hora.
    // (servidores secundários)

    604800 ; expire (1 week)

    // Os registros expiram em uma semana de dentro do cache dns
    // secundário

    86400 ; minimum (1 day)
    // O mínimo que o registro se manterá no cache de cliente, ou seja,
    // um dia.
    )
    NS dns.superedinho.com.br.
    // Servidor de nomes principal
    NS dns2.superedinho.com.br.
    // Servidor de nomes sec.
    A 200.138.113.17
    // O servidor de nomes principal estará nesse endereço
    // IP. É ele quem tem (A)utoridade sobre o domínio!
    MX 10 smtp.superedinho.com.br.
    // Servidor de e-mails principal está nesse domínio.
    // Podem ser especificados mais. O número (10)
    // indica a prioridade do servidor. Quanto menor,
    // mais importante ele é.
    $ORIGIN superedinho.com.br. // Defino minha origem atual
    dns2 A 200.203.162.183
    // dns2 está em 200.203.162.183
    dns A 200.138.113.17
    // dns está em 100.138.112.17
    ftp A 200.138.113.17
    // ftp tá aqui
    pop3 A 200.138.113.17
    // pop3 tá aqui
    smtp A 200.138.113.17
    // smtp tá aqui
    www A 200.138.113.17
    // www tá aqui
    sacanagem A 200.201.9.10
    // domínio criado pelo edinho para disponibilizar vídeos de sacanagem
    // via ftp
    romantismo A 200.40.56.102
    // domínio criado pelo edinho para disponibilizar MP3 para a
    // mulhegada


    Tá aí, Edinho! Espero que sirva!
    Isso vale pra domínios internos e externos.

    Valeu?

    Qualquer coisa
    /usr/share/doc/bind-xxxxx "

 

» Postado por: poker em agosto 15, 2004 03:33 PM, 62.233.244.:

 

» Postado por: blackjack em agosto 16, 2004 08:51 PM, 61.219.155.:

 

Antes de comentar...

- Preserve a qualidade desta discussão
- Leia os Termos de Uso.
- Este formulário deve ser usado para comentários sobre a notícia. Se você tem dúvidas ou precisa de ajuda, use o Fórum.
- Mantenha o foco nos argumentos e no assunto
- Não faça ataques pessoais.
- Pense 5 vezes antes de entrar em discussões inúteis, como "qual é a melhor distribuição/ambiente gráfico/linguagem de programação/etc.", mesmo se alguém já tiver provocado - um erro não justifica o outro
- Não seja um e-mala ;-)

Envie seu comentário









Lembrar as informações pessoais?


Atenção: Este formulário deve ser usado para comentários sobre a notícia. Se você tem dúvidas ou precisa de ajuda, use o Fórum, onde mais pessoas estarão disponíveis para respondê-lo..






Nota: os comentários pertencem a seus respectivos autores e são de responsabilidade de quem os postou. O restante desta nota está disponível sob a licença GNU FDL, exceto se explicitamente declarado em contrário.