Pi-hole no Raspberry Pi
Um bloqueador pra casa toda, ligado 24 horas num aparelho do tamanho de um baralho. Uns 45 minutos, a maior parte esperando o cartão gravar.
No fim deste guia, todo aparelho que entra no Wi-Fi de casa passa a perguntar pro Pi-hole, sem instalar nada neles. É o que eu uso em casa. No final tem o passo opcional pra levar a proteção pro celular fora de casa.
- Um Raspberry Pi e um cartão microSD de 8 GB ou mais. O que vem com o Pi doado serve, e vai ser apagado.
- A fonte certa pro modelo (tabela abaixo). Carregador de celular costuma não dar conta, e aí o Pi trava do nada.
- Um cabo de rede até o roteador. Dá pra usar Wi-Fi, mas no cabo ele fica mais estável.
- Um PC pra gravar o cartão e acesso ao painel do roteador (usuário e senha dele).
- HD não precisa.
| Modelo | Fonte recomendada | Conector |
|---|---|---|
| Raspberry Pi 3 (todos) e Zero 2 W | 5 V, 2,5 A (12,5 W) | Micro-USB |
| Raspberry Pi 4 | 5 V, 3 A (15 W) | USB-C |
| Raspberry Pi 5 | 5 V, 5 A (27 W); com 3 A funciona pro Pi-hole | USB-C |
01Preparar o Raspberry
Gravar o sistema no cartão
No seu PC, instale o Raspberry Pi Imager e coloque o cartão no leitor. No Imager:
- Device: o modelo do seu Pi.
- OS: escolha Raspberry Pi OS Lite (64-bit). Dependendo da versão do Imager, ela fica dentro de um submenu “other”. A versão Lite não tem área de trabalho, e o Pi-hole não precisa de uma.
- Storage: o cartão. Confira duas vezes: ele vai ser apagado.
- Customisation (é aqui que você economiza teclado e monitor):
- Hostname:
pihole - Localisation: uma cidade do Brasil, pra ajustar fuso e teclado.
- User: um usuário em minúsculas e uma senha. Anote.
- Wi-Fi: só se não for usar cabo.
- Remote Access: ligue Enable SSH com Use password authentication.
- Hostname:
Mande gravar e espere terminar a verificação.
Ligar e entrar no Pi pelo PC
Coloque o cartão no Pi, ligue o cabo de rede e depois a fonte. Espere uns 2 minutos. No PC, abra o Terminal e entre (troque usuario pelo usuário que você criou):
ssh usuario@pihole.localNa primeira vez ele pergunta se confia no aparelho: digite yes e depois a senha. Se pihole.local não for encontrado, procure o Pi na lista de aparelhos conectados do roteador e use o endereço dele, por exemplo ssh usuario@192.168.1.60.
Se ele aparecer como raspberrypi, ou a senha não funcionar, a personalização do Imager não foi aplicada (algumas versões do Imager têm esse bug). Atualize o Imager e grave de novo.
Dar um endereço fixo pro Pi
O roteador vai mandar todo mundo perguntar pra esse endereço, então ele não pode mudar. No painel do roteador, procure por reserva de DHCP (também aparece como “IP fixo”, “DHCP estático” ou “Address Reservation”) e reserve o endereço atual do Pi. Anote esse endereço: ele aparece no resto do guia como 192.168.1.60.
Pra ver o endereço atual, dentro do Pi:
hostname -I02Instalar o Pi-hole
Atualizar o sistema
sudo apt update && sudo apt full-upgrade -y
sudo rebootPode levar alguns minutos. Depois do reboot, entre de novo com o ssh do passo 2.
Rodar o instalador oficial
curl -sSL https://install.pi-hole.net | bashEle abre umas telas azuis com perguntas. Use as setas, a barra de espaço e o Enter:
- Aviso de IP fixo: continue. Você já resolveu isso no passo 3.
- Servidor de DNS de cima (upstream): escolha Quad9 (a versão com filtro e DNSSEC).
- Lista padrão (StevenBlack): pode aceitar. As listas boas entram no passo 7.
- Registro de consultas (query logging): deixe ligado.
- Modo de privacidade: o primeiro (mostrar tudo) é o mais útil pra investigar. É a sua rede, você decide.
No fim, ele mostra o endereço do painel e uma senha. Troque pela sua:
sudo pihole setpasswordAbrir o painel
No navegador do PC, abra http://pihole.local/admin (ou http://192.168.1.60/admin) e entre com a senha.
Ligar as listas certas
No menu lateral, abra Lists. Em Address, cole as duas linhas abaixo juntas (o Pi-hole aceita várias separadas por espaço), escreva “HaGeZi” no comentário e clique em Add blocklist:
https://raw.githubusercontent.com/hagezi/dns-blocklists/main/adblock/pro.txt https://raw.githubusercontent.com/hagezi/dns-blocklists/main/adblock/tif.medium.txt
A primeira é a HaGeZi Pro (anúncio e rastreamento). A segunda é a lista de ameaças na versão média, que cabe folgada num Pi 3 ou 4. Num Zero 2 W, se ficar lento, use só a primeira. Agora aplique: no menu, Tools → Update Gravity → Update. Quando aparecer Done., está valendo.
Ela bloqueia os serviços de VPN. Eu adicionei no meu Pi-hole e o Tailscale parou pra todo mundo da casa por uns 15 minutos. Se quiser impedir que app use DNS próprio, a versão segura é a adblock/doh.txt do mesmo autor, que bloqueia só os servidores de DNS.
03Ligar na casa toda
Apontar o roteador pro Pi
No painel do roteador, procure a configuração de DHCP ou LAN, onde aparecem os servidores de DNS entregues aos aparelhos.
- DNS primário: o endereço do Pi (
192.168.1.60). - DNS secundário: vazio, ou o mesmo endereço do Pi. Não coloque
8.8.8.8ali: os aparelhos usam o secundário quando bem entendem, e o anúncio passa.
Salve. Os aparelhos pegam a configuração nova quando reconectam: desligue e ligue o Wi-Fi do celular, ou espere algumas horas.
Roteador de operadora que não deixa mudar o DNS é comum. Se for o seu caso, veja “O roteador não deixa trocar o DNS” nos problemas comuns.
Testar
Num PC da casa (já reconectado), no Terminal:
nslookup doubleclick.net
nslookup logger.controlium.net
nslookup g1.globo.comNa resposta, o servidor tem que ser o Pi. Os dois primeiros voltam 0.0.0.0 e o terceiro, um endereço normal. Depois veja o Query Log no painel:
O Dashboard dá o resumo:
04Opcional: o celular protegido fora de casa
Fora do Wi-Fi de casa, o celular pergunta pra operadora e o Pi-hole não vê nada. O Tailscale (grátis pra uso pessoal) cria uma rede privada entre os seus aparelhos e pode mandar todos usarem o Pi-hole como DNS, de onde estiverem. É o que eu fiz no meu.
Pi-hole como DNS do Tailscale
- Crie a conta no Tailscale e instale o app no celular.
- No Pi, instale e conecte. O
--accept-dns=falseé importante, porque o Pi é o próprio DNS:Abra o link que ele mostrar e entre com a mesma conta. Anote o endereço do Pi que aparece no painel do Tailscale (começa comcurl -fsSL https://tailscale.com/install.sh | sh sudo tailscale up --accept-dns=false100.). - No painel do Tailscale, em DNS: Add nameserver → Custom, coloque o endereço
100.x.y.zdo Pi e salve. Ligue Override DNS servers. - No Pi-hole: Settings → DNS, troque de Basic pra Expert no canto e marque Permit all origins. Salve.
Com o Tailscale ligado no celular, ele usa o Pi-hole em qualquer lugar. Duas regras: nunca abra a porta 53 do roteador pra internet, e use uma senha forte no painel. Se o Pi cair, desligue o Tailscale no celular e a internet volta.
05Manutenção
- Listas: o Pi-hole atualiza sozinho uma vez por semana, de madrugada.
- Uma vez por mês, entre com
sshe rode:O painel também avisa no rodapé quando tem versão nova.sudo apt update && sudo apt full-upgrade -y sudo pihole -up - Backup: Settings → Teleporter exporta um arquivo com listas e configurações. Se o cartão morrer, você grava outro, reinstala e importa.
- Site ou app quebrou: no Query Log, ache o domínio bloqueado daquele momento e clique em Allow na linha. Pra uma pausa, Disable Blocking no menu lateral desliga o bloqueio por alguns minutos.
O Pi é o único DNS da casa. Se ele cair, os sites param de abrir pra todo mundo: o Wi-Fi continua conectado, mas nada carrega. Pra voltar na hora:
- No painel do roteador, volte o DNS do DHCP pra automático ou pro da operadora.
- Se você usou o DHCP do Pi-hole (veja abaixo), desligue o Pi da tomada e religue o DHCP do roteador. Os dois nunca podem ficar ligados juntos.
- Reconecte os aparelhos. Depois, com calma, veja o que houve com o Pi.
06Problemas comuns
O roteador não deixa trocar o DNS
Muito roteador de operadora trava esse campo. A saída é o Pi-hole assumir o DHCP, que é quem distribui endereço e DNS pros aparelhos. Os dois não podem ficar ligados ao mesmo tempo, então siga nesta ordem:
- No Pi-hole: Settings → DHCP. Ligue o servidor DHCP, informe o endereço do roteador como gateway e uma faixa de endereços (por exemplo de
.100a.200). Salve. - No roteador: desligue o servidor DHCP.
- Reconecte os aparelhos.
Se der errado, religar o DHCP do roteador desfaz tudo.
Funciona no PC mas o celular não bloqueia nada
- Android: em Configurações, procure DNS privado. Se estiver com um provedor, ele passa por cima do Pi-hole. Deixe em automático.
- iPhone com iCloud+: a Retransmissão Privada do iCloud pode fazer o Safari passar por fora do Pi-hole. Pra desligar só em casa, toque no ⓘ ao lado do Wi-Fi e desligue Limitar rastreamento de endereço IP.
- O celular ainda não reconectou: desligue e ligue o Wi-Fi.
Pouca coisa bloqueada, ou alguns aparelhos escapam (IPv6)
Muito roteador entrega também um DNS em IPv6, e os aparelhos usam esse por fora do Pi-hole. Se o roteador tiver opção de DNS IPv6 manual, coloque o mesmo do Pi. Se não tiver, desligar o IPv6 da rede local resolve, e em casa ele não faz falta.
Confira também o “DNS seguro” do navegador (Chrome, Edge e Firefox têm), e se tem VPN ligada.
No Query Log só aparece o roteador como cliente
O roteador está repassando as perguntas em vez de mandar os aparelhos falarem direto com o Pi. O bloqueio funciona igual, você só não vê aparelho por aparelho. Pra ver, use o DHCP do Pi-hole (primeiro item desta lista).
Mudei as listas e nada mudou
Toda mudança de lista precisa do Update Gravity. Se mesmo assim um domínio continuar com a resposta antiga, limpe o cache:
sudo pihole -g
sudo pihole reloaddnsO Pi trava ou reinicia sozinho
Quase sempre é fonte fraca. Pra conferir, no Pi:
vcgencmd get_throttledA resposta throttled=0x0 é o normal. Qualquer outra coisa indica falta de energia: troque pela fonte da tabela lá em cima.
“ssh” não é reconhecido, ou pihole.local não é encontrado
Pesquise “Recursos opcionais” no menu Iniciar e instale o Cliente OpenSSH. No Windows 10 e 11 atualizados ele já vem instalado. Se o nome pihole.local não resolver, use o endereço do Pi que aparece na lista de aparelhos do roteador.
Esqueci a senha do painel
sudo pihole setpasswordFontes
- Pi-hole: pré-requisitos e instalação
- Pi-hole: depois de instalar (roteador, DHCP)
- Raspberry Pi: getting started (Imager e fontes)
- Tailscale: Pi-hole como DNS da tailnet
- HaGeZi DNS blocklists