Blog Logo

Bloqueie TODOS os Anúncios da sua Rede (Mesmo sem Raspberry Pi!) | Tutorial AdGuard

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:

  1. Como funcionam estes bloqueadores a nível de rede.
  2. As diferenças chave entre AdGuard Home e Pi-hole (e por que fico com o AdGuard).
  3. 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!

dns-explain.webp

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:

  1. O seu dispositivo pergunta ao AdGuard Home: “Ei, qual é o IP de edunavajas.com?”.
  2. 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.
  3. 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…).

panel-adguard.webp


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:

  1. 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.
  2. Um PC velho: Qualquer computador que você tenha pegando poeira pode servir, não importa se usa Windows ou Linux, usaremos Docker.
  3. 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:

  1. 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.

  2. 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.

  3. 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.conf

    Adicione 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 roteador

    Salve (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!

  1. Verifique se a porta 53 está ocupada:

    sudo lsof -i :53

    Se vir algo escutando (LISTEN) na porta 53 (provavelmente systemd-resolve), siga os passos abaixo. Se não aparecer nada, perfeito!, pode pular para o Passo 5.

  2. Pare e desabilite o systemd-resolved:

    sudo systemctl disable systemd-resolved.service
    sudo systemctl stop systemd-resolved.service
  3. Desvincule o arquivo resolv.conf gerenciado pelo systemd:

    sudo unlink /etc/resolv.conf
  4. Crie um novo resolv.conf estático (usaremos Cloudflare como exemplo):

    echo "nameserver 1.1.1.1" | sudo tee /etc/resolv.conf
  5. Verifique novamente se a porta 53 está livre:

    sudo lsof -i :53

    Agora 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:

  1. Vá ao console da Oracle Cloud.
  2. Navegue até Compute -> Instances e selecione a sua instância.
  3. Desça até Attached VNICs, clique na VNIC (Virtual Network Interface Card).
  4. Clique na Subnet.
  5. Clique na Security List (normalmente chamada “Default Security List for …”).
  6. Clique em Add Ingress Rules.
  7. 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”).
  8. 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”).
  9. Clique em Add Ingress Rules lá embaixo para salvar.

setup-ports.webp

(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!

logs-adguard.webp

Configuração Inicial do AdGuard Home

Já quase estamos lá! Agora toca configurar o AdGuard a partir da sua interface web.

  1. 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).
  2. Ele vai te dar as boas-vindas. Clique em Começar.
  3. Interface de Administração: Perguntará em que porta você quer a interface web principal. Por padrão é a 80. Como no docker-compose.yml mapeamos a 8181 para a 80 interna, deixe a porta 80 aqui.
  4. Servidor DNS: Perguntará em que porta escutar os pedidos DNS. Deixe na 53, que é o padrão.
  5. Seguinte.
  6. Criar conta de administrador: Coloque um nome de usuário e uma senha SEGURA. Esta é a chave do seu AdGuard!
  7. Seguinte.
  8. Configurar dispositivos: Dará instruções genéricas. Por enquanto, clique em Seguinte.
  9. Feito! Clique em Abrir painel de controle. Redirecionará para http://<IP_DO_SERVIDOR>:8181 (ou a porta que você escolheu).
  10. Inicie sessão com o usuário e senha que acabou de criar.

setup-adguard.webp

Bem-vindo ao painel do AdGuard Home! Você verá estatísticas (ainda vazias) e opções.

login-adguard.webp

Configurações Recomendadas no AdGuard Home

Antes de configurar os seus dispositivos, recomendo alguns ajustes:

  1. (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.
  2. (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 pasta adguard-home/certs). Modifique o seu docker-compose.yml para adicionar estes volumes:
      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:ro
      Reinicie o container (sudo 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.pem e /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).
  3. 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.

login-router.webp

  1. Acesse o painel de administração do seu roteador. Normalmente está em 192.168.1.1 ou 192.168.0.1. A senha costuma estar em uma etiqueta embaixo do roteador. Se não, contate o seu provedor.
  2. Procure a seção de configuração LAN, Rede Local ou DHCP.
  3. Localize os ajustes de Servidor DNS.
  4. Desative a opção de “Usar DNS do provedor” ou similar.
  5. 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.
  6. DNS Secundário (Opcional):
    • Pode colocar um DNS público como 1.1.1.1 (Cloudflare) ou 8.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.
  7. Salve as alterações e aplique a configuração. O roteador pode reiniciar.

config-router.webp

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 .

Voltar ao blog