|
|||||||
| Wiki | Classificados | Galeria | Reviews | Jogos | Comunidades | RSS Feeds | FAQ | Termos de Uso | Sobre |
| Cadastre-se | Fotos | Blogs | Lista de Membros | Calendário | Pesquisar | Mensagens de Hoje | Marcar Fóruns Como Lidos |
FerramentasPublicidade |
From UnderLinux WikiServidor 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.
[editar] InstalandoA 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.
# portsnap fetch # portsnap extract
# portsnap fetch update Bom, com o Ports atualizado vamos instalar o bind: # cd /usr/ports/dns/bind9 # make install clean
# ee /etc/rc.conf named_enable="YES" Bom agora o bind (named) já está ligando no boot, agora é só configura-lo. [editar] ConfigurandoPrimeiramente 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
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. [editar] Zona ReversaBom 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; };
};
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; };
};
[editar] ZonasBom, agora temos que criar os aquivos que contem os dados das zonas:
# 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 ##################
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....
# 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. [editar] OperandoBom, 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
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: [editar] Testandooutramaquina# 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
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: [editar] Fazendo um DNS SlaveÉ muito simples só muda um pouco a forma como se descreve as zonas no /etc/namedb/named.conf Exemplo:
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
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 [editar] CréditosÉ só isso mesmo! Abraço pessoal espero ter ajudado Qualquer coisa já sabem, mail-me! Eduardo Doria DoriaTel Telecomunicações LTDA |