Vamos ser sinceros, quem não está farto de anúncios? Você abre um site de notícias: anúncios. Vai procurar aquela receita de presunto a vapor: anúncios. Sai do banho e… Antonio Lobato! Quer saber quanto vale o seu carro?
A Internet tornou-se um campo minado de publicidade.
Por isso, muitos de nós recorrem a bloqueadores no navegador, que salvam um pouco o dia. (Embora no YouTube nós o desliguemos para apoiar os criadores, certo? CERTO?). Mas claro, você tem que instalá-lo no PC, no celular, no tablet… e às vezes é chato ou simplesmente impossível (cof, cof, Smart TV).
Mas e se eu dissesse que você pode fazer com que TODOS os dispositivos conectados ao seu WiFi bloqueiem automaticamente essa praga de anúncios e rastreadores? E não apenas isso, mas também páginas maliciosas, conteúdo adulto (ideal se você tem crianças ou uma empresa), e aqueles cookies que fazem com que a máquina de lavar que você olhou há três semanas o persiga E AGORA NÃO PARAM DE APARECER MÁQUINAS DE LAVAR.
Pois é, existe solução e chama-se AdGuard Home. Talvez você conheça mais o Pi-hole, que é parecido, mas eu, pessoalmente, gosto um pouquinho mais do AdGuard.
Neste post vou te contar:
- Como funcionam estes bloqueadores a nível de rede.
- As diferenças chave entre AdGuard Home e Pi-hole (e por que fico com o AdGuard).
- O mais importante: Como instalar AdGuard Home GRÁTIS no seu próprio servidor.
Vamos lá!
O que raios é AdGuard Home? Entendendo o DNS
Ok, vamos começar pelo princípio. AdGuard Home é, em essência, um servidor DNS. “Um o quê?”, você pode perguntar. Calma, eu explico fácil.
Imagine que o seu celular tem uma lista de contatos. Se você quer ligar para alguém, não precisa saber o número de cor, procura o nome e liga. Pois um DNS (Domain Name System) faz o mesmo, mas com as páginas web.
Os sites vivem em endereços estranhos feitos de números (os IPs), como 172.217.160.142 (que é do Google, por exemplo). Como ninguém decora isso, os DNS atuam como a agenda: você digita google.com, o DNS procura o IP correspondente e te conecta. Mágica!

O “perigo” dos DNS da sua operadora
Normalmente, o seu roteador usa os DNS do seu provedor de Internet (Vivo, Claro, etc.). Isso significa que eles sabem todos os sites que você visita. Não veem o conteúdo graças ao HTTPS, mas sim o seu histórico de navegação. E sim, usam esses dados para estatísticas… ou para vendê-los e mostrar anúncios “personalizados” como os da bendita máquina de lavar.
Por isso, uma boa ideia é trocar de DNS. Você pode usar opções públicas como as da Cloudflare (1.1.1.1), que além disso te ajudam a pular bloqueios absurdos. De fato, tenho um vídeo onde explico como fazer isso.
Como o AdGuard Home bloqueia os anúncios?
O AdGuard Home é um servidor DNS, sim, mas um supervitaminado e configurável. Quando você o instala e configura na sua rede (calma, já vamos a isso), isto é o que acontece cada vez que você tenta entrar em um site, por exemplo, edunavajas.com:
- O seu dispositivo pergunta ao AdGuard Home: “Ei, qual é o IP de
edunavajas.com?”. - O AdGuard Home olha as suas listas negras:
- É um endereço conhecido por servir anúncios? Bloqueado! Não devolve nada.
- É um rastreador ou um site malicioso? Bloqueado!
- É uma página normal e legal como a minha? Vá em frente! Te dá o IP.
- Se a página carrega conteúdo de outros endereços (anúncios, scripts de rastreamento…), o AdGuard repete o processo para cada um. Os que estão em listas negras, são bloqueados e nem sequer são baixados.
Resultado: Você navega mais rápido, consome menos dados e, o melhor de tudo, adeus anúncios e rastreadores. E tudo isto, à mesma velocidade que um DNS normal, você nem percebe.
Além disso, você pode personalizá-lo bastante:
- Usar listas de bloqueio específicas (as do uBlock Origin, por exemplo).
- Bloquear serviços concretos (TikTok, Facebook, sites de apostas…).
- Estabelecer horários de bloqueio (ideal para controlar o acesso das crianças).
- Bloquear categorias inteiras (adulto, redes sociais…).

AdGuard Home vs. Pi-hole: Por que fico com o AdGuard?
Ambos são geniais e de código aberto, ponto para os dois, mas para mim, o AdGuard tem várias vantagens atualmente:
- Interface mais moderna e simples: É mais agradável à vista e fácil de usar, especialmente para configurar HTTPS.
- Mais funções “de fábrica”:
- DNS criptografado (DNS-over-HTTPS, DNS-over-TLS).
- Servidor DHCP integrado (Pi-hole precisa de configuração extra).
- Bloqueio de phishing e malware integrado.
- Controle parental e Busca Segura mais fáceis de ativar.
- Tudo isto sem instalar software adicional nem editar arquivos estranhos.
- Escrito em Go: O Pi-hole usa PHP. Para os programadores, Go costuma ser sinônimo de melhor desempenho, menos dependências e mais manutenibilidade.
- Instalação e fluidez: Em geral, o AdGuard parece mais rápido e polido.
Atenção, o Pi-hole continua sendo uma opção fantástica e há milhares de tutoriais. Mas se você quer mudar um pouco, com algo completo de fábrica e fácil de colocar para funcionar, o AdGuard é a minha recomendação.
O que você precisa para montar o AdGuard Home?
AdGuard é um servidor, então você precisa de… um servidor! Mas não se assuste, você não tem que gastar uma fortuna. Você tem várias opções:
- Um Raspberry Pi: A opção clássica. Se você tem um em casa, ótimo, embora o meu já esteja pedindo aposentadoria de tanto uso.
- Um PC velho: Qualquer computador que você tenha pegando poeira pode servir, não importa se usa Windows ou Linux, usaremos Docker.
- Um servidor VPS (Grátis!): Minha opção favorita se você não tem hardware disponível. Você pode conseguir um servidor GRATUITO na Oracle Cloud que funciona maravilhosamente bem. Tenho um tutorial completo aqui onde explico passo a passo como consegui-lo (4 núcleos e 24GB de RAM grátis!). Este é o que usarei neste tutorial.
Requisito indispensável: O dispositivo que você escolher deve estar ligado 24/7, já que será o que gerencia os pedidos DNS da sua rede.
Instalação Passo a Passo (Servidor VPS e Raspberry Pi!)
Vamos ver como instalar o AdGuard usando Docker, que torna tudo muito mais fácil. Os passos são quase idênticos para um VPS ou um Raspberry Pi, mas há uma pequena diferença inicial.
Passo 0: Preparação (Apenas Raspberry Pi)
Se você usa um Raspberry Pi:
-
Instale o Raspberry Pi OS: Se não o tem, use a ferramenta Raspberry Pi Imager para instalá-lo num cartão microSD. É super fácil.
-
Conecte-se por SSH: Uma vez instalado e conectado à sua rede, conecte-se ao Raspberry por SSH. Precisará do seu IP local e do seu usuário/senha.
-
IMPORTANTE! Atribua um IP Fixo: Como o Raspberry estará na sua rede local, o seu IP pode mudar se reiniciar. Precisamos que seja fixo. Edite o arquivo de configuração de rede:
sudo nano /etc/dhcpcd.confAdicione estas linhas no final, adaptando os IPs à sua rede local (o IP que você atribui, o IP do seu roteador e o IP do seu roteador como DNS):
interface eth0 # ou wlan0 se usa WiFi static ip_address=192.168.1.104/24 # Escolha um IP livre na sua rede static routers=192.168.1.1 # O IP do seu roteador (gateway) static domain_name_servers=192.168.1.1 # O IP do seu roteadorSalve (Ctrl+O), saia (Ctrl+X) e reinicie (
sudo reboot). A partir de agora, esse será o IP fixo do seu Raspberry Pi. Anote!
Passo 1: Conexão SSH ao Servidor (VPS ou Raspberry Pi)
Conecte-se ao seu servidor (VPS ou o Raspberry Pi com o seu novo IP fixo) usando SSH. Se usa o VPS da Oracle, precisará do IP público e da chave SSH que baixou ao criá-lo.
# Para VPS (exemplo Oracle Cloud com usuário ubuntu)
ssh -i /caminho/para/sua/chave.key ubuntu@<IP_PUBLICO_VPS>
# Para Raspberry Pi (exemplo com usuário pi)
ssh pi@<IP_FIXO_RASPBERRY>
(Opcional: Eu uso o terminal Warp, É muito completo. dê uma olhada se quiser).
Passo 2: Instalar Docker e Docker Compose
Se não tem o Docker instalado, execute estes comandos:
# Atualiza o sistema
sudo apt update && sudo apt upgrade -y
# Instala dependências
sudo apt install -y ca-certificates curl gnupg lsb-release
# Adiciona a chave GPG oficial do Docker
sudo mkdir -p /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
# Configura o repositório do Docker
echo \
"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \
$(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
# Instala Docker Engine, CLI, Containerd e Docker Compose
sudo apt update
sudo apt install -y docker-ce docker-ce-cli containerd.io docker-compose-plugin
Passo 3: Preparar a Configuração do AdGuard Home
Vamos criar a estrutura de pastas e o arquivo de configuração do Docker Compose:
# Cria a pasta principal para o AdGuard
mkdir adguard-home
cd adguard-home
# Cria as pastas para os dados e a configuração
mkdir adguard
mkdir adguard/work
mdkri adguard/conf
# Cria o arquivo docker-compose.yml
nano docker-compose.yml
Cole o seguinte conteúdo no editor nano. Atenção! Coloquei a porta 8181 para a interface web. Você pode deixar a 80 por padrão se não a tiver ocupada, mudando para 80:80/tcp.
services:
adguardhome:
image: adguard/adguardhome:latest
container_name: adguardhome
restart: unless-stopped
ports:
- "53:53/tcp"
- "53:53/udp"
- "67:67/udp"
- "8181:8181/tcp"
- "443:443/tcp"
- "3000:3000/tcp"
volumes:
- ./adguard/work:/opt/adguardhome/work
- ./adguard/conf:/opt/adguardhome/conf
Salve o arquivo (Ctrl+O) e saia (Ctrl+X).
Passo 4: Liberar a Porta 53! (Importante em VPS/Ubuntu)
Em muitas instalações do Ubuntu/Debian (especialmente em VPS), um serviço chamado systemd-resolved já está usando a porta 53, que precisamos para o nosso DNS. Temos que expulsá-lo!
-
Verifique se a porta 53 está ocupada:
sudo lsof -i :53Se vir algo escutando (
LISTEN) na porta 53 (provavelmentesystemd-resolve), siga os passos abaixo. Se não aparecer nada, perfeito!, pode pular para o Passo 5. -
Pare e desabilite o
systemd-resolved:sudo systemctl disable systemd-resolved.service sudo systemctl stop systemd-resolved.service -
Desvincule o arquivo
resolv.confgerenciado pelo systemd:sudo unlink /etc/resolv.conf -
Crie um novo
resolv.confestático (usaremos Cloudflare como exemplo):echo "nameserver 1.1.1.1" | sudo tee /etc/resolv.conf -
Verifique novamente se a porta 53 está livre:
sudo lsof -i :53Agora não deve aparecer nada escutando.
Passo 5: Abrir Portas no Firewall do Servidor (UFW)
Se você tem o ufw (Uncomplicated Firewall) ativado, precisa abrir as portas que o AdGuard usará:
# Permite as portas necessárias (adapte o 8181 se o mudou)
sudo ufw allow 53/tcp
sudo ufw allow 53/udp
sudo ufw allow 67/udp
sudo ufw allow 68/tcp
sudo ufw allow 68/udp
sudo ufw allow 8181/tcp # Porta da interface web
sudo ufw allow 443/tcp
sudo ufw allow 443/udp
sudo ufw allow 853/tcp # Porta DoT
sudo ufw allow 3000/tcp # Porta de configuração inicial
# Recarrega o UFW para aplicar as regras
sudo ufw reload
# (Opcional) Verifica o estado
sudo ufw status verbose
Passo 6: Abrir Portas no Provedor Cloud (Exemplo Oracle Cloud)
Este passo é CRUCIAL se usa um VPS. Você tem que abrir as mesmas portas no firewall do seu provedor cloud. Na Oracle Cloud:
- Vá ao console da Oracle Cloud.
- Navegue até Compute -> Instances e selecione a sua instância.
- Desça até Attached VNICs, clique na VNIC (Virtual Network Interface Card).
- Clique na Subnet.
- Clique na Security List (normalmente chamada “Default Security List for …”).
- Clique em Add Ingress Rules.
- Agora, IMPORTANTE: Por segurança, NÃO abra as portas para toda a internet (
0.0.0.0/0). Abra as portas APENAS para o seu IP público atual. Procure no Google (“qual é o meu IP”). - Adicione uma regra PARA CADA PORTA que precisar (53 TCP, 53 UDP, 67 UDP, 68 TCP, 68 UDP, 8181 TCP, 443 TCP, 443 UDP, 853 TCP, 3000 TCP):
- Source Type: CIDR
- Source CIDR:
<SEU_IP_PUBLICO>/32(O/32é importante!) - IP Protocol: TCP ou UDP conforme corresponda.
- Source Port Range: All
- Destination Port Range: A porta específica (ex: 53, 8181, 3000).
- Adicione uma descrição se quiser (ex: “AdGuard DNS UDP”).
- Clique em Add Ingress Rules lá embaixo para salvar.

(Nota: Se o seu IP público mudar com frequência, terá que atualizar estas regras. Para DNS público ou acesso de fora de casa, precisaria abrir a porta 53 (e talvez 853/443 para DoT/DoH) para 0.0.0.0/0, mas cuidado com a segurança! Certifique-se de configurar bem os “Clientes Permitidos” no AdGuard).
Passo 7: Iniciar o AdGuard Home!
Agora sim, o momento da verdade
# A partir da pasta adguard-home
sudo docker compose up -d
O -d executa em segundo plano. Para ver se iniciou bem:
sudo docker compose logs -f
Você deve ver mensagens indicando que o AdGuard Home iniciou e está escutando nas portas, especialmente algo como [info] AdGuard Home is available at http://127.0.0.1:3000. Perfeito!
Configuração Inicial do AdGuard Home
Já quase estamos lá! Agora toca configurar o AdGuard a partir da sua interface web.
- Abra o seu navegador e vá para
http://<IP_DO_SERVIDOR>:3000(use o IP público do VPS ou o IP fixo do Raspberry Pi). - Ele vai te dar as boas-vindas. Clique em Começar.
- Interface de Administração: Perguntará em que porta você quer a interface web principal. Por padrão é a 80. Como no
docker-compose.ymlmapeamos a 8181 para a 80 interna, deixe a porta 80 aqui. - Servidor DNS: Perguntará em que porta escutar os pedidos DNS. Deixe na 53, que é o padrão.
- Seguinte.
- Criar conta de administrador: Coloque um nome de usuário e uma senha SEGURA. Esta é a chave do seu AdGuard!
- Seguinte.
- Configurar dispositivos: Dará instruções genéricas. Por enquanto, clique em Seguinte.
- Feito! Clique em Abrir painel de controle. Redirecionará para
http://<IP_DO_SERVIDOR>:8181(ou a porta que você escolheu). - Inicie sessão com o usuário e senha que acabou de criar.

Bem-vindo ao painel do AdGuard Home! Você verá estatísticas (ainda vazias) e opções.
Configurações Recomendadas no AdGuard Home
Antes de configurar os seus dispositivos, recomendo alguns ajustes:
- (Segurança) Clientes Permitidos:
- Vá a Configurações -> Configurações de DNS.
- Desça até a seção Clientes permitidos.
- Adicione o IP público a partir do qual você se conecta normalmente (o mesmo que colocou nas regras da Oracle/Firewall). Pode adicionar também faixas da sua rede local se usa o Raspberry Pi (ex:
192.168.1.0/24). - Isto evita que qualquer um use o seu servidor DNS. Salve as alterações.
- (Opcional mas Recomendado) Habilitar Criptografia HTTPS: Para que o acesso ao painel seja seguro (HTTPS em vez de HTTP). Precisará de um domínio ou subdomínio apontando para o IP do seu servidor.
- Opção A (Let’s Encrypt): Vá a Configurações -> Configurações de criptografia. Habilite a criptografia, introduza o seu nome de host (domínio/subdomínio) e o seu email. O AdGuard tentará obter um certificado automaticamente. Precisará ter as portas 80 e 443 abertas ao público (
0.0.0.0/0) no seu firewall (servidor e provedor cloud) para que a validação funcione. - Opção B (Certificado Próprio - ex. Cloudflare Origin): Se usa Cloudflare, pode gerar um “Origin Certificate” (SSL/TLS -> Origin Server) para o seu domínio/subdomínio. Baixe o arquivo
.pem(certificado) e.key(chave privada). Suba-os para o seu servidor (ex. para uma nova pastaadguard-home/certs). Modifique o seudocker-compose.ymlpara adicionar estes volumes:
Reinicie o container (volumes: - ./work:/opt/adguardhome/work - ./conf:/opt/adguardhome/conf - ./certs/seu_certificado.pem:/opt/adguardhome/certificate.pem:ro - ./certs/sua_chave.key:/opt/adguardhome/private.key:rosudo docker compose down && sudo docker compose up -d). Depois, no AdGuard (Configurações -> Configurações de criptografia), habilite a criptografia, coloque o seu domínio, e especifique as rotas DENTRO do container:/opt/adguardhome/certificate.peme/opt/adguardhome/private.key. Salve. - Uma vez configurado o HTTPS, acessará o painel através de
https://<SEU_DOMINIO_OU_IP>:443(ou a porta que você mapeou para a 443 interna se a mudou).
- Opção A (Let’s Encrypt): Vá a Configurações -> Configurações de criptografia. Habilite a criptografia, introduza o seu nome de host (domínio/subdomínio) e o seu email. O AdGuard tentará obter um certificado automaticamente. Precisará ter as portas 80 e 443 abertas ao público (
- Explore os Filtros:
- Vá a Filtros -> Listas de bloqueio de DNS. Verá as listas de bloqueio ativas por padrão. Pode adicionar mais a partir de “Adicionar lista de bloqueio” -> “Escolher da lista” ou colando URLs de listas conhecidas.
- Em Filtros -> Serviços bloqueados, pode bloquear facilmente serviços populares (Facebook, TikTok, etc.) ou até estabelecer horários.
Passo Final: Configurar o Roteador
O último empurrão! Para que todos os dispositivos da sua casa usem o AdGuard Home automaticamente, você tem que dizer isso ao seu roteador.

- Acesse o painel de administração do seu roteador. Normalmente está em
192.168.1.1ou192.168.0.1. A senha costuma estar em uma etiqueta embaixo do roteador. Se não, contate o seu provedor. - Procure a seção de configuração LAN, Rede Local ou DHCP.
- Localize os ajustes de Servidor DNS.
- Desative a opção de “Usar DNS do provedor” ou similar.
- Introduza o IP do seu servidor AdGuard Home (o IP público do VPS ou o IP fixo do Raspberry Pi) como DNS Primário.
- DNS Secundário (Opcional):
- Pode colocar um DNS público como
1.1.1.1(Cloudflare) ou8.8.8.8(Google) como backup caso o seu servidor AdGuard falhe. - Se quer ser estrito e que TUDO passe pelo AdGuard, deixe em branco ou coloque
0.0.0.0. - Se tem outro servidor AdGuard, pode colocar o IP dele aqui para redundância.
- Pode colocar um DNS público como
- Salve as alterações e aplique a configuração. O roteador pode reiniciar.

JÁ ESTÁ! Agora, qualquer dispositivo que se conecte ao seu WiFi usará automaticamente o AdGuard Home. É possível que você tenha que desconectar e voltar a conectar os seus dispositivos do WiFi para que peguem a nova configuração DNS.
Comece a desfrutar de uma rede mais limpa, rápida e segura. Verá como as estatísticas no painel do AdGuard começam a se encher de bloqueios.
E é isso tudo! Espero que este tutorial tenha sido útil. ! 😉





O que você achou?
Deixe sua opinião, pergunta ou sugestão. Os comentários são sincronizados com GitHub Discussions .