Manual

do

Maker

.

com

Bind9 - Resolvendo nome para rede local

Bind9 - Resolvendo nome para rede local

Gostaria de iniciar citando que  um novo post para essa configuração foi escrito, focado em Internet das coisas, mas serve para propósito geral também.  Sugiro que experimente a configuração DESSE NOVO ARTIGO.

Nome para rede local

Obviamente isso não é uma novidade em redes, mas não se vê tão facilmente alguma coisa relacionada para que usuários comuns possam configurar um DNS para utilizar por exemplo, em sua casa. E por que alguém utilizaria um servidor DNS em sua própria casa? Deixe-me citar um caso da vida real:

  • TV (da sala e quarto).
  • Blue-ray.
  • PlayStation 3.
  • Celular (marido e esposa).
  • Câmera do quarto do bebê conectado.
  • Notebooks da casa (pai, mãe e de trabalho).
  • Raspberry de desenvolvimento (ARM).
  • Arduino de desenvolvimento (Atmel).
  • Carambola de desenvolvimento (MIPS).
  • i.MX53 de desenvolvimento (ARM).
  • Roteador wireless.

Todos esses 15 ítens da casa conectados à internet. Nem parece que se tem tanta coisa em casa, não é mesmo? E para acessá-los, ou descobrir se estão conectados, ou monitorar o tráfego da rede doméstica, basta saber de cor seus respectivos IPs - e aí é que entra o DNS, pois ninguém fica decorando os endereçamentos dos dispositivos da casa. Portanto, dois passos importantes a seguir, sendo o primeiro a configuração do servidor DHCP para atribuir sempre o mesmo IP ao requisitante. Para isso, acesse a interface do seu roteador Wireless e siga as orientações disponíveis na própria interface do seu modelo.
O segundo passo é a configuração do DNS, sendo ele um desktop, seu notebook ou qualquer dispositivo embarcado que possua a habilidade de rodar um bind9.

Supondo que vá utilizar por exemplo seu notebook onde possua uma instalação de algum sistema baseado em Debian (Ubuntu, Mint, etc), execute o seguinte comando em um terminal:


sudo apt-get install bind9

Criar-se-á o diretório /etc/bind contendo alguns arquivos, dentre os quais o arquivo named.conf. Atualmente esse arquivo possui apenas apontamentos para outros arquivos de configuração:


 include "/etc/bind/named.conf.options";
 include "/etc/bind/named.conf.local";
 include "/etc/bind/named.conf.default-zones"; 

named.conf.options

Nesse arquivo, configure o forwarder para resolver os nomes que seu servidor local não seja capaz de fazê-lo, por exemplo os endereços da internet. No meu caso, utilizo os servidores DNS públicos do google, então tenho a seguinte configuração de forwarders:


forwarders {
 8.8.8.8;
 8.8.4.4;
};

Não mexa em mais nada nesse arquivo.

named.conf.local

Esse arquivo contém as informações da sua rede local, mas as configurações específicas não ficam dentro dele. Dentro você deverá ter o apontamento para os arquivos específicos de resolução e do reverso. No caso da minha rede, resolvi fazer assim:


#configuracao do reverso baseado na minha rede 172.0.0.0
zone "0.0.172.in-addr.arpa"{
  type master;
  file "/etc/bind/db.0.0.172.reverso";
};
#configuracao da rede local
zone "intranet.local"{
  type master;
  file "/etc/bind/db.intranet.local";
};

Tendo-os definido aqui, resta criar os dois arquivos de configuração. Esses arquivos DEVEM manter a formatação perfeita, portanto sugiro que escreva manualmente linha a linha, utilizando tabs nos separadores, sem nenhum errinho, porque senão não funcionará.

db.0.0.172.reverso


$TTL  604800                                                                    
@  IN SOA   intranet.local. root.intranet.local.(
1
604800
86400
2419200
604800)
;
IN NS intranet.local.
1  IN PTR   intranet.local.

Não vou especificar o que é cada parte porque é bastante chato e quase todo mundo configura com os mesmos padrões. Só cito que eu escolhi o nome intranet.local para minha rede, escolha a sua.

db.intranet.local

O arquivo é bastante parecido. Aqui cito o NS que é 'Name Server', que é o nome de resolução da sua rede local. Um pouco mais abaixo, os IPs da rede local. Então, tendo-os configurado para seus respectivos dispositivos no servidor DHCP, esta será a última vez que precisará sabê-los antes de utilizar seu DNS. Parece burro configurar IP a IP, mas calma; você entenderá no final, caso ainda esteja com alguma dúvida até aqui.


$TTL  604800                                                                    
@  IN SOA   intranet.local. root.intranet.local.(
1
604800
86400
2419200
604800)
;
@  IN NS intranet.local.
@  IN A  172.0.0.1
;
;ips da rede local
;
note01 IN A  172.0.0.2
note02 IN A  172.0.0.3
raspberry   IN A  172.0.0.4
tvsala  IN A  172.0.0.5
tvquarto  IN A  172.0.0.6
blueray IN A  172.0.0.7
dnsserver  IN A  172.0.0.1

E etc. Configure todos os seus dispositivos, aqui coloquei alguns como exemplo.
Depois, finalize configurando os dispositivos para que resolvam nome utilizando o ip do dns server. No caso de Linux, edite o arquivo** /etc/resolv.conf** e coloque:


search intranet.local
nameserver 172.0.0.1

Você pode fazer essa atribuição pelo servidor DHCP de sua rede, ou ainda em Linux (como exemplo, o Mint) você pode editar o arquivo head contido no diretório /etc/resolvconf/resolv.conf.d e adicionar lá essas duas linhas. Assim, mesmo que lhe esteja sendo atribuido outros servidores DNS, o seu estará lá em primeiro.

Feita toda essa configuração, reinicie o serviço bind:


service bind9 restart

E prove sua configuração. Vou pingar o dns (chamei de dom0) a partir de uma máquina virtual que uso para desenvolvimento de um produto alemão, sendo que o DNS é o notebook em questão. Veja o resultado no video.

Pode-se por exemplo fazer uma aplicação para o celular para não ter que levantar a noite e ver que dispositivos permaneceram ligados (com excessão ao roteador, obviamente). Chega de levantar a noite para fazer ronda!

Se gostou, não deixe de compartilhar; dê seu like no video e inscreva-se no nosso canal Manual do Maker Brasil no YouTube.

Próximo post a caminho!

Nome do Autor

Djames Suhanko

Autor do blog "Do bit Ao Byte / Manual do Maker".

Viciado em embarcados desde 2006.
LinuxUser 158.760, desde 1997.