Agora vamos ver como preparar um servidor dns, uma máquina que é
capaz de responder por domínios. Dois diretórios são muito importantes
nesse trabalho:
Dentro de /etc temos o arquivo
named.conf. Dentro de
/var/named temos os arquivos correspondentes a cada domínio
pelo qual nosso servidor é responsável. Abaixo temos um exemplo de
/etc/named.conf. Observe onde aparece o termo "zone". Cada vez que
encontrá-lo significa que ali existe a indicação de um domínio.
Note também o início do arquivo onde aparece "directory /var/named",
etc. Essa é a parte do arquivo em que dizemos ao BIND em qual
diretório os arquivos dos domínios devem ser procurados. Então a
coisa funciona assim:
- crio uma nova zona para um domínio novo qualquer
- crio em /var/named o arquivo referente a essa zona (domínio)
Vamos criar uma zona para meudominio.com.br, basta imitar ou copiar e
alterar uma zona já existente.
options {
directory "/var/named";
};
zone "." {
type hint;
file "named.ca";
};
zone "0.0.127.in-addr.arpa" {
type master;
file "0.0.127.in-addr.arpa.zone";
};
zone "localhost" {
type master;
file "localhost.zone";
};
zone "meudominio.com.br" {
type master;
file "meudominio.com.br.zone";
};
OK, não foi difícil. Uma outra coisa que devemos prestar atenção é
na diretiva
type. Na zona que criamos, estabelecemos como
"master". Isto significa que o nosso servidor é o servidor primário
dessa zona. Se fôssemos o servidor secundário, trocaríamos "master"
por "slave". Vamos ver isso depois. Salve o named.conf e vá para o
diretório /var/named e copie o arquivo "named.local" para
"meudomínio.com.br". Use o comando:
# cp named.local meudominio.com.br
Vamos agora editar esse arquivo e deixá-lo OK, mas antes vamos ver
alguns detalhes do mesmo.
No início do arquivo temos uma informação
TTL (time to live) 3600
(Ex.:
$TTL 86400). Essa diretiva indica a quantidade de tempo
que as informações desse domínio são válidas para outros servidores.
Calma, vamos entender melhor. Quando um outro DNS recebe a informação
sobre esse domínio, a mesma ficará no cache dessa máquina durante
3600 segundos (ou uma hora). Com essa informação em cache, a próxima
vez que alguém perguntar por esse domínio, a consulta não precisa ser
feita ao DNS responsável (ao menos durante aquela 1hora em que a
informação está no cache). Se houver uma outra consulta após essa 1
hora, aí sim, haverá uma nova consulta ao DNS responsável.
Vamos ver sobre as outras informações:
- 2003072401 ;Serial
- 28800 ;Refresh
- 14400 ;Retry
- 3600000 ;Expire
- 86400 ;Minimum
SERIAL: é uma versão do arquivo. Toda vez que houver uma alteração
no arquivo do domínio, precisamos alterar esse número para que o
servidor secundário saiba e possa copiar essa nova versão. No exemplo
acima temos:
2003072401. Analisando da direita para esquerda,
podemos dizer que temos a versão
01 de um arquivo criado em
24/07/2003. Não existe uma regra fixa pra essa informação, mas você
deve criá-la de uma forma que possa interpretá-la depois.
REFRESH: indica o tempo, em segundos, em que o servidor secundário
deve fazer uma consulta ao primário para saber sobre os domínios do
mesmo. É nessa hora que a informação serial é importante, pois, caso
o serial de algum domínio tem sido alterado, então o servidor
secundário realiza uma nova cópia do mesmo. No exemplo acima o refresh
deve ser feito em 28800 segundos, ou seja, de 8 em 8 horas.
RETRY: se por algum motivo, na hora em que o servidor secundário fizer
o "refresh" no primário, e o mesmo não responder, então ele tentará
uma nova consulta no tempo estabelecido em "retry".
EXPIRE: é o tempo máximo que o servidor secundário pode ficar sem
consultar o primário. Após esse tempo, a informação sobre o domínio
será expirada.
Vamos agora para as outras informações.
; definição do servidor DNS
@ IN NS localhost.
; definição do servidor de e-mail
@ IN MX mail.meudominio.com.br
; definição dos hosts
localhost IN A 127.0.0.1
www IN A 127.0.0.1
mail IN A 200.198.71.220
ftp IN A 127.0.0.1
Informações iniciadas com ";" são consideradas comentários.
A linha:
@ IN NS localhost.
informa quem é o servidor de nomes (NS) para "meudomínio.com.br
(representado pelo símbolo @)".
A linha:
@ IN MX mail.meudominio.com.br
informa quem é o servidor de e-mail (MX) para "meudomínio.com.br (representado pelo símbolo @)".
Por fim temos a definição dos hosts, ou seja, os endereços IP das máquinas que respondem por determinados serviços como: www, ftp, mail, etc.
localhost IN A 127.0.0.1
www IN A 127.0.0.1
mail IN A 200.198.71.220
ftp IN A 127.0.0.1
Observe por exemplo na linha iniciada em "mail". Essa linha resolve a
indicação MX (mail exchanger) feita acima. Na indicação MX, dissemos
que o servidor de e-mail desse domínio é o "mail.meudominio.com.br".
Quando fazemos isso, devemos dizer quem e a máquina "mail" (que no
nosso caso e a 200.198.71.220). Observe também que indicamos qual o
IP para o serviço WWW, ou seja, quando alguém buscar por
"www.meudominio.com.br", então, conforme a nossa configuração, o
servidor será o 127.0.0.1, assim como para o serviço FTP.
Para testarmos esse domínio é preciso reiniciarmos o serviço NAMED.
Para fazer isso vamos para o diretório onde estão os principais
serviços do nosso sistema. O diretório é o
/etc/rc.d/init.d.
Dentro do diretório digite:
# ./named status
Esse comando nos dirá se o serviço está sendo executado ou parado.
Se estiver sendo executado, então você pode usar
./named restart
para parar e iniciar o serviço imediatamente. Se estiver parado,
então use
./named start. Para testarmos o nosso domínio
podemos fazer alguns testes usando o comando ping.
$ ping www.meudominio.com.br
$ ping mail.meudominio.com.br
$ ping ftp.mwudominio.com.br
Esperamos ter clareado um pouco a idéia de DNS nesse artigo.
Aproveitamos também para pedir a sua colaboração para deixar esse
artigo mais completo, pois sabemos que há muitas outras coisas a
serem aqui acrescentadas e isso fará com que o site
(
www.useredhat.com.br)
armazene uma quantidade grande e importante de informações que cada
vez mais usuários poderão utilizar.