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
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: Taylor em março 30, 2004 09:06 AM, 200.193.54.:
Desculpem a ignorancia, mas .... cadê o artigo ?
» 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: 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.:
5156 Get your online poker fix at http://www.onlinepoker-dot.com
» Postado por: blackjack em agosto 16, 2004 08:51 PM, 61.219.155.:
1145 black jack is hot hot hot! get your blackjack at http://www.blackjack-dot.com
O Arquivo Histórico do BR-Linux.org mantém no ar (sem alteração, exceto quanto à formatação) notícias, artigos e outros textos publicados originalmente no site na segunda metade da década de 1990 e na primeira década do século XXI, que contam parte considerável a história do Linux e do Open Source no Brasil. Exceto quando indicado em contrário, a autoria dos textos é de Augusto Campos, e os termos de uso podem ser consultados na capa do BR-Linux.org. Considerando seu caráter histórico, é provável que boa parte dos links estejam quebrados, e que as informações deste texto estejam desatualizadas.