Instalando um servidor BIND secundário

Leonardo Serra Maciel de Campos


            
          

Este documento é licenciado sobre a licença de Atribuição-Compartilhamento da Creative Commons. Para ver uma cópia desta licença, visite http://creativecommons.org/licenses/by-sa/2.0/ ou envie uma carta para Creative Commons, 559 Nathan Abbott Way, Stanford, California 94305, USA.

Histórico de Revisões
Revisão 0.1 2004-10-05 10:30:24 -0300 Leonardo Serra Maciel de Campos
Revisão 0.2 2004-10-05 11:38:31 -0300 Leonardo Serra Maciel de Campos
Revisão 0.3 2004-10-06 11:08:12 -0300 Leonardo Serra Maciel de Campos

Resumo

Este documento visa ensinar como instalar e configurar um servidor BIND secundário.


Dedicatória

Dedico este documento a todas as pessoas que realmente acreditam na filosofia do Logicial Livre.

Índice

1. Introdução
1. O que é BIND?
2. O que é DNS?
2. Ambiente
3. Instalação
4. Configuração
5. Comandos úteis
6. Apêndice
1. Bibliografia
2. Glossário

Lista de Tabelas

2.1. Versão dos logiciais
2.2. Ambiente

Capítulo 1. Introdução

1. O que é BIND?

BIND (Berkeley Internet Name Domain) é uma implementação do protoloco DNS (Domain Name System).

2. O que é DNS?

O sistema de nomes de domínios, ou DNS, é uma parte fundamental da Internet. É responsável para traduzir nome dos endereços, distribuir o correio eletrônico a seu destino apropriado, e muitos outros serviços.

Capítulo 2. Ambiente

Será presumido que o seu sistema Debian GNU/Linux e o aptitude estão corretamente configurados. Também é necessário que o seu servidor BIND primário esteja respondendo de forma correta o domínio exemplo.com.br.

Atenção

Todos os comandos deverão ser executados na máquina ns2.exemplo.com.br pelo usuário root, exceto quando informado!

A tabelo abaixo mostra as versões de cada logicial usado.

Tabela 2.1. Versão dos logiciais

Logicial Versão
bind9 9.2.4-1
bind9-host 9.2.4-1
bind9-doc 9.2.4-1

A tabelo abaixo mostra as principais características do ambiente onde foi feito esta documentação.

Tabela 2.2. Ambiente

Distribuição GNU/Linux Debian Sarge
Endereço do servidor BIND primário ns1.exemplo.com.br
Endereço IP do servidor BIND primário 192.168.0.1
Endereço do servidor BIND secundário ns2.exemplo.com.br
Endereço IP do servidor BIND secundário 192.168.0.2
Nome do domínio exemplo.com.br
Máscara de rede 255.255.255.0
Pasta para armazenamento das zonas /var/cache/bind
Pasta para armazenamento das zonas primárias /var/cache/bind/slave

Nota

Usaremos palavras desta maneira para indicar substituição.

Capítulo 3. Instalação

  1. Execute o seguinte comando para instalar o servidor BIND:

    # aptitude install bind9 bind9-host bind9-doc

Capítulo 4. Configuração

  1. As etapas abaixo devem ser executadas na máquina ns1.exemplo.com.br.

    • Edite o arquivo /etc/bind/named.conf.local. No fim do arquivo existem as seguintes linhas:

      zone "exemplo.com.br" {
          type master;
          file "exemplo.com.br";
      };
      
      zone "0.168.192.in-addr.arpa" {
          type master;
          file "192.168.0";
      };
      

      Acrescente a seguinte linha no fim das zonas exemplo.com.br e 0.168.192.in-addr.arpa:

          allow-transfer { 192.168.0.2; };

      Ao fim as zonas ficaram da seguinte maneira:

      zone "exemplo.com.br" {
          type master;
          file "exemplo.com.br";
          allow-transfer { 192.168.0.2; };
      };
      
      zone "0.168.192.in-addr.arpa" {
          type master;
          file "192.168.0";
          allow-transfer { 192.168.0.2; };
      };
      
    • Edite o arquivo /var/cache/bind/exemplo.com.br. No arquivo existem as seguintes linhas:

      $TTL       43200
      @          IN      SOA     ns1.exemplo.com.br.      root.exemplo.com.br. (
                  2004092700 ; Serial
                  28800      ; Refresh
                  14400      ; Retry
                  3600000    ; Expire
                  86400 )    ; Minimum
      @          IN MX 5  correio.exemplo.com.br.
      @          IN NS ns1.exemplo.com.br.
      @          IN A  192.168.0.1
      ns1        IN A  192.168.0.1
      correio    IN A  192.168.0.3
      

      Acrescente as seguintes linhas:

      @          IN NS ns2.exemplo.com.br.
      ns2        IN A  192.168.0.2
      

      Ao fim o arquivo ficará da seguinte maneira:

      $TTL       43200
      @          IN      SOA     ns1.exemplo.com.br.      root.exemplo.com.br. (
                  2004092700 ; Serial
                  28800      ; Refresh
                  14400      ; Retry
                  3600000    ; Expire
                  86400 )    ; Minimum
      @          IN MX 5  correio.exemplo.com.br.
      @          IN NS ns1.exemplo.com.br.
      @          IN NS ns2.exemplo.com.br.
      @          IN A  192.168.0.1
      ns1        IN A  192.168.0.1
      ns2        IN A  192.168.0.2
      correio    IN A  192.168.0.3
      
    • Edite o arquivo /var/cache/bind/192.168.0. No arquivo existem as seguintes linhas:

      $TTL       43200
      @          IN      SOA     ns1.exemplo.com.br.      root.exemplo.com.br. (
                  2004092700 ; Serial
                  28800      ; Refresh
                  14400      ; Retry
                  3600000    ; Expire
                  86400 )    ; Minimum
                 IN NS    ns1.exemplo.com.br.
      1          IN PTR   ns1.exemplo.com.br.
      3          IN PTR   correio.exemplo.com.br.
      

      Acrescente as seguintes linhas:

                 IN NS    ns2.exemplo.com.br.
      2          IN PTR   ns2.exemplo.com.br.
      

      Ao fim o arquivo ficará da seguinte maneira:

      $TTL       43200
      @          IN      SOA     ns1.exemplo.com.br.      root.exemplo.com.br. (
                  2004092700 ; Serial
                  28800      ; Refresh
                  14400      ; Retry
                  3600000    ; Expire
                  86400 )    ; Minimum
                 IN NS    ns1.exemplo.com.br.
                 IN NS    ns2.exemplo.com.br.
      1          IN PTR   ns1.exemplo.com.br.
      2          IN PTR   ns2.exemplo.com.br.
      3          IN PTR   correio.exemplo.com.br.
      
    • É necessário recarregar os arquivos de configuração do servidor BIND primário. Para isto execute:

      # rndc reload

      Atenção

      É altamente recomendado configurar o servidor BIND para somente aceitar comandos para administração através do rndc utilizando assinatura digital!

  2. Edite o arquivo /etc/bind/named.conf.local. Acrescente ao fim as seguintes linhas:

    zone "exemplo.com.br" {
        type slave;
        file "slave/exemplo.com.br";
        masters { 192.168.0.1; };
    };
    
    zone "0.168.192.in-addr.arpa" {
        type slave;
        file "slave/192.168.0";
        masters { 192.168.0.1; };
    };
    

    Nota

    Não será abordado como calcular o mapa de DNS reverso, para saber mais informações sobre visite .

  3. É necessário que apenas o usuário root possa ler e gravar os arquivos de configuração e que apenas os usuários do grupo bind possam ler estes arquivos. Para isto execute:

    # chown -R root:bind /etc/bind
    # chmod 640 /etc/bind/*
    
  4. É necessário criar a pasta onde será armazenada as zonas primárias. Para isto execute:

    # mkdir /var/cache/bind/slave
  5. É necessário que apenas o usuário bind possa ler e gravar arquivos na pasta para armazenamento das zonas primárias. Para isto execute:

    # chown bind:bind /var/cache/bind/slave
    # chmod 700 /var/cache/bind/slave
    
  6. É necessário recarregar os arquivos de configuração e as novas zonas do servidor BIND secundário. Para isto execute:

    # rndc reconfig

    Atenção

    É altamente recomendado configurar o servidor BIND para somente aceitar comandos para administração através do rndc utilizando assinatura digital!

Capítulo 5. Comandos úteis

  • Para recarregar os arquivos de configuração e as novas zonas do servidor BIND execute:

    # rndc reconfig
  • Para recarregar os arquivos de configuração e as zonas do servidor BIND execute:

    # rndc reload
  • Para visualizar o estado do servidor BIND execute:

    # rndc status

Capítulo 6. Apêndice

1. Bibliografia

Os seguintes sítios foram usados como base para a criação desta documentação

2. Glossário

Debian GNU/Linux

O Debian é um sistema operacional (SO) livre para seu computador. Um sistema operacional é um conjunto de programas básicos e utilitários que fazem seu computador funcionar. O Debian usa o kernel (núcleo de um sistema operacional), Linux, mas a maior parte das ferramentas do SO vêm do projeto GNU; daí o nome GNU/Linux.

Logicial

Conjunto de instruções lógicas. Na informática designa um conjunto de instruções lógicas e suas dependências, também conhecido como programa ou sistema de computador.

Esta palavra é pouco usada no Brasil, onde se usa muito a expressão "Software".

Origem: Wikipédia, a enciclopédia livre.