6.1. Como faço para configurar meu DNS (bind)?

O DNS (domain name system) converte endereços IP's em números IP's e vice-versa, por exemplo: o endereço IP www.conectiva.com.br tem o seu equivalente ao número 200.250.58.156. Isto evita ter que decorar uma sequência grande de números IP's. A operação inversa (transformar números IP's em um endereço IP) é chamado de DNS reverso. Parece não haver muito sentido em executar tal operação mas existem aplicativos que se utilizam deste serviço como o irc (internet relay chat).

6.1.1. Configuração básica da máquina.

Vamos primeiro configurar os ítens básicos do servidor, como nome, domínio. Para isto será utilizado o aplicativo linuxconf.

    [root@localhost]# linuxconf

Nota: Neste exemplo configuraremos o domínio chamado intranet e o nome do servidor DNS se chamará server e é uma rede classe C (máscara 255.255.255.0). Aqui estão somente as configurações obrigatórias, entretanto para este procedimento funcionar a placa de rede deve estar funcionando corretamente, caso contrário configure-o antes de continuar.

Ambiente de rede->Informação básica da máquina

Nome da máquina: server.intranet
Primeiro nome + domínio: server.intranet
Apelidos (opc): server
Máscara: 255.255.255.0
Aceitar->Sair->Sair->Ativar Mudanças

Agora reinicie o seu computador.

6.1.2. Configuração do DNS.

Entre novamente no linuxconf e siga os passos:

6.1.3. Configurar DNS reverso

Ambiente de rede->DNS - servidor de nomes de domínio->Mapas de IPs reversos

Obs 1: como pode ser observado já existe um endereço reverso configurado que se refere ao endereço local (loopback).

Agora vamos acrescentar o endereço reverso do nosso dominío.

Adicionar->Número de rede: 192.168.255->Aceitar->Sair

6.1.4. Configurar máquinas virtuais

Neste exemplo estamos criando um atalho da máquina www.intranet para a maquina1.intranet, ou seja, a máquina1.intranet responde por todas as requisições feitas à www.intranet.

Ambiente de rede->DNS - servidor de nomes de domínio->Informações de máquinas por domínio

Selecione o domínio desejado e aperte ENTER

Adicionar

www.intranet (nome da máquina)

OBS: Note que o domínio já aparece sendo necessário apenas colocar o nome da máquina

Aceitar

é um apelido para: máquina1.intranet

Aceitar->Sair->Sair

6.1.5. Configurar o arquivo /etc/resolv.conf (importantíssimo)

Este é o arquivo que geralmente gera muitos erros, por isso tome muita atenção pois no arquivo /etc/resolv.conf deve-se colocar qual é o seu servidor de DNS (que no seu caso é a sua própria máquina), porém nunca coloque o seu endereço IP mas sim o endereço de loop back.

    search intranet
    nameserver 127.0.0.1

Ambiente de rede->DNS - especificação do servidor de nomes

[X] em operações normais, DNS é necessário
Domínio padrão: intranet
Servidor de nomes 1: 127.0.0.1
Procurar domínio 1 (opc.): intranet
Aceitar->Sair->Sair->Ativar Mudanças

6.1.6. Iniciando o serviço DNS

Agora para "levantar" o servidor (server.intranet) basta digitar o seguinte comando:

    [root@localhost]# cds
    [root@localhost]# ./named start


para parar o serviço:

    [root@localhost]# ./named stop


para reiniciar o serviço:

    [root@localhost]# ./named restart


6.1.7. Testando o servidor DNS (nslookup)

### CL-60 e Anteriores ###

Execute o seguinte comando:

    [root@localhost]# nslookup


Se o servidor estiver funcionando corretamente deverá aparecer uma mensagem mais ou menos como essa:

    Default Server:  localhost
    Address:  127.0.0.1
    
    >

Agora digite o nome de alguma máquina que foi cadastrada, nesse caso a máquina se chamava teste.intranet:

    > teste
    Server:  localhost
    Address:  127.0.0.1
    
    Name:    teste.intranet
    Address:  192.168.255.15

Se quiser obter uma resposta mais completa digite:

    > set q=any

E agora, por exemplo, consulte as informações sobre o domínio intranet:

    > intranet
    Server:  localhost
    Address:  127.0.0.1
    
    intranet       nameserver = server.intranet
    intranet       preference = 5, mail exchanger = server.intranet
    intranet
            origin = server.intranet
            mail addr = hostmaster.server.intranet
            serial = 2000041201
            refresh = 3600 (1H)
            retry   = 900 (15M)
            expire  = 1209600 (2W)
            minimum ttl = 43200 (12H)
    intranet       nameserver = server.intranet
    server.intranet     internet address = 192.168.255.10

6.1.8. Testando o servidor DNS (Host)

### CL-70 e posteriores ###

É usado para procurar varias informações sobre os Hosts da Internet e Intranet, em seus DNS (domain names server). Estas informações são ou nomes dos hosts ou seus números (IPs), e os servidores de nomes e servidores de e-mail dos mesmos.

Exemplo:

    [root@localhost]#  host www.conectiva.com.br
                    www.conectiva.com.br is a nickname for dino.conectiva.com.br
                    dino.conectiva.com.br has address 200.250.58.152

No exemplo acima o host é o apelido da máquina responsável (dino.conectiva.com.br), e seu no. de endereço (200.250.58.152).

* Opções do Host

Para maiores informações a respeito dos servidores e hosts, usa-se algumas opções para saber informações específicas, tais como:

-l => para uma listagem completa dos hosts no domínio especificado;

-t mx => para uma listagem servidores de e-mail;

-d => para detalhes sobre o host e seus servidores de nome;

Exemplo:

    [root@localhost]   host -t mx conectiva.com.br
                    conectiva.com.br mail is handled (pri=75) by papaleguas.conectiva.com.br
                    conectiva.com.br mail is handled (pri=100) by polarbear.conectiva.com
                    conectiva.com.br mail is handled (pri=50) by perninha.conectiva.com.br

No exemplo acima os servidores de e-mail do conectiva.com.br são apontados assim como sua devida prioridade (polarbear, papaleguas e perninha) (pri = 100, 75, 50, respectivamente).

Testando o servidor DNS com o Host

Execute o seguinte comando com o nome da sua máquina (no caso do exemplo = bravo):

    [vladimir@bravo faq]$ host -d bravo


Se o servidor estiver funcionando corretamente deverá aparecer uma mensagem:

    ;; res_nmkquery(QUERY, bravo.conectiva, IN, A)
    ;; res_send()
    ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 622
    ;; flags: rd; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 0
    ;;      bravo.conectiva, type = A, class = IN
    ;; Querying server (# 1) address = 10.0.0.5
    ;; got answer:
    ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 622
    ;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 3, ADDITIONAL: 3
    ;;      bravo.conectiva, type = A, class = IN
    bravo.conectiva.        1D IN A         10.0.2.73
    conectiva.              1D IN NS        ns.conectiva.
    conectiva.              1D IN NS        donald.conectiva.
    conectiva.              1D IN NS        perninha.conectiva.com.br.
    ns.conectiva.           1D IN A         10.0.0.5
    donald.conectiva.       1D IN A         10.0.2.0
    perninha.conectiva.com.br.  1D IN A  200.250.58.156
    rcode = 0 (Success), ancount=1
    bravo.conectiva has address 10.0.2.73


Esta mensagem contém o nome do(s) servidor(es) de nomes (no caso = ns, donald e perninha) e seu(s) no(s). de registro (no caso = 10.0.0.5, 10.0.2.0, 200.250.58.156), indicando que estão em funcionamento.

Para maiores informações, digite:

    [root@localhost]#  man host