Možná vás při čtení článku na webu obtěžují vyskakovací reklamy. Se všemi těmi reklamami, jak je zablokovat? Nainstalujte Pi-hole do Dockeru a používejte Pi-hole jako celosíťový blokovač reklam a zlepšujte výkon sítě.
V tomto tutoriálu se naučíte, jak nastavit a spustit Pi-hole v kontejneru Docker pro blokování reklam a webových stránek. Zvuk vzrušující? Čtěte dále a dozvíte se více!
Předpoklady
Tento tutoriál bude praktickou ukázkou. Pokud je chcete sledovat, ujistěte se, že máte následující:
- Docker nainstalovaný ve Windows 10 (ale bude fungovat jakýkoli podporovaný operační systém).
- Počítač s Windows 10 – Tento výukový program používá Windows 10 OS Build 19042.1165.
Vytvoření dvou trvalých svazků dockeru
Při nastavování Pi-hole v kontejneru Docker budete muset nejprve vytvořit svazek Docker pro uložení aplikace Pi-hole a konfigurace DNS.
Otevřete PowerShell jako správce a poté spusťte níže uvedené příkazy pro Docker k vytvoření dvou svazků (volume create
) s názvem pihole_app
a dns_config
. Názvy můžete také změnit podle svých preferencí.
docker volume create pihole_app
docker volume create dns_config
Dále ověřte, že svazky Docker byly úspěšně vytvořeny spuštěním následujícího příkazu, který uvádí všechny svazky Docker dostupné na vašem počítači.
docker volume ls
Níže vidíte dva nově vytvořené svazky s názvem pihole_app
a dns_config
.

Spuštění Pi-hole v kontejneru Docker s proměnnými prostředí
Nyní, když máte k dispozici dva trvalé svazky, jste připraveni spustit kontejner Docker pomocí základního obrazu Dockeru Pi-hole. Nejprve si však musíte poznamenat vaši místní IP adresu.
Spusťte níže uvedený příkaz a získejte svou místní IP adresu. Ke správnému spuštění jediného příkazu Dockeru je nezbytná vaše místní IP adresa.
ipconfig /all
Dále spusťte níže uvedený příkaz a vytáhněte pihole/pihole
základní obrázek z centra Docker. Hodnoty odpovídajícím způsobem nahraďte pomocí níže uvedené tabulky jako referenční hodnoty. Níže uvedená tabulka vysvětluje každý příznak účelu příkazu.
docker run --name=pihole -e TZ=Asia/Manila -e WEBPASSWORD=password -e SERVERIP=YourIPAddressHere -v pihole_app:/etc/pihole -v dns_config:/etc/dnsmasq.d -p 81:80 -p 53:53/tcp -p 53:53/udp --restart=unless-stopped pihole/pihole
Příznaky příkazu Pi-hole Docker
Příkazové příznaky | Definice |
—name=pihole | Pojmenuje kontejner Docker jako pihole. Pokud na vašem počítači již existuje kontejner se stejným názvem | , dojde k chybě
-e TZ=Asie/Manila | Proměnná prostředí pro časové pásmo. Pro tento výukový program byla použita Asie/Manila, ale můžete zadat cokoliv, co má stejný formát uvedený v GitHubu. |
-e WEBPASSWORD=heslo | Nastaví heslo pro rozhraní Pi-hole. |
-e SERVERIP=Vaše IPAdresa zde | Nastavte svou IP adresu pro kontejner Docker. Později to znovu použijete pro fungování Pi-hole. |
-v pihole_app:/etc/pihole | Připojí svazek pihole_app a použije podadresář /etc/pihole pro ukládání souborů Pi-hole |
-v dns_config:/etc/dnsmasq.d | Připojí svazek dns_config a použije podadresář /etc/dnsmasq. d pro ukládání konfigurací DNS podle potřeby. |
p 81:80 -p 53:53/tcp -p 53:53/udp | Mapuje porty hostitelského počítače na porty kontejneru Docker (port 81 v mapách hostitelského počítače na port 80 kontejneru Docker) |
—restart=unless-stoppped | Nastaví zásady restartování, aby se kontejner Docker vždy restartoval, pokud jej uživatel ručně nezastaví. |
pihole/pihole | Říká příkazu docker run, aby použil oficiální základní obraz pihole/pihole z centra Docker. |
Níže můžete vidět, že příkaz vytáhne pihole/pihole
základní obrázek z Docker Hub. Jakmile je pihole/pihole
Obrázek se stáhne do vašeho počítače, příkaz automaticky pokračuje a řídí se parametry, které jste v příkazu nastavili.

Po vytažení pihole/pihole
základní obrázek, uvidíte výstup podobný tomu níže, což znamená, že již můžete spustit řídicí panel Pi-hole z kontejneru.

Přístup k webovému rozhraní řídicího panelu Pi-hole
Jakmile je spuštěn kontejner Docker, který jste vytvořili, můžete nyní přistupovat k řídicímu panelu Pi-hole. Řídicí panel Pi-hole je grafické rozhraní, které vám umožňuje konfigurovat, které reklamy chcete blokovat, buď prostřednictvím vaší vlastní černé listiny, nebo seznamů zakázaných položek spravovaných komunitou.
Přejděte na http://localhost:81 ve vašem prohlížeči, protože jste dříve namapovali port 81
hostitelského počítače na port 80
kontejneru Docker. Váš webový prohlížeč přitom přesměruje stránku na řídicí panel Pi-hole.
Pokud při spuštění předchozího
docker
nastavíte jiný port změňte port pro přístup k řídicí desce Pi-hole. Například http://localhost:n, kde „n“ představuje číslo portu.
Nyní se přihlaste k ovládacímu panelu Pi-hole pomocí hesla, které jste nastavili spuštěním docker
v části „Spuštění kontejneru Pi-hole Docker s proměnnými prostředí“. Pro tento tutoriál je heslo „password“ (bez uvozovek).

Jak vidíte níže, kontejner Pi-hole aktivně neblokuje reklamy a je v pohotovostním režimu a čeká na vyhodnocení toho, co nazývá „dotazy“ nebo žádosti o reklamy.

Nasměrování hostitelského serveru DNS na IP adresu Pi-hole
Když běží server Pi-hole, jak začnete blokovat reklamy ve vašem místním systému? Musíte sdělit svému místnímu systému, aby směroval všechny požadavky na IP adresu Pi-hole a zablokoval všechny odpovídající reklamy. Přečtěte si, jak na to!
1. Klepněte pravým tlačítkem myši na ikonu nastavení sítě na hlavním panelu systému Windows a vyberte možnost Otevřít nastavení sítě a Internetu zobrazíte seznam všech síťových adaptérů ve vašem počítači.

2. Dále klikněte pravým tlačítkem na síťový adaptér a zvolte Vlastnosti . Zobrazí se okno nastavení vašeho síťového adaptéru.

3. Vyberte Internet Protocol Version 4 (TCP/IPv4) ze seznamu v části Sítě a poté klikněte na Vlastnosti knoflík.

4. Nakonfigurujte vlastnosti IPv4 pomocí následujícího:
- Vyberte možnost Použít následující adresu IP pro nastavení statické IP adresy. Přiřazení statické adresy IP hostitelskému počítači umožňuje dalším zařízením připojit se a používat blokátor reklam. Výchozí brána pro router se liší v závislosti na nastavení poskytovatele ISP ve vaší zemi.
- Vyberte možnost Použít následující adresy serveru DNS možnost konfigurace serveru DNS a přidání serveru DNS do Preferovaný server DNS pole. Zadejte IP adresu serveru Docker, kterou jste nastavili z předchozího
docker
v části „Spuštění kontejneru Pi-hole Docker s proměnnými prostředí“. - Přidejte alternativní server, jako je server Google 8.8.8.8, do Alternativního serveru DNS a klikněte na OK . Alternativní server DNS slouží jako server DNS v případě, že se kontejner Pi-hole Docker z nějakého důvodu zhroutí. Alternativnímu serveru DNS můžete dát jinou hodnotu, kterou preferujete.

Konfigurace DNS jednoho zařízení
Za předpokladu, že máte smartphone nebo jakékoli jiné zařízení připojené ke stejné síti, můžete nasměrovat server DNS tohoto zařízení tak, aby odpovídal IP adrese hostitele. V tomto tutoriálu je smartphone připojen ke stejné síti.
1. V nastavení bezdrátové sítě smartphonu klepněte na Ručně a zadejte IP adresu hostitelského počítače. Můžete také přidat alternativní IP adresy pro případ, že Pi-hole selže.
Rozhraní nastavení bezdrátové sítě na chytrých telefonech se navzájem liší.

2. Nyní navštivte některé webové stránky, které jsou plné reklam ve webovém prohlížeči vašeho smartphonu.
V tomto příkladu byly webové stránky Daily Mail a New York Times navštěvovány opakovaně po dobu 5–10 minut. Správce živého prohlížeče na řídicím panelu Pi-hole zobrazuje počet blokovaných reklam ze zařízení, jak je uvedeno níže.
Sloupcové grafy jsou nedávným přírůstkem do nejnovější verze Pi-hole v době psaní tohoto článku. Některé starší verze mají místo toho spojnicové grafy.

Povolení blokování v celé domácí síti prostřednictvím nastavení routeru
Spíše než konfigurovat server DNS na jednom zařízení, zkuste nakonfigurovat servery DNS pro všechna zařízení v nastavení routeru. V závislosti na vašem routeru může nebo nemusí existovat ustanovení pro použití adresy IP.
U této ukázky router neumožnil přístup k měnícím se serverům DNS a DHCP. Takže domácí síť nebyla v tomto tutoriálu prozkoumána úplně podrobně kvůli omezením routeru.
V ukázkovém zobrazení správce můžete být schopni zakódovat IP server DNS stejným způsobem, jako to bylo provedeno na jediném zařízení. Tato ukázka používá router Prolink PRS1841U-v2 uzamčený pro ISP.
Konfigurační rozhraní DNS se liší router od routeru, ale nastavení vypadá jako níže.

Můžete také zakázat DHCP server ve směrovači a poté povolit DHCP server v Pi-hole. Ukázková diskuse v komunitě Pi-hole to ukazuje podrobněji.
Blokování webových stránek prostřednictvím panelu Pi-hole Dashboard
Výchozí instalace Pi-hole blokuje ve výchozím nastavení přibližně 92 725 webů, ale můžete také přidat další weby prostřednictvím blacklistů od výrobce Pi-hole a dalších seznamů sdílených fanoušky Pi-hole.
1. Uložte webové stránky k blokování do textového souboru s vaším preferovaným názvem. V tomto příkladu se soubor jmenuje blocklist.txt .
2. Spusťte docker
příkazem níže zkopírujte blocklist.txt soubor (cp blocklist.txt
) do svazku kontejneru Docker v souboru s názvem blacklist.txt . Ponechte blacklist.txt soubor na svazku Dockeru, aby jej Pi-hole automaticky detekoval.
docker cp blocklist.txt d70:/etc/pihole/blacklist.txt
3. Nakonec znovu přejděte na ovládací panel Pi-hole. Klikněte na Nástroje nabídky v levém panelu a poté Aktualizovat gravitaci odkaz. Nakonec klikněte na Aktualizovat k načtení aktualizovaného seznamu adres URL pro Pi-hole k blokování.

Úspěšná aktualizace bude vypadat jako ta níže.

Aktualizace seznamu blokovaných webů prostřednictvím konzole
Možná dáváte přednost spouštění příkazů konzoly před navigací na řídicím panelu Pi-hole. Pokud ano, můžete spustit příkaz docker v PowerShellu a blokovat weby. Spusťte docker exec
příkaz níže k vytvoření interaktivní terminálové relace s pihole_app
Docker kontejner, který umožňuje spouštění příkazů.
docker exec -it pihole_app /bin/bash
Jakmile je terminálová relace otevřena, spusťte níže uvedený příkaz a aktualizujte černou listinu adres URL Pi-hole.
pihole -g
Spusťte znovu
pihole -g
čas od času, aby váš blokovač reklam zůstal aktualizován.
Blokování webových stránek prostřednictvím seznamů adres URL spravovaných komunitou
Některé adresy URL jsou určeny k tomu, aby je jejich přispěvatelé pravidelně aktualizovali, a některé nikoli, takže nahrání černé listiny ze starého seznamu nemusí odrážet nejnovější změny.
Využijte funkci správy skupin seznamu bloků Adlist Pi-hole. Na řídicím panelu Pi-hole klikněte na Správa skupiny → Seznamy reklam nabídce na levém panelu a poté klikněte na Přidat vyberte seznam adres URL, které chcete přidat do Pi-hole.

Závěr
V tomto tutoriálu jste se naučili, jak stáhnout obraz Pi-Hole Docker, vyzkoušet aktivní naslouchání webového rozhraní Pi-hole, otestovat externí zařízení pro připojení k Pi-hole. Také jste se dozvěděli, jak blokovat reklamy a webové stránky, že jste viděli řídicí panel Pi-hole v akci, když je blokuje.
Proč s těmito znalostmi nepoužít jakýkoli hostitelský počítač k blokování reklam na jiná připojená zařízení ve stejné síti?