Tutoriais/DNS/Bind-rede-interna
De UnderLinux Wiki
Configuração do Bind para uma rede interna
Tabela de conteúdo |
Objetivo
O objetivo desse texto é mostrar ao leitor como configurar um servidor de nomes (bind 4.x, 8.x ou 9.2) para a sua rede interna, de tal modo que ele possa utilizar as configurações passadas como um modelo para quando precisar configurar sua rede.
Introdução
O DNS (Domain Name System) pode ser resumido como um banco de dados distribuido com informações sobre os hosts. Por meio dele é possível um controle local de uma parte do banco de dados global, descentralizando assim as informações sobre os domínios.
No nosso texto, usaremos o BIND (Berkeley Internet Name Domain), em um Sistema Operacional OpenBSD (mas que vale para qualquer distribuição Linux ou Unix), para configurar um servidor de nomes para a nossa rede interna. A rede em nosso exemplo será intra.opensolutions, com 4 máquinas:
swx.intra.opensolutions 10.0.0.1 enigma.intra.opensolutions 10.0.0.2 open.intra.opensolutions 10.0.0.3 win.intra.opensolutions 10.0.0.4
Sendo a máquina swx.intra.opensolutions o nosso servidor de nomes.
Configurando
Para começar, iremos configurar o nosso primeiro arquivo, que será o db.opensolutions
; Arquivo "db.opensolutions"
; configuracao do db.opensolutions, altere conforme as suas necessidades.
; as linhas comecadas com ; nao serao lidas...
; nao use a opcao $TTL se estiver usando um bind mais antigo
; que o 8.2
$TTL 3H
@ IN SOA intra.opensolutions. daniel.swx.intra.opensolutions. (
1 ; serial
3h ; refresh
15 ; retry
1w ; expire
12h ; default_ttl
)
;Servidor de nome
@ IN NS swx.intra.opensolutions.
;Enderecos
swx.intra.opensolutions. IN A 10.0.0.1
enigma.intra.opensolutions. IN A 10.0.0.2
open.intra.opensolutions. IN A 10.0.0.3
win.intra.opensolutions. IN A 10.0.0.4
;fim do arquivo
Feito isso, criaremos o arquivo para os mapeamentos dos ips para os nomes. O arquivo será db.10.0.0
;Arquivo db.10.0.0
$TTL 3h
@ IN SOA swx.intra.opensolutions. daniel.swx.intra.opensolutions. (
14 ; Serial
3600 ; Refresh
900 ; Retry
3600000 ; Expire
3600 ) ; Minimum
;Servidor de nomes
@ IN NS swx.intra.opensolutions.
;Ips aos nomes
1 IN PTR swx.intra.opensolutions.
2 IN PTR enigma.intra.opensolutions.
3 IN PTR open.intra.opensolutions.
4 IN PTR win.intra.opensolutions.
Pronto! As configurações da nossa rede estão completas. Agora iremos configurar o arquivo de loop invertido, que é utilizado para direcionar o tráfego para a nossa própria máquina.
O arquivo será db.127.0.0
;arquivo db.127.0.0
$TTL 3h
@ IN SOA swx.intra.opensolutions. daniel.swx.opensolutions. (
14 ; Serial
3600 ; Refresh
900 ; Retry
3600000 ; Expire
3600 ) ; Minimum
@ IN NS swx.intra.opensolutions.
1 IN PTR localhost.
Para concluir essa parte, devemos obter o arquivo que nos dirá onde estão os servidores de nomes da zona raiz. Ele será necessário para quando quisermos achar os domínios de fora da rede.
Voce deve baixa-lo do seguinte modo:
#ftp ftp.internic.net ftp>cd domain ftp>get named.root ftp>exit #mv named.root db.cache
Feito isso, devemos enviar esses arquivos para o diretório "/var/named" (padrão) da máquina swx.intra.opensolutions:
</pre>
- mv db.cache /var/named
- mv db.127.0.0 /var/named
- mv db.10.0.0 /var/named
- mv db.opensolutions /var/named
</pre>
E então configurar o /etc/named.conf (bind 8.x ,9.x)
</pre> options {
directory "/var/named";
}; zone "intra.opensolutions" in {
type master;
file "db.opensolutions";
};
zone "0.0.10.in-addr.arpa" in {
type master;
file "db.10.0.0";
};
zone "0.0.127.in-addr.arpa" in {
type master;
file "db.127.0.0";
};
zone "." in {
type hint;
file "db.cache";
}; </pre>
Ou então o /etc/named.boot (named 4.x)
directory /var/named primary intra.opensolutions db.opensolutions primary 0.0.127.in-addr.arpa db.127.0.0 primary 0.0.10.in-addr.arpa db.10.0.0 cache . db.cache
Feito isso, é só mudar o /etc/resolv.conf de todas as máquinas para:
nameserver 10.0.0.1
E entao iniciar o named na swx.intra.opensolutions:
#ndc start
Ou então:
#/usr/sbin/named
Ou ainda, se voce usar conectiva ou similares:
/etc/rc.d/init.d/named start
Testando
Acabado esses passos, veja se tudo ocorreu certinho. Primeiro olhando o /var/log/messages:
#tail /var/log/messages
E depois tentando pingar as máquinas configuradas:
#ping swx.intra.opensolutions #ping open.intra.opensolutions
Conclusão
Se alguma coisa tiver dado errado, reveja cada arquivo com cuidado para ver se nada foi esquecido. E não se esqueça dos "pontos" depois dos nomes dos domínios...
Caso tenha alguma dúvida, sugestão ou crítica, mailme:
Daniel B. Cid (sinistrow , swx) daniel@underlinux.com.br daniel@opensolutions.com.br
Professor de Linux/Programação, Administrador de Sistemas/Redes e Formando em Física.
OpenSolutions Consultoria e Soluções
http://www.opensolutions.com.br

