🛡️ Comparativo: AdGuard Home vs Pi-hole + Guia de Instalação

📘 Introdução

Pi-hole e AdGuard Home são soluções de bloqueio de anúncios, rastreadores e domínios maliciosos a nível de DNS. Ambas são gratuitas, de código aberto, e compatíveis com Docker. Este guia apresenta um comparativo técnico e uma configuração prática do AdGuard Home com rede macvlan.


🔍 Comparativo Técnico

Critério Pi-hole AdGuard Home
Interface Web Simples e leve Moderna e intuitiva
Servidor DHCP Básico Mais completo e estável
Controle Parental Via listas customizadas Nativo com opções por horário e cliente
DoH / DoT / DNSCrypt Exige serviços externos Nativo e fácil de ativar
Estatísticas e Logs Boas, mas simples Avançadas, por cliente, tempo e domínio
Bloqueio por cliente Necessita customização Interface integrada
Instalação via Docker Fácil Fácil
Atualizações automáticas Limitadas Nativas e programáveis
Desenvolvimento ativo Comunidade Time dedicado, roadmap agressivo

🐳 Instalação do AdGuard Home via Docker (macvlan)

1. Criar a rede macvlan

docker network create -d macvlan \
  --subnet=192.168.18.0/24 \
  --gateway=192.168.18.1 \
  -o parent=eth0 \
  macvlan_lan

Substitua eth0 pela interface correta se necessário (ip a para verificar).


2. Arquivo docker-compose.yml

services:
  adguardhome:
    image: adguard/adguardhome:latest
    container_name: adguardhome
    restart: unless-stopped
    cap_add:
      - NET_ADMIN
    networks:
      macvlan_lan:
        ipv4_address: 192.168.18.153 # Ajuste conforme a sua rede 
    volumes:
      - /opt/adguard/work:/opt/adguardhome/work
      - /opt/adguard/conf:/opt/adguardhome/conf

networks:
  macvlan_lan:
    external: true

🔎 Detalhes de rede e permissões

cap_add: NET_ADMIN

Esse parâmetro adiciona ao container a capacidade de administração de rede no kernel Linux, permitindo que ele:

  • Escute em portas privilegiadas como 53 (DNS)
  • Atue como servidor DHCP, o que exige manipulação de sockets de rede bruta
  • Use ferramentas e APIs internas de gerenciamento de rede

Sem essa permissão, o container pode apresentar erros ao tentar responder pacotes DHCP ou configurar interfaces virtualizadas.

networks: macvlan_lan + ipv4_address

  macvlan_lan:
    ipv4_address: 192.168.18.153

Faz com que o container seja conectado a uma rede macvlan externa, na qual ele recebe um IP real da rede física (LAN), como se fosse um dispositivo independente.

Isso é necessário porque:

  • O AdGuard Home atuará como servidor DNS e DHCP na rede física;
  • Usar bridge isolaria o container, impedindo-o de atender dispositivos reais;
  • A rede macvlan permite que ele se comunique diretamente com todos os dispositivos da LAN, exatamente como o faria um roteador;
  • O IP 192.168.18.153 foi definido manualmente para garantir estabilidade, acesso direto e evitar conflitos com o DHCP do roteador.

3. Subir o container

docker compose up -d

🌐 Acesso e Instalação via Interface Web

Acesse: http://:3000

Siga o assistente:

  • Idioma: Português
  • Interface web: 192.168.18.153, porta 80
  • Servidor DNS: todas as interfaces, porta 53
  • Criar usuário e senha admin
  • Finalizar

⚙️ Configurações recomendadas

🔧 DNS

Configurações > Configurações de DNS > Servidores DNS primário

  • https://dns.cloudflare.com/dns-query
  • https://dns10.quad9.net/dns-query
  • https://dandelionsprout.asuscomm.com:2501/dns-query
  • tls://dandelionsprout.asuscomm.com:853
  • quic://dandelionsprout.asuscomm.com:48582
  • https://doh.nl.ahadns.net/dns-query
  • https://dns.momou.ch/dns-query/kids
  • https://kids.ns.nwps.fi/dns-query
  • tls://kids.ns.nwps.fi
  • tls://kids.dns.momou.ch
  • tls://dns.adguard.com

Para mais listas de (DNS)[https://adguard-dns.io/kb/pt-BR/general/dns-providers/]


🔐 Filtros

Filtros > Lista de bloqueio de DNS > Adicionar lista de bloqueio

Escolher na lista conforme a sua necessidade.

Recomendo:

  • OISD Blocklist
  • No Google
  • e pelo menos uma na lista de "Segurança";

Atualize as listas semanalmente.


🧒 Controle de Serviços

Filtros > Serviços bloqueados

Uma excelente opção para o bloqueio de serviços, permitindo inclusive a criação de agendamentos para pausar temporariamente os filtros de bloqueio, conforme a necessidade.


📶 DHCP (opcional)

O AdGuard Home pode atuar como servidor DHCP, distribuindo IPs e definindo automaticamente o DNS (ele mesmo) para todos os dispositivos da rede. Essa funcionalidade é especialmente útil quando não se tem acesso às configurações do roteador da operadora, o que impede a troca do servidor DNS central. Ao assumir o controle do DHCP, o AdGuard passa a:

  • Atribuir IPs aos dispositivos da rede
  • Definir a si mesmo como DNS padrão
  • Garantir o bloqueio de anúncios, rastreadores e domínios maliciosos, mesmo sem alterar o roteador

✅ Solução ideal em redes onde o roteador é bloqueado ou limitado.

Exemplo de configuração:

  • Gateway: 192.168.18.1
  • Faixa: 192.168.18.100 - 192.168.18.200
  • Máscara: 255.255.255.0
  • Tempo de concessão: 86400 (1 dia)

⚠️ Desative o DHCP do seu roteador se for usar o do AdGuard.


📝 Conclusão

Quando usar... Recomendado
Ambiente simples Pi-hole
Controle granular AdGuard
DNS seguro (DoH/DoT) AdGuard
Relatórios avançados AdGuard
Container isolado Ambos

O AdGuard Home se destaca por sua interface moderna, recursos integrados de privacidade e suporte a DNS seguro, sendo ideal para residências com múltiplos usuários, controle parental e redes mais exigentes. Para mais informações, acesse a documentação oficial.