You are on page 1of 4

Configurando o Bind no Slackware

Introduo Este artigo voltado para iniciantes no BIND, tentando mostrar de uma maneira simples e clara como configurar um domnio fictcio no BIND que vem junto com o Slackware 11. Iremos configurar um domnio da empresa fictcia "Slacks" para melhor compreenso. O que DNS No falarei sobre o protocolo IP, mas quem j estudou sabe que, seja na Internet ou numa intranet, em tudo o que fazemos, seja navegar, mandar e-mails ou outra coisa, nossas informaes So "quebradas" em pequenos pedacinhos denominados "datagramas IP", e que nossas mensagens chegam ao destino baseado no nmero IP que est no cabealho da nossa mensagem, ou seja, os computadores na Internet ou numa intranet se comunicam e se localizam baseando-se nesse endereos IP. Ento, quando ns acessamos um site "www.qualquercoisa.com.br", na verdade esse endereo um endereo IP do tipo "200.256.34.6". Mas j imaginou se tivssemos que digitar na barrinha de endereos no nosso browser o nmero IP do site ao invs do seu nome? Seria horrvel guardarmos nmeros ao invs de caracteres... Foi por isso que surgiu o DNS, pois temos muito mais facilidade em memorizar nomes do que nmeros . O DNS (Domain Name System), um servio cliente/servidor baseado em hierarquias, em que a parte cliente conhecida como resolver (resolvedor) e a parte servidora como name server. As conexes entre o cliente e o servidor se do atravs da porta UDP 53. De uma forma simples, a funo do resolver (cliente) passar as consultas da aplicao (o browser, por exemplo) para o servidor de nomes, e este por sua vez consultar uma base de referncias entre IPs e nomes e enviar o resultado para o cliente. Estrutura de domnios Como falamos, o DNS baseado em uma estrutura hierrquica, em que o processo de resoluo se d da hierarquia mais alta para a mais baixa. O ponto mais alto da hierarquia chamado de root-level-domain, ou domnio raiz, que representado por um caractere '.'. O prximo nvel da hierarquia so os top-level-domain, ou domnios de primeiro nvel. Eles so representados por cdigos DPN (domnio de primeiro nvel). Alguns deles so: com - Organizao comercial mil - Militar net - Redes (backbones para a Internet) org - organizaes sem fins comerciais gov - governamental xx - Sigla do pas representado por dois caracteres. Ex: br, uk

Servidor primrio o servidor onde esto os arquivos originais da zona. S pode existir um servidor primrio por zona. Servidor secundrio Aqui onde ficam as rplicas dos arquivos de zona, que podem ser consultados no caso de inoperabilidade do servidor primrio. Ao contrrio do servidor primrio, podem existir vrios servidores secundrios. No Brasil, para que possamos registrar um domnio obrigatrio ter dois servidores: o Primrio e tambm um Secundrio. Servidor master aquele servidor para o qual um servidor secundrio ir solicitar as cpias dos arquivos de zona. Servidor cache aquele servidor que no responde por zona alguma. Sua funo apenas armazenar resultados de consultas que ele armazena em cache. Assim, novas consultas ao mesmo registro sero atendidas com mais rapidez. Instalao A instalao do BIND no Slackware 10 muito simples. Basta voc colocar o CD 1 do Slackware, e aps montado o CD-ROM, entrar na pasta Slackware/n do CD e digitar no console: # installpkg bind-9.2.3-i486-1.tgz Pronto, o BIND foi instalado no sistema. Pra quem no sabe, o nome do daemon do pacote BIND named. A instalao ficou assim: /etc/named.conf - Arquivo de configurao geral do BIND. /usr/sbin/named - O binrio (daemon) do BIND. /usr/doc/bind-9.2 - Manual em html muito bom do BIND em ingls. /var/named/caching-example/ - Diretrio com arquivos exemplo de configurao bsicos do BIND

Uma vez que estamos familiarizados com a instalao do BIND,passaremos para a melhor parte: a configurao :-) Configurao do named.conf O primeiro arquivo que iremos configurar o /etc/named.conf. V em um editor de textos e abra o arquivo. Abaixo segue um exemplo explicativo do arquivo named.conf.
options { directory "/var/named"; version "uhuh"; minimal-responses yes; allow-transfer {192.168.0.2;}; listen-on {127.0.0.1; 192.168.0.1;}; allow-recursion {127.0.0.1; localhost; 192.168.0.0/24;}; /* * If there is a firewall between you and nameservers you want * to talk to, you might need to uncomment the query-source * directive below. Previous versions of BIND always asked * questions using port 53, but BIND 8.1 uses an unprivileged 1

Zona de autoridade a parte do domnio ao qual um servidor de DNS o responsvel. Em cada zona tem-se um arquivo de zona que a base de referncias entre os IPs e nomes desta zona.

* port by default. */ // query-source address * port 53; }; // // a caching only nameserver config // zone "." IN { type hint; file "caching-example/named.ca"; }; zone "localhost" IN { type master; file "caching-example/localhost.zone"; allow-update { none; }; }; zone "0.0.127.in-addr.arpa" IN { type master; file "caching-example/named.local"; allow-update { none; }; }; zone "0.0.168.192.in-addr.arpa" IN { type master; file "caching-example/domain.rev"; allow-transfer { 192.168.0.2; }; }; zone "slacks.com.br" IN { type master; file "caching-example/slacks.host"; allow-transfer { 192.168.0.2; }; };

eles pesquisem outros domnios que no sejam os que voc tem cadastrado no seu servidor. No nosso caso, o pessoal da Internet s poder pesquisar o nico domnio que teremos cadastrado que o "slacks.com.br", enquanto que o pessoal da minha rede interna "192.168.0.0" poder pesquisar qualquer site alm do domnio local, como "www.slackware.com" ou outro qualquer. Com essa opo devidamente configurada, voc evitar o ataque chamado de "cache-poisoning", no qual o cracker coloca em seu DNS registros pra te enganar. Aps as opes, vem as zonas propriamente ditas. A primeira que aparece a zona raiz (lembra? Aquela que representada por um ponto?). neste arquivo que ficam os endereos de servidor DNS da zona raiz, que como vimos so necessrios para podermos acessar endereos de fora da nossa rede (Internet). Voc deve baixar esse arquivo e mant-lo atualizado se o seu servidor DNS for vlido na Internet. Voc pode baix-lo por ftp : # ftp ftp.internic.net ftp> cd domain ftp> get named.root ftp> exit Pronto, agora s voc mover esse arquivo de acordo com o nosso exemplo: # mv named.root /var/named/cachingexample/named.ca A prxima zona da configurao do nosso localhost. Aqui voc no precisa fazer nada. A prxima zona a zona reversa para o nosso localhost, que no caso o endereo loopback 127.0.0.1. Voc no precisa fazer nada aqui tambm. A prxima zona a zona reversa para o nosso domnio que ainda vamos configurar. Por enquanto apenas crie o arquivo de configurao domain.rev em /var/named/caching-example. Aqui voc v a opo allowtransfer habilitando a transferncia da zona reversa do nosso domnio apenas para o servidor 192.168.0.2, que seria o servidor secundrio. A prxima zona, a zona do nosso domnio proposto aqui nesse artigo, a zona slacks.com.br. Como voc pode ver ela do tipo master, e s est habilitada a transferncia dessa zona pelo IP 192.168.0.2, que seria o nosso secundrio. Por enquanto, apenas crie o arquivo slacks.host no diretrio /var/named/caching-example. Alguns lembretes: Preste MUITA ateno na sintaxe do arquivo, para no esquecer nenhuma chave, ponto e vrgula, ou um nico ponto, pois caso esquea de apenas um nico ";", o servidor NO FUNCIONAR. Comentrios nesse arquivo comeam com "//". A zona reversa Bom, o arquivo named.conf j est pronto! Agora iremos editar dois arquivos para que o nosso domnio funcione.
2

Exame do arquivo named O arquivo comea com as opes que afetaro o servidor de forma global. Eis a explicao das diretivas do arquivo: directory - Aqui voc indica qual ser o diretrio onde ficar os arquivos de registros DNS. Se quiser pode colocar em outro diretrio vlido ao invs do proposto no nosso exemplo. version - Para poder ocultar a sua verso do BIND contra bisbilhoteiros lammers que no tem o que fazer, coloque essa opo com o que voc desejar. No meu caso a verso do meu BIND ficou como "uhuh". minimal-responses - Se habilitado, quando o servidor gerar respostas, somente adicionar registros na autoridade quando requerido. Esta opo aumenta a performance do servidor. allow-transfer - Aqui voc indica quem poder fazer transferncia de autoridades. Opo muito importante a ser colocada, pois aqui voc indica quem poder fazer transferncia de zona do seu servidor, que no nosso caso um servidor primrio, logo a nica maquina que pode ter autorizao de transferncia de zonas ser o nosso servidor secundrio. Coloque o IP do seu servidor secundrio aqui, pois isso evitar que pessoas mal intencionadas possam fazer transferncia de autoridades do teu domnio. No meu caso coloquei o IP 192.168.0.2 listen-on - Aqui voc especifica quais interfaces esto habilitadas a "escutar" conexes na porta UDP 53 do DNS. No meu caso tenho 2 placas de rede, mas s habilitei a minha interface que atende pelo IP 192.168.0.1 e a interface loopback. allow-recursion - Caso v usar um DNS que ser acessvel pela Internet, bom que voc no deixe que esse pessoal faa recurses, ou seja, que

Sim, so aqueles dois arquivos que ns criamos, o domain.rev e o slacks.host. Abaixo segue o contedo do arquivo de domnio reverso, o domain.rev.
$TTL 86400 $ORIGIN slacks.com.br. 0.168.192.in-addr.arpa IN SOA servidor.slacks.com.br. root.servidor.slacks.com.br. ( &n bsp; 2004101901 ; Serial de sincronizao &n bsp; 3H ; refresh &n bsp; 15M ; retry &n bsp; 1W ; expiry &n bsp; 1D ) ; minimum NS dns.slacks.com.br. 1 1 2 1 IN IN IN IN PTR PTR PTR PTR ftp www dns2 smtp

3H - o valor de refresh, o intervalo de tempo que o servidor secundrio efetuar uma consulta do nmero de srie do servidor master e realizar a sincronizao caso necessrio. No nosso caso 3 horas 15M - Intervalo de tempo em que o servidor far um retry (nova consulta), em caso de por algum motivo haja u ma falha de comunicao ao contatar pela primeira vez. 1W - Tempo de expirao dos registros em cache no servidor secundrio. No nosso caso uma semana. 1D - O mnimo em que se manter os registros em cache, neste caso um dia.

Em seguida temos NS dns.slacks.com.br, que est informando qual o servidor DNS do domnio. Em seguida, temos os registros do tipo PTR (Point Record), que so utilizados para informar quais so os endereos inversos da zona reversa. O 1 IN PTR www, est nos informando que o IP 192.168.0.1, atende pelo nosso "www". Configurando o domnio Bom, agora que j configuramos a zona reversa, vamos configurar o arquivo slacks.host, que tem os registros do nosso domnio. Veja o arquivo abaixo:
$TTL 86400 @ IN SOA servidor.slacks.com.br. root.servidor.slacks.com.br. ( 2004101901 ;Serial de sincronizao 3H ; refresh 15M ; retry 1W ; expiry 1D ) ; minimum NS dns.slacks.com.br. IN MX 10 slacks.com.br. localhost IN A 127.0.0.1 slacks.com.br. IN A 192.168.0.1 dns IN A 192.168.0.1 dns2 IN A 192.168.0.2 www IN A 192.168.0.1 ftp IN A 192.168.0.1 mail IN CNAME slacks.com.br. pop IN CNAME slacks.com.br. router IN A 192.168.0.5

E agora uma breve explicao: O $TTL se refere ao time-to-live, o tempo de vida do registro que medido em segundos. Ento, no nosso exemplo, o tempo de vida de 86400 segundos. $ORIGIN uma varivel que o BIND usa para registros que no entende. onde voc coloca o nome do seu domnio em qualquer registro no-qualificado. Para entender melhor: ao invs de num registro voc colocar isso: www.slacks.com.br. IN A 192.168.0.1

Com o uso da diretiva $ORIGIN, bastar fazer isso: www IN A 192.168.0.1

Entendeu? Ao fazermos referncia ao site www.slacks.com.br, bastar colocar www, que o nome do domnio ser adicionado automaticamente. Na terceira linha ns temos 0.168.192.in-addr.arpa, que o nome padro da nossa zona reversa. S para lembrar, zona reversa aquela que definimos para que as consultas inversas sejam atendidas, ou seja, quando temos o IP, mas no temos o nome. Em seguida temos IN SOA, que indica um Start of authority, que utilizado para a parametrizao do servidor, indicando um incio de autoridade. A seguir colocamos o nome da mquina (que voc tem registrado em /etc/hosts) + o nosso domnio. E por ltimo o nome do responsvel pelo domnio. Em seguida, entre parnteses, temos 5 nmeros, que dizem ao relacionamento entre o servidor primrio com o secundrio: 2004101901 - Como comentado o serial de sincronizao, entre os servidores, formado pela data + valor inicial. No nosso caso 19/10/2004, com valor inicial 01. O valor dessa serial deve ser alterado sempre que houver alguma modificao nesse arquivo, para que o servidor secundrio possa sincronizar-se com o master.
3

Agora a explicao: A primeira linha refere-se ao TTL (time to live), e aqui tem a mesma funo explicada anteriormente. Na segunda linha tem-se o '@', que significa 'neste servidor'. Em seguida temos o 'IN SOA' (Start of Authority), que indica que os registros seguintes contm informaes autoritativas sobre o domnio, depois tem o nome do servidor juntamente com o nome do domnio, e por ltimo o responsvel pelo domnio, que no nosso caso o root. Depois, entre parnteses, temos novamente informaes que dizem a respeito interao entre servidor primrio e secundrio, e seu funcionamento exatamente igual ao que j foi explicado juntamente com arquivo anterior. A seguir temos a linha com a opo 'NS' (name server),

que nos indica qual o servidor de nomes do master do domnio. Aps, temos uma entrada 'MX', que indica que o servidor de e-mails principal est no domnio slacks.com.br. O nmero (10) indica a prioridade do servidor (caso houvesse mais de 1 servidor de e-mail), quanto menor esse nmero, maior a prioridade. Em seguida temos as tradues propriamente ditas, utilizando-se a diretiva 'IN A', que faz o mapeamento de nome para IP. Tambm voc pode observar o 'CNAME', que associa um apelido da mquina com seu nome de mquina cannico. No nosso exemplo, podemos observar que nossos servidores ftp, http, de e-mail, alm do prprio DNS esto na mesma mquina e que o que seria nosso servidor secundrio est em outra mquina, com IP 192.168.0.2. Bom, agora que est tudo configurado, salve esses arquivos e starte o BIND. # /etc/rc.d/rc.bind start Concluso Pronto. Agora est tudo certinho! Experimente dar um ping para o www, por exemplo: $ ping www.slacks.com.br Se obtiver resposta, ento est OK!! Uma ltima observao: quando for colocar em seus arquivos de registro referncia a domnios, no esquea de colocar o "." no final. Exemplo: slacks.com.br (isto est errado, pois faltou o ponto).

You might also like