Meta Description: Desvende os segredos de Pi-hole com Unbound para um DNS rápido, seguro e privado, bloqueando anúncios e rastreadores.

Pi-hole com Unbound: Uma Dupla Imbatível para um DNS Rápido e Seguro

Configurar um Pi-hole com Unbound é um passo essencial para quem busca mais controle sobre sua rede, privacidade aprimorada e uma experiência de navegação livre de anúncios e rastreadores. Essa combinação poderosa transforma seu servidor DNS em uma ferramenta robusta, capaz de oferecer não apenas bloqueio de interferências indesejadas, mas também respostas DNS mais rápidas e seguras. Ao rodar seu próprio resolvedor DNS recursivo com Unbound, você diminui sua dependência de provedores externos e fortalece sua privacidade digital, garantindo que suas consultas de DNS não sejam monitoradas por terceiros.

A integração entre o Pi-hole e o Unbound reside em suas funcionalidades complementares. O Pi-hole atua como um Ad Blocker de rede, utilizando listas de blocklists para filtrar domínios conhecidos por veicular anúncios, rastreadores e malware. Já o Unbound entra em cena como um resolvedor DNS recursivo e validante, capaz de consultar diretamente os servidores raiz da internet, sem depender dos servidores DNS do seu provedor de internet (ISP) ou de serviços públicos como Google DNS ou Cloudflare. Essa arquitetura privada e autônoma confere um nível superior de segurança e eficiência.

Por Que Combinar Pi-hole e Unbound?

A motivação para unir essas duas tecnologias é multifacetada. Primeiramente, a privacidade. Ao utilizar o Pi-hole como seu servidor DNS, você centraliza o controle sobre o que é resolvido na sua rede. Quando combinado com o Unbound, o Pi-hole passa a ter um resolvedor DNS interno, o que significa que todas as consultas que ele não encontra em seu cache são encaminhadas para o Unbound. O Unbound, por sua vez, consulta diretamente os servidores DNS raiz, evitando que seu ISP (ou outro provedor DNS público) registre suas atividades de navegação.

Em segundo lugar, a performance. Embora os servidores DNS públicos sejam geralmente rápidos, uma instância local do Unbound, otimizada e com um cache bem populado, pode, em muitos casos, oferecer tempos de resposta ainda menores. Isso se deve à proximidade física do servidor Unbound com os dispositivos da sua rede e à capacidade de armazenar em cache um grande volume de consultas bem-sucedidas.

Finalmente, a segurança. O Unbound implementa a validação DNSSEC (DNS Security Extensions), um protocolo que garante a autenticidade e integridade dos dados DNS, protegendo contra ataques de spoofing e cache poisoning. Ao usar o Pi-hole com Unbound, você adiciona uma camada extra de segurança à sua rede, certificando-se de que os endereços IP às quais seus dispositivos se conectam são legítimos.

Benefícios da Autonomia de DNS

Privacidade Aprimorada: Nenhuma entidade externa coleta dados sobre seus hábitos de navegação.
Segurança Reforçada: Proteção contra diversas formas de ataque DNS, incluindo a validação DNSSEC.
Desempenho Otimizado: Respostas mais rápidas devido ao cache local e à proximidade da rede.
Controle Total: Gerenciamento centralizado da resolução de nomes na sua rede doméstica ou corporativa.
Remoção de Anúncios e Rastreadores: O Pi-hole bloqueia domínios maliciosos ou publicitários.

A configuração padrão do Pi-hole geralmente aponta para servidores DNS externos. Embora isso funcione bem para bloquear anúncios, não oferece os benefícios de privacidade e segurança que a solução com Unbound proporciona. Ao migrar para um resolvedor recursivo local, você dá um passo significativo em direção à soberania digital.

Instalando e Configurando o Pi-hole

A instalação do Pi-hole é um processo relativamente simples, especialmente em sistemas baseados em Linux como Raspberry Pi OS, Debian ou Ubuntu. O método de instalação mais comum é através de um script que automatiza a maior parte do processo.

Pré-requisitos

Antes de iniciar, certifique-se de ter:

Um dispositivo com sistema operacional Linux (Raspberry Pi é uma escolha popular e econômica).
Acesso ao terminal do dispositivo com privilégios de root ou `sudo`.
Uma conexão de rede estável.
Um endereço IP estático configurado para o dispositivo onde o Pi-hole será instalado. Isso é crucial para que todos os dispositivos na rede possam encontrá-lo consistentemente.

Processo de Instalação

Para instalar o Pi-hole, execute o seguinte comando no terminal:

“`bash
curl -sSL https://install.pi-hole.net | bash
“`

Este comando baixa o script de instalação e o executa. O instalador é interativo e guiará você por todas as etapas necessárias, incluindo a seleção da interface de rede, a configuração do endereço IP e a escolha dos upstream DNS servers. Durante a instalação, você será perguntado sobre quais upstream DNS servers usar. Neste momento, você pode selecionar “Custom” e inserir o endereço IP local do seu futuro servidor Unbound (geralmente `127.0.0.1#5335` ou similar, dependendo de como você configurará o Unbound depois). Ou, para simplificar a configuração inicial, você pode escolher um provedor de DNS público e alterar a configuração do upstream posteriormente nas configurações do Pi-hole.

Ao final da instalação, o script exibirá um sumário importante, incluindo o endereço IP do Pi-hole e a senha para acessar a interface web de administração (geralmente `http:///admin`). Guarde essa senha em um local seguro.

Configurando o Pi-hole como Servidor DNS na Rede

Após a instalação do Pi-hole, você precisará configurar seus dispositivos de rede para utilizá-lo como servidor DNS. A maneira mais eficiente de fazer isso é configurando seu roteador para que ele anuncie automaticamente o endereço IP do Pi-hole como o servidor DNS para todos os dispositivos conectados. Essa configuração geralmente é encontrada nas opções de DHCP do seu roteador.

Alternativamente, você pode configurar manualmente o servidor DNS em cada dispositivo, mas isso é mais trabalhoso e menos escalável, especialmente em redes com muitos aparelhos.

Instalando e Configurando o Unbound

Agora que o Pi-hole está em funcionamento, o próximo passo é instalar e configurar o Unbound para que ele sirva como o resolvedor DNS recursivo para o Pi-hole. O Unbound é um validador recursivo DNS leve e seguro.

Pré-requisitos para o Unbound

O Pi-hole já deve estar instalado e funcionando.
Acesso ao terminal do dispositivo onde o Pi-hole está instalado (se você planeja rodar o Unbound no mesmo dispositivo).
Privilégios de `root` ou `sudo`.

Processo de Instalação do Unbound

A instalação do Unbound em sistemas baseados em Debian/Ubuntu é feita através do gerenciador de pacotes `apt`:

“`bash
sudo apt update
sudo apt install unbound
“`

Configuração do Unbound

A configuração do Unbound é feita através de arquivos de texto. O arquivo principal de configuração geralmente se encontra em `/etc/unbound/unbound.conf` ou em arquivos dentro de `/etc/unbound/unbound.conf.d/`.

Precisamos configurar o Unbound para escutar em um endereço e porta específicos que o Pi-hole possa acessar, e também para que ele funcione como um resolvedor recursivo, consultando diretamente os servidores raiz.

Crie um novo arquivo de configuração para o Unbound, por exemplo, `/etc/unbound/unbound.conf.d/pi-hole.conf`:

“`bash
sudo nano /etc/unbound/unbound.conf.d/pi-hole.conf
“`

Cole o seguinte conteúdo neste arquivo:

“`
server:
# Listen on local IP address for Pi-hole
interface: 127.0.0.1@5335 # Porta customizada para Unbound
port: 5335
do-ip4: yes
do-udp: yes
do-tcp: yes

# Query DNSSEC records (recommended)
do-ip6: no # Desabilita IPv6 se não estiver usando
val-log-level: 1 # Nível de log para validação
verbosity: 1 # Nível geral de verbosidade

# Enable DNSSEC
auto-trust-anchor-file: “/var/lib/unbound/root.key”

# Define local zone and disable RFC 3361 access
local-zone: “1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.ip6.arpa.” static
access-control: 127.0.0.0/8 allow
access-control: 192.168.0.0/16 allow # Adapte à sua rede local
hide-identity: yes
hide-version: yes
harden-glue: yes
harden-dnssec-stripped: yes
use-caps-for-id: yes
cache-min-ttl: 3600
cache-max-ttl: 86400

# Prefetch DNS records to improve performance
prefetch: yes
prefetch-key: yes

# Logs
log-queries: yes
log-replies: yes
“`

Explicação das Configurações:

`interface: 127.0.0.1@5335`: O Unbound vai escutar apenas na interface de loopback (`127.0.0.1`) na porta `5335`. Essa porta é um padrão comum para Unbound quando usado com Pi-hole, para não conflitar com a porta 53 padrão usada pelo Pi-hole para consultas externas.
`do-ip4: yes`, `do-udp: yes`, `do-tcp: yes`: Habilita escuta em IPv4, UDP e TCP.
`do-ip6: no`: Se você não usa IPv6, é recomendável desabilitá-lo.
`auto-trust-anchor-file: “/var/lib/unbound/root.key”`: Garante que o Unbound baixe e mantenha atualizado a chave raiz para validação DNSSEC.
`local-zone` e `access-control`: Define a zona local e quais redes têm permissão para consultar o Unbound. Adapte `192.168.0.0/16` para o subnet da sua rede local, se necessário.
`hide-identity: yes`, `hide-version: yes`: Dificulta a identificação do seu servidor DNS.
`harden-glue: yes`, `harden-dnssec-stripped: yes`, `use-caps-for-id: yes`: Medidas de segurança adicionais.
`cache-min-ttl`, `cache-max-ttl`: Define o tempo mínimo e máximo que uma resposta pode ficar em cache.
`prefetch: yes`, `prefetch-key: yes`: Pré-busca por registros DNS e chaves para acelerar futuras consultas.

Após salvar o arquivo, reinicie o serviço Unbound para que as alterações entrem em vigor:

“`bash
sudo systemctl restart unbound
“`

Para verificar se o Unbound está rodando corretamente e escutando na porta configurada, você pode usar `netstat` ou `ss`:

“`bash
sudo ss -tulnp | grep 5335
“`

Você deve ver uma linha indicando que o processo `unbound` está escutando em `127.0.0.1:5335`.

Testando o Unbound

Antes de configurar o Pi-hole para usá-lo, é bom testar o Unbound diretamente. Use o comando `dig`:

“`bash
dig @127.0.0.1 -p 5335 google.com
“`

Observe a saída. Se estiver funcionando, você verá a resposta para `google.com`. Você também pode testar_DNSSEC:

“`bash
dig @127.0.0.1 -p 5335 +dnssec isc.org
“`

Se a validação DNSSEC estiver funcionando, você verá os flags `ad` (authenticated data) e `BOGUS` não deve aparecer.

Integrando Pi-hole com Unbound

Com o Pi-hole instalado e o Unbound configurado e rodando em `127.0.0.1:5335`, o último passo é instruir o Pi-hole a utilizar o Unbound como seu upstream DNS server.

Configurando o Pi-hole

1. Acesse a interface web de administração do Pi-hole: `http:///admin`.
2. Navegue até Settings (Configurações).
3. Na aba DNS, você verá uma lista de upstream DNS servers.
4. Desmarque todos os servidores DNS públicos que estiverem selecionados (como Google, Cloudflare, etc.).
5. Selecione a opção Custom Upstream DNS Servers.
6. No campo de texto onde você pode inserir servidores personalizados, adicione o endereço e porta do seu Unbound:
`127.0.0.1#5335`
7. Clique em Save (Salvar).

Verificações Pós-Configuração

Após salvar, reinicie o Pi-hole FTL (o serviço principal do Pi-hole):

“`bash
sudo pihole restartdns
“`

Agora, o Pi-hole encaminhará todas as consultas que não estiverem em seu cache para o Unbound, rodando em `127.0.0.1:5335`.

Como verificar se está funcionando:

Página de Status do Pi-hole: Na interface web do Pi-hole, na página de Status, você deve ver o Unbound listado como seu upstream DNS server.
Testes de Navegação: Navegue em diferentes sites. Você deve continuar vendo os anúncios bloqueados (verifique a contagem de queries blocked).
Verificação de Logs: No Unbound, você pode habilitar logs mais detalhados para ver as consultas sendo processadas. No Pi-hole, a página “Query Log” mostrará as requisições e se foram bloqueadas ou encaminhadas. Observe se as consultas estão sendo recebidas pelo Unbound.
Teste de DNSSEC no Pi-hole: O Pi-hole exibe o status do DNSSEC. Ao acessar a página `Settings` -> `DNS`, se tudo estiver configurado corretamente, você deverá ver uma indicação de que o DNSSEC está habilitado.

Otimizações e Dicas Avançadas

Com a configuração básica pronta, existem algumas otimizações que podem melhorar ainda mais a performance e a robustez do seu sistema de DNS.

Habilitando o DNSSEC para Todos os Dispositivos

Garantir que o DNSSEC esteja validado é fundamental. O Unbound faz isso por padrão se configurado corretamente com `auto-trust-anchor-file`. O Pi-hole, por sua vez, recebe os dados validados e pode exibir o flag `ad` (authenticated data) nas suas consultas. Você pode verificar isso na página de log de consultas do Pi-hole.

A configuração do Unbound como descrito acima já habilita o DNSSEC. Apenas certifique-se de que o arquivo `root.key` está sendo atualizado. O Unbound geralmente cuida disso automaticamente.

Ajustando o Cache do Unbound

O tamanho do cache e os TTLs (Time To Live) podem ser ajustados para otimizar a velocidade. Valores mais altos de TTL em cache podem significar menos consultas à internet, mas também podem levar a resoluções desatualizadas se os registros mudarem rapidamente. Para redes domésticas, os valores padrão ou ligeiramente aumentados (como `cache-min-ttl: 3600`, `cache-max-ttl: 86400`) são geralmente um bom ponto de partida.

Listas de Blocklists Adicionais para o Pi-hole

O Pi-hole é tão eficaz quanto as listas de bloqueio que ele utiliza. Explore e adicione listas de bloqueio confiáveis para cobrir mais anúncios, rastreadores e domínios maliciosos. Sites como Firebog.net oferecem uma vasta coleção de compostos de listas de bloqueio para Pi-hole, categorizados por tipo (Phishing, Malwaredomains, Ads, etc.).

Monitoramento e Alertas

Utilize as ferramentas de monitoramento do Pi-hole para acompanhar o uso, as consultas bloqueadas e a atividade da rede. Para sistemas mais avançados, considere integrar o Pi-hole e o Unbound com ferramentas como Prometheus e Grafana para visualizações mais detalhadas e alertas customizados.

Backup da Configuração

É sempre uma boa prática fazer backup das configurações do Pi-hole e do Unbound. Você pode exportar a lista de domínios bloqueados e permitidos do Pi-hole através da interface web. Para o Unbound, um simples backup do arquivo de configuração e do diretório `auto-trust-anchor-file` é suficiente.

Solução de Problemas Comuns

Mesmo com uma configuração cuidadosa, podem surgir problemas. Aqui estão alguns cenários comuns e suas soluções.

Dispositivos não Acessam a Internet Após Configuração

Verifique o Endereço IP Estático do Pi-hole: Se o IP do Pi-hole mudar, os dispositivos não conseguirão encontrá-lo.
Configuração do Roteador: Certifique-se de que o DHCP Server do seu roteador está configurado para anunciar o IP do Pi-hole como o servidor DNS. Verifique se não há outros servidores DNS configurados no roteador.
Firewall: Verifique se nenhum firewall está bloqueando a porta 53 (DNS) no seu roteador ou no dispositivo do Pi-hole/Unbound.
O Unbound não está Responsivo: Verifique se o serviço Unbound está rodando e escutando na porta correta (`sudo ss -tulnp | grep 5335`). Reinicie o Unbound: `sudo systemctl restart unbound`.

Pi-hole Não Bloqueia Anúncios

Listas de Blocklists: Verifique se as listas selecionadas no Pi-hole estão ativas e funcionando. Tente adicionar uma lista de bloqueio conhecida e atualizada.
Cache do Navegador: Limpe o cache do seu navegador ou use o modo de navegação anônima para testar se os anúncios ainda aparecem.
Servidores DNS Upstream Mal configurados: Certifique-se de que o Pi-hole está apontando para o `127.0.0.1#5335` do Unbound.
Dispositivos Usando Outros DNS: Verifique se todos os seus dispositivos estão configurados para usar o Pi-hole como servidor DNS.

Problemas com DNSSEC

Unbound não está Iniciando: Verifique os logs do Unbound (geralmente em `/var/log/syslog` ou através de `journalctl -u unbound`). Procure por erros relacionados à validação ou ao arquivo `root.key`.
* Paginas Não Carregam Corretamente: Desabilite temporariamente o DNSSEC no Unbound (removendo `auto-trust-anchor-file` e `val-log-level`) e reinicie para ver se o problema é resolvido. Se for, pode haver um problema com a sua conexão ou com a propagação de DNSSEC na sua região.

Com essa configuração detalhada, você terá um sistema de DNS poderoso, privado e rápido em sua rede, proporcionando uma experiência de navegação mais limpa e segura. A combinação de Pi-hole e Unbound é um investimento que vale a pena para qualquer entusiasta de tecnologia e da privacidade.

Leave a Reply

Your email address will not be published. Required fields are marked *