Como Instalar servidor DNS do Raspberry Pi
|Neste tutorial, vamos orientá-lo através das etapas de configuração de um servidor DNS no seu Raspberry Pi.
Um servidor DNS é o que lida com a tradução de um nome de domínio, como drtechmoz.com, para o seu destino final. É o que ajuda a transformar endereços IP de algo como “210.345.231.345” para o sistema de nomes de domínio mais amigável.
Ao configurar um servidor DNS no Raspberry Pi, você pode usá-lo para melhorar o tempo que o computador leva para executar solicitações DNS.
O servidor DNS no Pi fará solicitações a outros servidores para determinar o IP dessa solicitação e armazená-la em cache. Isso significa que quando você solicitar esse mesmo nome de domínio novamente, essa solicitação será retornada quase instantaneamente.
Se você quiser configurar um servidor DNS no seu Raspberry Pi que tenha um pouco de funcionalidade extra pronta para uso, recomendamos que você confira nosso guia sobre como configurar o Pi-Hole abaixo.
Como Instalar Pi-Hole No Raspberry Pi
Pi-Hole é um pacote de software que vem com um pacote de funcionalidades extras, como bloqueio de nomes de domínio, bem como uma interface fácil de usar que permite gerenciar sua configuração de DNS com facilidade.
Antes de começar a configurar seu servidor, você deve primeiro certificar-se de que tem seu Pi configurado para usar um endereço IP estático.
Lista de Equipamentos
Aqui está todo o equipamento que eu recomendo para este tutorial do Raspberry Pi DNS Server.
Recomendado
Opcional
Configurando um servidor DNS no Raspberry Pi
- Neste tutorial, faremos uso do sistema operacional Raspberry Pi OS. Outros sistemas operacionais podem funcionar, mas não é garantido.
Antes de podermos configurar nosso Raspberry Pi devemos garantir que tudo esteja atualizado.
Podemos fazer isso executando os dois comandos a seguir em nosso Raspberry Pi.
1 2 3 |
sudo apt atualização sudo apt atualização |
- Uma vez que a atualização tenha sido concluída, podemos continuar a instalar o software que usaremos para configurar nosso Pi.
Este pacote de software que estamos a instalar chama-se DNSmasq. DNSmasq é um servidor DNS leve e simples que foi projetado com redes de pequena escala.
Graças à sua natureza leve, o DNSmasq é a solução perfeita para configurar um servidor DNS em um Raspberry Pi, pois não drenará seus recursos limitados.
Podemos instalar o dnsmasq no nosso Raspberry Pi executando o seguinte comando.
1 |
sudo apt instalar dnsmasq |
Configurando o servidor DNS
- Agora que fomos em frente e instalamos o software dnsmasq no nosso Raspberry Pi, devemos agora fazer algumas alterações de configuração nele.
As alterações que faremos em seu arquivo de configuração permitirão que o Raspberry Pi funcione melhor como servidor.
Podemos começar a fazer modificações no arquivo executando o seguinte comando.
1 |
sudo nano/etc/dnsmask.conf |
Para encontrar de forma mais fácil as seções que você está procurando, você pode fazer uso de CTRL + W para procurar o texto necessário.
1 |
#domain-needed |
Substitua por
1 |
domain-needed |
Essa opção altera o servidor DNS para que ele não encaminhe nomes que não contenham um ponto (.) ou um nome de domínio (.com) para servidores de nomes upstream.
Fazer isso manterá quaisquer nomes simples, como “localhost” ou “dlinkrouter” para a rede local.
Procurar
1 |
#bogus-priv |
Substitua por
1 |
bogus-priv |
Esta opção impede que o servidor encaminhe consultas de pesquisa inversa que tenham um intervalo de IP local para os servidores DNS upstream.
Isso ajuda a evitar vazamentos na configuração de uma rede local, pois os endereços IP nunca serão enviados para os servidores upstream.
Procurar
1 |
#no-resolv |
Substitua por
1 |
no-resolv |
Com essa opção, dizemos ao dnsmasq para não ler o arquivo “/etc/resolv.conf” para seus servidores de nomes upstream e, em vez disso, confiar nos especificados em sua configuração.
Procurar
1 |
#server=/localnet/192.168.0.1 |
Substitua por
1 2 3 |
server=8.8.8.8 server=8.8.4.4 |
Usando isso, instruímos o dnsmasq a utilizar os servidores DNS do Google para seus servidores de nomes upstream.
Você também pode fazer uso de outros DNS públicos, como DNS da CloudFlare quer OpenDNS.
Procurar
1 |
#cache-size=150 |
Substituir por
1 |
cache-size=1000 |
Com esta opção, estamos aumentando a quantidade de solicitações de DNS que o software dnsmasq armazenará em cache.
Ao aumentar o tamanho do cache, devemos ser capazes de melhorar o desempenho geral dos servidores e reduzir o tempo para realizar pesquisas de DNS.
- Com as alterações feitas no arquivo de configuração, agora você pode salvar o arquivo pressionando CTRL + X e depois Y seguido de ENTER.
- Como fizemos alterações na configuração do dnsmasq, precisaremos reiniciar seu serviço para que ele seja lido em nossas alterações.
Podemos reiniciar o dnsmasq executando o seguinte comando.
1 |
sudo systemctl restart dnsmasq |
- Como fizemos algumas alterações no serviço dnsmasq, devemos verificar se ele foi iniciado corretamente.
Podemos verificar o status do nosso servidor usando o comando abaixo..
1 |
sudo systemctl status dnsmasq |
Se o status mostrar como “Active: active (running) então você tem seu Raspberry Pi sendo executado com êxito como um servidor DNS.
Agora você deve ser capaz de apontar seu dispositivo para o endereço IP do Rasberry Pi para utilizá-lo como um servidor DNS.
Aprenda a instalar Tailscale no Raspberry Pi
Testando o servidor DNS do Raspberry Pi
- Se você quiser testar os resultados do seu servidor sem alterar seu DNS, você pode, fazendo uso da ferramenta “dig“.
Para usar a ferramenta dig no seu Raspberry Pi, você precisará primeiro instalar o pacote “dnsutils” executando o comando abaixo.
1 |
sudo apt install dnsutils |
- Com o pacote “dnsutils” instalado no Raspberry Pi, podemos ir em frente e consultar o nosso servidor DNS Pi executando o comando abaixo.
Usando “@localhost“, estamos dizendo à ferramenta dig para utilizar o servidor DNS do localhost para a pesquisa de DNS.
1 |
dig drtechmoz.com @localhost |
- A partir deste comando, você deve obter uma resposta como temos abaixo.
Esta resposta mostra que o software recuperou do servidor DNS do Raspberry Pi.
A partir dessa resposta, você pode ver quanto tempo a consulta levou para ser concluída, bem como informações adicionais.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 |
pi@raspberrypi:~ $ dig drtechmoz.com ; <<>> DiG 9.11.5-P4-5.1-Raspbian <<>> drtechmoz.com ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 40018 ;; flags: qr rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 0, ADDITIONAL: 1 ;; OPT PSEUDOSECTION: ; EDNS: version: 0, flags:; udp: 512 ;; QUESTION SECTION: ;drtechmoz.com IN A ;; ANSWER SECTION: drtechmoz.com 257 IN A 104.25.42.22 drtechmoz.com 257 IN A 104.25.43.22 ;; Query time: 45 msec ;; SERVER: 127.0.0.1#53(127.0.0.1) ;; WHEN: Thu Aug 01 08:04:35 BST 2019 ;; MSG SIZE rcvd: 75 |
- Se você executar novamente o comando, notará que o tempo de consulta será significativamente reduzido, pois pode recuperar a solicitação DNS do cache.
Como estamos solicitando de localhost, você deve ter um tempo de consulta próximo de 0 mseg.
1 |
;; Query time: 0 msec |
Espero que, até agora, você tenha configurado com sucesso seu Raspberry Pi para atuar como um servidor DNS para sua rede. Se você tiver algum problema ou tiver algum feedback, sinta-se à vontade para deixar um comentário abaixo.