Wpis użytkownika kontrabanda w Dyskusje
kontrabandaOsobistość
15piorunówOkej, poradnik o blokowaniu reklam przez DNSy wygrał (57,5% głosów). Okazało się jednak, że chciałbym pokryć nie tylko NextDNSa, ale i też Adguard DNS czy Pi-hole'a.
Niestety w przypadku Adguarda dostaję błędy o rzekomo „zbyt dużej ilości żądań w krótkim czasie”, zaś w przypadku Pi-hole'a nie mam własnego Raspberry Pi, i na dodatek mój dostawca internetu blokuje możliwość zmiany serwerów DNS.
Jeżeli chcielibyście się przyłączyć do tworzenia tekstu w kontekście Adguarda i/lub Pi-hole'a, swoje teksty możecie wysyłać na airdrop@kontrabanda.net. Każda osoba, której tekst zdecydujemy się opublikować, otrzyma na początku wskazanego segmentu adnotację o autorstwie. Z góry dzięki za pomoc!
Komentarze (3)
Pi-hole.
0) Co będzie potrzebne
Raspberry Pi 3/4/5, karta micro-SD (min. 16 GB), zasilacz 5 V.
Połączenie z routerem (najlepiej kablem Ethernet).
System Raspberry Pi OS Lite (64-bit) lub Docker (jeśli wolisz kontenery).
Dostęp do konfiguracji routera, aby zmienić DNS albo zgoda na uruchomienie DHCP z Pi-hole.
---
1) Plan sieci (ustal przed instalacją)
Nadaj Pi stały adres IP, np. 192.168.1.2.
Wybierz sposób działania DNS:
1. Najlepiej – w routerze ustaw DNS na Pi-hole.
2. Jeśli router nie pozwala – Pi-hole przejmuje DHCP i rozsyła siebie jako DNS.
3. Ostateczność – ustaw DNS ręcznie na każdym urządzeniu.
IPv6: jeśli operator wymusza IPv6, trzeba także ustawić Pi-hole jako DNS IPv6 albo wyłączyć IPv6 w sieci.
---
2A) Instalacja na Raspberry Pi OS (bez Dockera)
1. Wgraj Raspberry Pi OS Lite na kartę SD i uruchom Pi. Zaloguj się.
2. Nadaj statyczny IP (przykład dla 192.168.1.2 i bramy 192.168.1.1):
sudo -s
apt update && apt -y full-upgrade
raspi-config nonint do_hostname pihole
cat >> /etc/dhcpcd.conf \<\<'EOF'
interface eth0
static ip_address=192.168.1.2/24
static routers=192.168.1.1
static domain_name_servers=1.1.1.1 1.0.0.1
EOF
systemctl restart dhcpcd
3. Zainstaluj Pi-hole:
curl -sSL https://install.pi-hole.net | bash
W instalatorze wybierz:
Serwer DNS (np. Cloudflare, Quad9).
Domyślne listy blokowania.
Panel WWW – tak.
Adres panelu: http://192.168.1.2/admin. Hasło można zmienić: pihole -a -p.
---
2B) Instalacja w Dockerze (opcjonalnie)
1. Instalacja Dockera:
curl -fsSL https://get.docker.com | sh
usermod -aG docker $USER
2. Plik docker-compose.yml:
services:
pihole:
image: pihole/pihole:latest
container_name: pihole
hostname: pihole
restart: unless-stopped
networks: { lan: { ipv4_address: 192.168.1.2 } }
ports:
- "53:53/tcp"
- "53:53/udp"
- "80:80/tcp"
environment:
TZ: "Europe/Warsaw"
WEBPASSWORD: "ZmienMnie!"
FTLCONF_LOCAL_IPV4: "192.168.1.2"
volumes:
- ./etc-pihole:/etc/pihole
- ./etc-dnsmasq.d:/etc/dnsmasq.d
networks:
lan:
driver: bridge
ipam:
config: [{ subnet: 192.168.1.0/24 }]
3. Uruchom:
docker compose up -d
---
3) Skierowanie ruchu przez Pi-hole
Opcja A – DNS w routerze (najlepsza):
W ustawieniach DHCP routera ustaw DNS = 192.168.1.2. Usuń zapasowy DNS.
Opcja B – Pi-hole jako DHCP:
W panelu Pi-hole → Settings → DHCP → włącz serwer DHCP, podaj zakres adresów i bramę. Wyłącz DHCP w routerze.
Opcja C – ręcznie na urządzeniach:
Na komputerach/telefonach wpisz DNS = 192.168.1.2.
---
4) (Opcjonalnie) Prywatne i bezpieczne DNS
A) Unbound (lokalny resolver)
Instalacja:
sudo apt -y install unbound
sudo wget -O /var/lib/unbound/root.hints https://www.internic.net/domain/named.root
Plik /etc/unbound/unbound.conf.d/pi-hole.conf:
server:
interface: 127.0.0.1
port: 5335
do-ip4: yes
do-ip6: no
do-udp: yes
do-tcp: yes
cache-min-ttl: 60
cache-max-ttl: 86400
qname-minimisation: yes
root-hints: "/var/lib/unbound/root.hints"
Włącz usługę:
sudo systemctl enable --now unbound
W panelu Pi-hole ustaw 127.0.0.1#5335 jako jedyny serwer DNS.
B) DNS-over-HTTPS (Cloudflared)
wget -O cloudflared.deb https://github.com/cloudflare/cloudflared/releases/latest/download/cloudflared-linux-arm64.deb
sudo dpkg -i cloudflared.deb
Plik /etc/cloudflared/config.yml:
proxy-dns: true
proxy-dns-port: 5053
proxy-dns-address: 127.0.0.1
upstream:
- https://1.1.1.1/dns-query
- https://1.0.0.1/dns-query
Uruchom:
sudo systemctl enable --now cloudflared
W Pi-hole ustaw 127.0.0.1#5053 jako DNS.
---
5) Listy blokowania i dostrajanie
Domyślne listy wystarczą na start. Popularne dodatkowe: StevenBlack, OISD full. Whitelist – tylko gdy coś się psuje.
Regex – np. (\\.|^)adservice\\.google\\.com$.
Conditional Forwarding pozwala widzieć nazwy hostów lokalnych.
---
6) Test działania
Na komputerze:
nslookup pi-hole.net 192.168.1.2
nslookup doubleclick.net 192.168.1.2
W panelu sprawdź, czy zapytania rosną i czy są blokady.
---
7) Aktualizacje i kopie zapasowe
Aktualizacja:
sudo apt update && sudo apt -y full-upgrade
pihole -up
Kopia: Settings → Teleporter.
Jeśli Docker – kopia katalogów etc-pihole i etc-dnsmasq.d.
---
8) Typowe problemy
Router wymusza DNS operatora → użyj Pi-hole jako DHCP.
Reklamy przez IPv6 → ustaw DNS IPv6 albo wyłącz IPv6.
Portale logowania w hotelach/na gościnnym Wi-Fi → tymczasowo wyłącz Pi-hole (przycisk Disable).
Wolne odpowiedzi przy Unbound – normalne przy pierwszych zapytaniach (cache się rozgrzewa).
---
9) Jak wyłączyć / wycofać
Przywróć DNS w routerze na automatyczne.
Jeśli Pi-hole działało jako DHCP – wyłącz i włącz DHCP w routerze.
Zatrzymaj Dockera lub sudo systemctl stop pihole-FTL.
@kontrabanda To nie miało być użyte na stronce, tylko skorzystałem z okazji, żeby opisać proces blokowania reklam przez Pi-hole dla użytkowników Hejto.
@dolitd: fajnie, że przesłałeś swoją propozycję, ale mi bardziej chodziło o tekst, który mógłby nakierować osobę nie mającej zbytniej znajomości z technologią. Choć tekst faktograficznie jest w porządku, to zależy nam na tym, żeby też był możliwie najprostszy do zrozumienia.