sexta-feira, 1 de março de 2013

Configurando servidor de DNS no CentOS

O Domain Name System – Sistema de Nomes de Domínio – é de fundamental importância em uma rede. O DNS é um sistema hierárquico em árvore invertida. Tem como origem o ponto (“.”), e a partir daí, os domínios e, abaixo destes, os subdomínios. O nome completo de um host – FQDN = Full Qualified Domain Name – é composto de duas partes: a primeira parte identifica o host dentro do domínio e a segunda parte identifica o domínio. 1 - Pacotes necessários: Execute os comando abaixo para realizar a instalação dos pacotes. yum install bind bind-libs bind-utils caching-nameserver -y
Após a instalação dos pacotes acima, podemos visulizar alguns arquivos padrões:
# ls -l /var/named -rw-r--r-- 1 named named 195 Fev 15 2004 localhost.zone
-rw-r--r-- 1 named named 2518 Fev 15 2004 named.ca
-rw-r--r-- 1 named named 436 Jun 14 2007 named.local
named.ca
Neste arquivo vem por padrão todos os rootserver da internet, ou seja, os servidores de DNS mundiais . Sua função e interligar todos os servidores do mundo ou seja se o seu servidor de DNS não sabe onde fica localizado determinado IP ele faz uma consulta a um rootserver que vai lhe dizer a resposta. named.local
Neste arquivo vem por padrão a zona local da maquina na entrada do DNS ou seja o localhost. localhost.zone
O arquivo de zona reversa ou seja resolver IP pra nome 2 - Um dos primeiros arquivos que iremos alterar será o arquivo host.conf: Esse arquivo define a ordem de consulta da máquina, que no caso mudaremos para DNS depois hosts; # vim /etc/host.conf
order bind,hosts
multi on
3 - O próximo arquivo que iremos alterar é o hosts
# vim /etc/hosts
127.0.0.0.1 localhost.localdomain localhost
10.1.1.1 servername.domain.com.br servername
O arquivo hosts especifica o nome da máquina e domínio. Neste arquivo devemos obrigatoriamente ter pelo menos o localhost e nosso próprio IP.
4 - O próximo arquivo a alterarmos é o resolv.conf
# vim /etc/resolv.conf
search domain.com.br
nameserver 10.1.1.1
nameserver 201.21.192.105
No arquivo resolv.conf você irá configurar qual será o domínio e IP do servidor de DNS que irá utilizar para navegar na internet, ou seja, estamos configurando um servidor de DNS logo utilizaremos nosso próprio servidor e outro externo. Vamos agora ao que interessa:
5 - Criando uma Zona de DNS
Vamos editar o arquivo named.conf, nele são cadastradas as zonas, nele também efetuamos várias configurações opcionais, tipo se você tiver um dns secundário, permitir replicação, recursos de view interna e view externa, e muitas outras opções. Vou mostrar abaixo um exemplo de como inserir uma zona master e uma zona reversa de um domínio: # vim /etc/named.conf
# Nome da zona master zone "domain.com.br" IN {
type master;
check-names ignore;
file "domain.com.br";
};
# Nome da zona Reversa
zone "2.168.192.in-addr.arpa" IN {
type master;
check-names ignore;
file "192.168.2.1";
};
Nos parametros file de cada zona indica o nome do arquivo onde serão cadastrados os hosts e outras opções. 6 - Agora vamos criar os arquivos conforme seus nomes indicados nas zonas acima. # touch /var/named/dominio.com.br
# touch /var/named/192.168.2.1
# chown named.named /var/named/dominio.com.br
# chown named.named /var/named/192.168.2.1
7 - Agora vamos ao conteúdo dos arquivos de zonas
Vamos editar o arquivo de zona master do domínio dominio.com.br:
# vim /var/named/dominio.com.br
Segue abaixo o conteúdo do arquivo dominio.com.br que pode ser usado como template para criação de outros arquivos: $TTL 86400 ; 1 dia
@ IN SOA servidor.dominio.com.br. root.servidor.dominio.com.br. (
2008092181 ; serial
10800 ; refresh (3 horas)
900 ; retry (15 minutos)
604800 ; expire (1 semana)
86400 ; minimum (1 dia)
) NS servidor.dominio.com.br.
IN 1H MX 5 mailserver
mailserver IN 1H A 192.168.2.10
webmail IN 1H A 192.168.2.11
fileserver IN 1H A 192.168.2.12
Esse é o conteúdo da zona master do domínio dominio.com.br, salve o arquivo e saia. Vamos agora editar o conteudo do arquivo de zona reversa do domínio: # vim /var/named/192.168.2.1
$TTL 86400 ; 1 dia
@ IN SOA servidor.dominio.com.br. root.servidor.dominio.com.br. (
2008092181 ; serial
10800 ; refresh (3 hotas)
900 ; retry (15 minutos)
604800 ; expire (1 senama)
86400 ; minimum (1 dia)
) NS servidor.dominio.com.br.
10 PTR mailserver.dominio.com.br.
11 PTR webmail.dominio.com.br.
12 PTR fileserver.dominio.com.br.
Esse é o conteúdo da zona master do domínio 192.168.2.1, salve o arquivo e saia.
Segue abaixo algumas informações sobre os parâmetros do arquivo: - SOA (start of authority) - ele informa quem é responsável pelo conteúdo. - serial: um número que identifica a versão de atualização das informações. - refresh: é o período do ciclo de atualização. A cada ciclo , os servidores secundários comparam seu número serial com o do servidor primário, e se forem diferentes, ele executa uma transferência de zona. - retry: define o tempo que o servidor secundário irá esperar para nova tentativa se o primário não responder. - expiry: tempo máximo que um servidor secundário continua respondendo por uma zona quando não consegue comunicação com o primário. - minimum: tempo mínimo de vida que a zona tem. 8 - Bom, depois de termos editado os arquivos e lido o cada parâmetro significa, vamos agora inicializar o serviço e colocar para rodar no boot da máquina. Para inicializar execute o comando abaixo: # service named start Para que o serviço sempre inicialize no boot execute o seguinte comando: # chkconfig named on 9 - Agora, por último vamos aos testes Iremos fazer abaixo um dos testes mais simples que é executar um ping no nome # ping -c 3 mailserver.dominio.com.br PING mailserver.dominio.com.br (192.168.2.10) 56(84) bytes of data.
64 bytes from mailserver.dominio.com.br (192.168.2.10): icmp_seq=1 ttl=64 time=0.024 ms
64 bytes from mailserver.dominio.com.br (192.168.2.10): icmp_seq=2 ttl=64 time=0.044 ms
64 bytes from mailserver.dominio.com.br (192.168.2.10): icmp_seq=3 ttl=64 time=0.049 ms
# ping -c 3 webmail.dominio.com.br
PING webmail.dominio.com.br (192.168.2.11) 56(84) bytes of data.
64 bytes from webmail.dominio.com.br (192.168.2.11): icmp_seq=1 ttl=64 time=0.024 ms
64 bytes from webmail.dominio.com.br (192.168.2.11): icmp_seq=2 ttl=64 time=0.044 ms
64 bytes from webmail.dominio.com.br (192.168.2.11): icmp_seq=3 ttl=64 time=0.049 ms
# ping -c 3 fileserver.dominio.com.br
PING fileserver.dominio.com.br (192.168.2.12) 56(84) bytes of data.
64 bytes from fileserver.dominio.com.br (192.168.2.12): icmp_seq=1 ttl=64 time=0.024 ms
64 bytes from fileserver.dominio.com.br(192.168.2.12): icmp_seq=2 ttl=64 time=0.044 ms
64 bytes from fileserver.dominio.com.br(192.168.2.12): icmp_seq=3 ttl=64 time=0.049 ms
Para testar se o reverso do seu endereço está funcionando, isso é muito importante para os servidores de email execute o comando abaixo: # host mailserver.dominio.com.br
mailserver.dominio.com.br has address 192.168.2.10
# host webmail.dominio.com.br
webmail.dominio.com.br has address 192.168.2.11
# host fileserver.dominio.com.br
fileserver.dominio.com.br has address 192.168.2.12
Existem outros comandos bem mais completos que consultam outros parâmetros dos registros de dns * dig * nslookup