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