Configurando servidor Bind9 no Ubuntu Server

  • Post author:
  • Post category:Linux

A ideia aqui é bem simples, configurar um servidor Bind9 para fazer cache se forward de conexões e ainda configurar algumas zonas internas para uma intranet.
Neste exemplo utilizaremos um uma máquina com Ubuntu 14 e Bind9 para fazer o trabalho de servidor de DNS. Criaremos as zonas firewall.bluesystems, fileserver.bluesystems e intranet.bluesystems como zonas de exemplo.

Hardware
Intel Core 2 Duo
2 GB RAM
SSD 120 GB

Softwares
Ubuntu 14.0.4
Bind9

1) Instalando o Bind9
Vamos utilizar o principal gerenciador de pacotes para instalar o Bind9 em nosso servidor Ubuntu, para isto abra um terminal como super usuário e digite o seguinte comando abaixo:

sudo apt-get install bind9 bind9utils

Depois de concluir a instalação dos pacotes vamos fazer um backup dos arquivos de configuração padrão para qualquer eventualidade no futuro. Para isso execute o seguinte comando abaixo:

cp -Rvf /etc/bind9 /etc/bind9.bak

OK, agora vamos partir para a configuração seguinte o ítem 2

2) Configurando o Forward DNS

Partiremos para configurar o forward de DNS. Com esta funcionalidade podemos criar um cache de DNSs públicos como Google DNS e OpenDNS em um único servidor. Isto facilita a administração e também optimiza a resolução de dns na rede interna, isto ainda possibilitaria que você tenha configurado o foward de ambos os serviços de dns públicos setados em um único endereço de ip interno.

Navegue até o diretório /etc/bind onde estão os arquivos de configuração do Bind e abra o arquivo named.conf.options com algum dos navegadores de sua preferência. Ao abrir edite as seguintes linhas:

Adicione as seguintes linhas abaixo:

acl goodclients {
#10.0.1.0/255.0.0.0;
#10.0.0.0/8;
177.43.220.117;
localhost;
localnets;
};

Agora dentro da tag options adicione  as seguintes linhas:

forwarders {
8.8.8.8;
8.8.4.4;
208.67.222.222;
208.67.220.220;
};

forward only;

Você pode baixar o exemplo do arquivo de configuração no final deste post.

Bom isto já preparamos o foward de nosso Bind9.

3) Criando as zonas de dns para rede local

Levando em consideração que nossa zona de exemplo terá o nome de bluesystems e que teremos alguns subdominios chamados intranet.bluesystems, fileserver.bluesystems entre outros e que nosso range de ip será o 10.0.0.0/8 consideremos as seguintes configurações abaixo

Dentro do diretório /etc/bind copie os seguintes arquivos como exemplo:

cp -Rv db.local bluesystems.db
cp -Rv db.127 10.db

Iremos editar os arquivos bluesystems.db e 10.db

Exemplo do arquivo bluesystems.db ( arquivo de configuração de zonas principais );

; BIND data file for local loopback interface
;
$TTL 604800
@ IN SOA bluesystems.db. WatchDog.localhost. (
2 ; Serial
604800 ; Refresh
86400 ; Retry
2419200 ; Expire
604800 ) ; Negative Cache TTL
;
@ IN NS bluesystems.
@ IN A 127.0.0.1
@ IN AAAA ::1

publicacoes IN A 10.0.253.10
intranet IN A 10.0.253.17
fileserver IN A 10.0.253.1

Exemplo de arquivo 10.db ( arquivo de reverso de dns )
;
; BIND reverse data file for local loopback interface
;
$TTL 604800
@ IN SOA hbr. WatchDog.localhost. (
1 ; Serial
604800 ; Refresh
86400 ; Retry
2419200 ; Expire
604800 ) ; Negative Cache TTL
;
@ IN NS hbr.
1 IN PTR firewall.hbr.
2 IN PTR intranet.hbr.
3 IN PTR fileserver.hbr.

No arquivo named.conf.local adicione as seguintes linhas abaixo:

//
// Do any local configuration here
//

// Consider adding the 1918 zones here, if they are not used in your
// organization
//include "/etc/bind/zones.rfc1918";

zone "hbr" {
type master;
file "/etc/bind/bluesystems.db";
};

zone "253.0.10.in-addr.arpa" {
type master;
notify no;
file "/etc/bind/10.db";
};

Faça um teste do seu Bind9 com a ferramenta named-checkconf. Com este aplicativo ele irá informar se seu dns está bem configurado ou com algum erro.

Para tirar como exemplo compactei em format .TAR.GZ um diretório do Bind9 em funcionamento para deixar como exemplo. Faça o download abaixo:

https://mega.co.nz/#!gJEgjBRZ!Kv0jJlT-UgzW6-Jz8dQJEay2Ig7cfLUxK31REJeqtag