Configurando o Servidor DNS usando o BIND 9 =========================================== O Servidor DNS (Domain Name Server). Faz parte do pacote BIND desenvolvido por Paul Vixie e pode ser encontrado em www.isc.org. O named já e incluido na maioria das distribuições Linux. Os principais arquivos do BIND sao named.conf -> Arquivo de configuração, zonas e etc. named.ca -> Arquivo que contem as listas dos principais servidores espalhados pelo planeta. named.local -> Arquivo que define o nome localhost (sua maquina). resolv.conf -> Resposavel pela resolução e procura de seus dominios. named -> Daemon do serviço DNS. Agora vamos configurar nosso servidor de nomes. Vamos pegar inicialmente o "localhost". Todo o procedimento abaixo devera ser feito como ROOT, usaremos como padrao o editor "VI", use um de sua preferencia. Arquivo named.conf ================== options { directory "/var/named"; }; pid-file "/var/run/named.pid"; }; zone "." { type hint; file "named.ca"; }; zone "localhost" in{ type master; file "named.local"; notify no; }; zone "0.0.127.IN-ADDR.ARPA" in{ type master; file "0.0.127-rev"; notify no; }; Cada entrada acima representa uma zona DNS. Analisaremos a seguir cada uma delas. options { directory "/var/named"; }; Esta opcao informa onde ficarao os arquivos de configuraçõs de zona de cada dominio. zone "." { type hint; file "named.ca"; }; Informa o arquivo onde ficam descritos os servidores DNS espalhados pelo planeta. zone "localhost" in{ type master; file "named.local"; notify no; }; Informa que o servidor de nomes hospeda um dominio "localhost", que no nosso caso e a propria maquina. zone "0.0.127.IN-ADDR.ARPA" in{ type master; file "0.0.127-rev"; notify no; }; Representa a primeira zona de DNS reversa da maquina local "localhost", "127.0.0.1" Agora vamos a configuração. Vamos criar no diretorio /var/named o arquivo 0.0.127-rev. touch /var/named/0.0.127-rev Vamos abrir este arquivo e vamos edita-lo para começarmos nossa configuração. Digite as seguinte linhas, depois analizaremos uma por uma para melhor compreeensão. @ IN SOA localhost root.localhost { 2002091801 ; Serial (Serial ) 1h ; Atualizacao (Refresh) 30m ; Tentativas (Retry) 7d ; Expira (Expire ) 1h ) ; TTL minimo (Time to Live) ; NS localhost. 1 PTR localhost. Vamos a explicação de cada entrada neste arquivo: @ -> Fala onde esta localizado este dominio. IN -> Dominio Internet SOA -> Start of Authority ou Começo da autoridade, define o servidor DNS. NS -> Indica que a estação e uma servidora de nomes. PTR -> Esta informando q "1" (1.0.0.127.in-addr.arpa ou 127.0.0.1) e o nome reverso do dominio local "localhost" Serial -> Informa o dia que este arquivo foi modificado e a quantidade de vezes q ele foi modificado naquele mesmo dia. A data + Serial e da seguinte forma: ANO MES DIA SERIAL Atualização -> Informa de 1 em 1 hora ele fara a atualização da base de nomes com o servidor secundario. Tentativas -> Define que de 30 em 30 min o servidor secundario tentara se comunicar com o servidor primario. Somente acontecerá isso se o servidor primario cair. Expira -> Tempo de vida util do servidor secundario caso ele nao consiga se comunicar com o servidor primario em 7 dias ele droppara todo seu banco de dados de dominio. TTL Minimo -> Tempo de resposta de um servidor, caso seja pedido a resolução de um dominio contido em seu banco de dados. Vamos ao arquivo named.local. Depois iremos explicar detalhadamente cada entrada do arquivo. @ IN SOA localhost. root.localhost. ( 2002091801; Serial (Serial) 1h ; Atualizacao (Refresh) 30m ; Tentativas (Retry) 7d ; Expira (Expire) 1h ) ; TTL minimo (Time To Live) ; @ IN MX 10 localhost. NS localhost. A 127.0.0.1 Vamos pegar agora somente os registros que nao foram explicados. @ IN MX 10 localhost. Indica que o "localhost" e um servidor de email "MX" Mail Exchange com nivel de prioridade 10, quanto menor o numero mais e o nivel de prioridade do servidor. Voce pode colocar de 0 ate 65535 NS localhost. Esta linha indica que o servidor de nomes e o proprio localhost ( maquina local ) A -> Informa ao nosso servidor de nomes que o subdominio+dominio X esta endereçado para o IP Y. Ex: escritorio.dominio.com IN A 192.168.0.1 secretaria.dominio.com IN A 192.168.0.2 CNAME -> Canonical Name, faz um alias para um dominio. Ex: www IN CNAME ns.dominio.com. ftp IN CNAME ns.dominio.com. Nao e recomendado usar o CNAME, voce pode usar o A para fazer o mesmo serviço. Agora que ja configuramos vamos startar e ver se deu algum erro em algum arquivo de configuração. Para isso de um tail -f /var/log/messages e fique de olho em algum erro caso o serviço named nao seja startado. /usr/sbin/named -u named Se apareceu as seguintes linhas no seu /var/log/messages esta tudo OK. Caso contrario reveja toda a configuração. Sep 18 10:16:02 server named[410]: starting BIND 9.2.1 -u named Sep 18 10:16:02 server named[410]: using 1 CPU Sep 18 10:16:02 server named[410]: loading configuration from '/etc/named.conf' Sep 18 10:16:02 server named[410]: no IPv6 interfaces found Sep 18 10:16:02 server named[410]: listening on IPv4 interface lo, 127.0.0.1#53 Sep 18 10:16:02 server named[410]: zone 0.0.127.IN-ADDR.ARPA/IN: loaded serial 2002091801 Sep 18 10:16:02 server named[410]: zone localhost/IN: loaded serial 2002091801 Sep 18 10:16:02 server named[410]: running Agora vamos testar a configuração de os seguintes comandos: root@server:~# host 127.0.0.1 1.0.0.127.in-addr.arpa domain name pointer localhost. root@server:~# host localhost localhost. has address 127.0.0.1 root@server:~# nslookup 127.0.0.1 -sil Default Server: localhost Address: 127.0.0.1#53 1.0.0.127.in-addr.arpa name = localhost. Se apareceu isto seu Servidor DNS esta funcionando perfeitamente. Agora e so você ter um pouco de imaginação e ir fazendo testes caseiros para pegar mais experiencia :-) Qualquer coisa mail-me. Leonardo Mello