Hejto.pl
Dodaj post

Wpisz coś do wyszukania (minimum 2 znaki)

Wpis użytkownika kontrabanda w Dyskusje

Osobistość

w Dyskusje

15piorunów

Okej, 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)

Autorytet4piorunów

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

Autorytet0piorunów

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

Osobistość0piorunów

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