Transforme o seu Raspberry PI num servidor de DNS Date : 28 de Outubro de 2013 Segundo dados divulgados recentemente no site raspberrypi.org, 1,75 milhões é o numero de mini Raspberry Pi vendidos em todo o mundo. Este é um numero muito interessante que traduz o sucesso deste projecto. Este mini equipamento, do tamanho de um cartão de crédito é capaz de reproduzir vídeo com qualidade Blu-ray e renderizar gráficos 3D, entre outras tarefas. No seguimento da nossa parceria com a INMotion, hoje vamos ensinar como transformar o seu Raspberry PI num servidor de DNS. Para que server um servidor de DNS? Um dos serviços/protocolos mais importante em qualquer rede de dados é o DNS (Domain Name System). Tal como o nome sugere, o DNS traduz nomes em endereços IPs e viceversa. Por exemplo, quando acedemos ao site www.google.com, o nosso sistema precisa de saber qual o servidor a contactar e pede ao servidor de DNS (que está configurado) para que este lhe traduza o nome num endereço IP. Do lado do cliente o utilizador apenas tem de indicar qual o servidor de DNS a usar. Já do lado http://www.pplware.com Pplware 1 / 5
do servidor há um conjunto de parâmetros que temos de definir. Resource Records utilizados em zonas DNS Toda a informação associada a um domínio DNS é registada nos ficheiros de zonas através de resource records. Os resource records permitem definir um tipo de apontador para endereços IP, nomes, etc. Por exemplo, quando criar um registo no DNS relativo a um servidor de e-mail, usamos o resource records MX (Mail Exchanger) Tipos de resource records mais importantes: A Address: Associação de um nome a um endereço (mapeamento directo) AAAA Address IPv6; Associação de um nome a um endereço IPv6 NS (NameServer); Indica o nome de um servidor de DNS do domínio ou subdomínio; CNAME (Canonical NAME); um alias (nome alternativo) para um host; MX - (Mail exchanger); Definição de servidores de correio electrónico do domínio ou subdomínio ; PTR (PoinTeR); Associação de um endereço a um nome (reverse DNS mapeamento inverso) SOA (Start Of Authority); Identificação de cabeçalhos de zonas SRV - (SeRVice); permite definir serviços disponíveis num domínio TXT Definição de informação textual sobre o domínio Num próximo artigo iremos fazer um artigo mais completo sobre o funcionamento do DNS. Como transformar um PI num servidor de DNS? Como já vimos ao longo de vários artigos, o PI pode ter a correr um conjunto de serviços fundamentais em qualquer rede de dados. Hoje vamos ensinar como transformar o seu PI num servidor de DNS, podendo este dar suporte a toda a sua rede. Instalação do PowerDNS Quando se fala em serviços de DNS para Linux, os nomes mais populares são o Bind9 ou djbdns. Para o PI a nossa sugestão vai para o PowerDNS pois é um serviço bastante leve e com muitas funcionalidades. Para instalar o PowerDNS basta usar o comando: sudo apt-get install pdns-server Configurar um recursor Antes de definirmos a nossa zona no DNS, é necessário indicar qual o servidor de DNS que vai resolver nomes fora do nosso domínio. Para este exemplo vamos usar o servidor da Google (8.8.8.8). Esse informação é configurada no ficheiro /etc/powerdns/pdns.conf podendo ser usado o seguinte comando para tal: http://www.pplware.com Pplware 2 / 5
sudo sed -i 's/# recursor=/recursor=8.8.8.8/g' /etc/powerdns/pdns.conf Depois de configurado devemos fazer um restart ao serviço pdns e instalar o dnsutils sudo service pdns restart sudo apt-get install dnsutils Depois de reiniciarem o serviço e instalar o dnsutils, podem testar usando, por exemplo, o comando nslookup pplware.com localhost O resultado deverá ser algo do tipo: Configurar uma ZONA Como referido, toda a informação associada a um domínio DNS é registada nos ficheiros de zonas. Para isso vamos abrir o ficheiro /etc/powerdns/bindbackend.conf e indicar a zona para o nosso domínio DNS interno. Para este tutorial, vamos considerar que o domínio DNS é pplware.com zone "pplware.com" { type master; file "/etc/powerdn s/bind/pplware.com.zone"; allow-update { none; }; }; De seguida vamos criar o ficheiro /etc/powerdns/bind/pplware.com.zone onde vamos colocar a informação da nossa zona. Para isso começamos por criar o directório /etc/powerdns/bind (para termos o serviço organizado) http://www.pplware.com Pplware 3 / 5
sudo mkdir /etc/powerdns/bind Em seguida criamos e editamos o ficheiro /etc/powerdns/bind/pplware.com.zone e colocamos lá a seguinte informação: Nota: De referir que o endereço 192.168.1.97 corresponde ao meu PI. Devem alterar pelo IP que está atribuído ao vosso. $ORIGIN pplware.com ; base for unqualified names $TTL 1h ; default time-to-live @ IN SOA ns.pplware.com hostmaster.pplware.com ( 1; serial 1d; refresh 2h; retry 4w; expi re 1h; minimum time-to-live ) IN NS ns IN A 192.168.1.97 ns IN A 192.168.1.97 E está feito. O nosso servidor de DNS está instalado, configurado e pronto a ser usado. Adicionar novos registos Como este serviço vai ficar a funcionar na rede local, podemos atribuir um nome a todos os dispositivos que estão nessa rede. Por exemplo, vamos considerar que queremos dar o nome gwmeo ao router que tem o endereço 192.168.1.254. Para isso, basta acrescentar ao ficheiro anterior a seguinte linha: gwmeo IN A 192.168.1.254 Caso o utilizador pretenda que esta equipamento tenha um nome alternativo (CNAME) pode configurar algo do tipo: gwmeo IN A 192.168.1.254 router IN CNAME gwmeo Com a informação anterior, qualquer dispositivo que tenha configurado como servidor de DNS o PI, poderá aceder ao router através do nome gwmeo ou router. http://www.pplware.com Pplware 4 / 5
Powered by TCPDF (www.tcpdf.org) No final da configuração devem reiniciar novamente o serviço pdns. Sempre que queiram acrescentar novas máquinas, basta acrescentar essa informação ao ficheiro /etc/powerdns/bind/pplware.com.zone. Alguns testes para verem se funciona: Por hoje ficamos por aqui. O próximo tutorial, como sempre, será surpresa, por isso estejam atentos. Entretanto estamos receptivos a apresentar os vossos tutoriais com este mini PC. Enviem-nos um e-mail com a informação que nós publicamos. http://www.pplware.com Pplware 5 / 5