Tímto článkem navazuji na své starší texty o blokování reklam v operačních systémech. V tomto pokračování se podíváme na to, jak se v průběhu let změnily mé nároky, proč mi původní řešení přestalo vyhovovat a čím jsem ho nahradil.
Nejnovější článek z této série je z roku 2021. Tehdy jsem doporučoval blokování přes DNS servery AdGuardu. Pokud vás zajímá tehdejší nastavení, můžete si ho připomenout v článku [Blokování reklam v operačních systémech II].
AdGuard je i dnes solidní volbou – zejména pokud nepotřebujete vlastní DNS záznamy. Jakmile ale vaše požadavky začnou růst, budete chtít něco víc: spolehlivější DNS server, který je k vám geograficky blíže, možnost spravovat vlastní záznamy a plnou kontrolu nad konfigurací.
Proto jsem postupně začal zkoušet pokročilejší varianty – provozování vlastních DNS serverů Pi-hole a Technitium. Dalším důvodem byla i potřeba vyřešit DNS pro komerční projekt XERXES VPN, kde jsem hledal spolehlivé produkční řešení, schopné odbavit velké množství dotazů a současně fungovat i jako autoritativní DNS server pro interní domény.
V článku se podělím o praktické zkušenosti a porovnám:
- použití veřejných IP adres AdGuardu
- vlastní nasazení Pi-hole
- vlastní nasazení Technitium
Podíváme se, kdy dává smysl které řešení, a v čem má každé z nich své silné a slabé stránky.
AdGuard – snadné blokování pomocí veřejných IP adres bez registrace
Veřejné DNS servery AdGuardu jsou jednoduché na nasazení – stačí nastavit jejich IP adresy do routeru, počítače nebo telefonu a okamžitě začnou filtrovat reklamy a škodlivé domény. Z vlastní zkušenosti ale musím říct, že i když jsou obecně spolehlivé, narazil jsem na občasné problémy s dostupností.
Někdy šlo o problémy v routingu u českých poskytovatelů (zejména O2 a Vodafone), jindy byly krátkodobé výpadky přímo na straně AdGuardu. V obou případech to znamenalo, že DNS přestalo odpovídat a internet se tvářil jako nefunkční.
Velkým plusem ale byla možnost použít IP adresy pro “family filter”, které kromě reklam blokují i stránky s nevhodným obsahem. Ty jsem často nastavoval do telefonů, počítačů a domácích routerů určených pro děti – řešení je rychlé, bezúdržbové a nevyžaduje žádnou složitou konfiguraci.
Služba | IPv4 adresy | IPv6 adresy |
---|---|---|
AdGuard | 94.140.14.14, 94.140.15.15 | 2a10:50c0::ad1:ff, 2a10:50c0::ad2:ff |
Family filter | 94.140.14.15, 94.140.15.16 | 2a10:50c0::bad1:ff, 2a10:50c0::bad2:ff |
Nastavení soukromého DNS AdGuardu v Androidu
Android od verze 9 (Pie) podporuje funkci „Soukromý DNS“ (Private DNS), která umožňuje nastavit vlastní DNS server přímo v systému. V případě AdGuardu tak není potřeba instalovat žádnou aplikaci – stačí zadat jejich DNS hostname a blokování se aplikuje na všechny aplikace v telefonu.
Postup:
- Otevřete nastavení telefonu
- Přejděte do Síť a internet → Pokročilé → Soukromý DNS
U některých výrobců může být položka jinde (např. Připojení → Další nastavení připojení) - Zvolte možnost Název hostitele soukromého DNS
- Nastavte pro běžný filtr:
dns.adguard.com
nebo pro „family filter“ (blokování nevhodného obsahu):
dns-family.adguard.com - Potvrďte a zavřete nastavení
Pokud vše funguje správně, měl by se internet načítat bez problémů a reklamy na většině webů i v aplikacích zmizí.
Pi-hole – blokování reklam nejen pro Raspberry Pi
Ačkoliv název Pi-hole může svádět k tomu, že je určený jen pro Raspberry Pi, realita je jiná – bez problémů ho můžete provozovat i na běžném serveru. Pi-hole funguje jako DNS resolver s blokováním reklam, škodlivých domén a sledovacích skriptů. Podporuje i některé typy vlastních DNS záznamů, i když jen v základní podobě.
Jedním z jeho velkých plusů je přehledné webové rozhraní s dark módem, statistikami, možnost rychlého zapnutí/vypnutí filtrace a jednoduchá správa whitelistu/blacklistu. Pi-hole také umí family filter a lze ho nasměrovat na servery AdGuardu, pokud chcete kombinovat lokální blokování s filtrováním třetí strany. Pi-hole jde o jednoduchost a estetiku – už ne tolik o výkon.
V mém provozu jsem Pi-hole nasazoval v Dockeru – konkrétně:
- běžná filtrace reklam: instance s adresami 10.1.0.8 a fdbe:efca:fe01::8 uvnitř VPN
- family filter: instance s adresami 10.1.0.11 a fdbe:efca:fe01::11 uvnitř VPN
Takto oddělené instance mi umožnily poskytovat různou úroveň filtrování v rámci XERXES VPN podle toho, jaký DNS server si klient pro konkrétní použití objednal.
Hlavní limity Pi-hole, na které jsem narazil:
- výkon – při velkém množství DNS dotazů už Pi-hole začal narážet na své limity
- omezená podpora typů DNS záznamů – Pi-hole není plnohodnotný autoritativní DNS server a DNS záznamy zvládá jen v omezené míře
- omezování klientů – pokud jeden klient poslal více DNS dotazů, začal Pi-hole jeho dotazy zahazovat. Tohle mělo jít změnit v nastavení, ale Pi-hole jakékoliv úpravy nebral v potaz. Tohle bylo problém třeba při napojení webového serveru, nebo routeru Turris, který posílal DNS dotazy z celé domácnosti. To byla největší bolest, kterou jsem s Pi-hole měl.
Další problém nastal, když Pi-hole přešel z Debianu na Alpine Linux. Nepoužíval jsem oficiální docker image beze změn, ale upravoval jsem si ho pro vlastní potřeby. Přechod na Alpine mi rozbil jednoduchý proces aktualizací a musel jsem si vybrat – buď investovat čas do „ohýbání“ Pi-hole, nebo přejít na výkonnější a flexibilnější řešení. Výsledkem byl přechod na Technitium, o kterém bude řeč v další části.
Technitium – pokročilý výkonný plnohodnotný DNS server
Technitium DNS Server je, podobně jako Pi-hole, open-source projekt, ale filosoficky jde o jinou ligu. Je napsaný v C# na platformě .NET 8, což není pro linuxový svět typické, ale díky multiplatformnímu frameworku běží spolehlivě i na Linuxu – včetně provozu v Dockeru.
Oproti Pi-hole působí uživatelské rozhraní spíše stroze a nemá dark mód, ale to vyvažuje obrovským množstvím funkcí a možností konfigurace. Technitium je plnohodnotný autoritativní i rekurzivní DNS server, který kromě filtrování domén zvládá kompletní správu DNS zón, podporuje pokročilé záznamy (včetně SVCB, HTTPS, SSHFP, DANE TLSA), DNSSEC, dynamické aktualizace, přenosy zón (AXFR, IXFR) i šifrované DNS protokoly (DoT, DoH, DoQ).

Hlavní vlastnosti Technitium DNS serveru
- Plná podpora zón – primární, sekundární, stub i conditional forwardery
- Podpora všech běžných typů záznamů (A, AAAA, PTR, CNAME, TXT, MX, SRV, NS, …) i méně běžných typů
- DNSSEC pro rekurzi i autoritativní režim
- Blokování reklam a malwaru na úrovni DNS přes seznamy, včetně regexů a možností přiřazení různých seznamů různým klientům
- Podpora šifrovaných protokolů: DNS-over-TLS, DNS-over-HTTPS (HTTP/1.1, HTTP/2, HTTP/3) a DNS-over-QUIC
- Výkon – asynchronní I/O a testovaná propustnost přes 100 000 dotazů za sekundu na běžném HW
- Další nástroje – vestavěný DHCP server, DNS64, DNSBL/RBL, ochrana proti DNS rebindingu, split horizon, geolokační odpovědi, API pro skripty a aplikace
Nasazení Technitium v prostředí XERXES VPN
Technitium jsem nejprve nasadil v Dockeru v testovacím prostředí, kde jsem si odladil proces buildování a úprav kontejnerů. Poté jsem ho přesunul do produkce a spustil na stejných IP adresách, které předtím používalo Pi-hole.
Proces výměny proběhl v nočních hodinách bez povšimnutí zákazníků a zcela bez problémů. Od té doby Technitium funguje stabilně a zvládá i vyšší zátěž, na kterou Pi-hole narážel.
Healthchecky pro spolehlivost
Abych měl jistotu, že DNS běží i po aktualizacích nebo výpadcích, používám dva druhy healthchecků:
- Interní healthcheck uvnitř kontejneru – ověřuje dostupnost webového administračního rozhraní (port 5380) a funkčnost DNS resolvace.
- Externí healthcheck z hostitele – běží každých 5 minut z crontabu a kontroluje stav kontejnerů přes Docker. Pokud je stav unhealthy, provede restart.
Interní healthcheck:
#!/bin/bash
STDERR() { cat - 1>&2; }
if (curl -m 5 -s -I http://localhost:5380|head -n1|grep -q '200 OK'); then
echo 'Web interface works'; else
echo 'Web interface does not work!'|STDERR; exit 1
fi
if (dig google.cz @127.0.0.1 +short|grep -q '.'); then
echo 'DNS works'; else
echo 'DNS does not work!'|STDERR; exit 1
fi
echo "Healthy"
exit
Code language: Bash (bash)
Externí healthcheck:
#!/bin/bash
STDERR() { cat - 1>&2; }
CONTAINER_NAMES=(ubuntu_technitium ubuntu_technitium_deti)
for container in "${CONTAINER_NAMES[@]}"; do
cd "/root/docker/${container}"
docker compose up -d
STATUS="$(docker inspect --format='{{.State.Health.Status}}' "${container}")"
if [[ "${STATUS}" == "unhealthy" ]]; then
echo "Kontejner ${container} je unhealthy. Restartuji..."|STDERR
docker restart "${container}"; else
echo "${container} is ${STATUS}"
fi
done
exit
Code language: Bash (bash)
Díky těmto opatřením běží Technitium dlouhodobě bez zásahu a splňuje nároky na výkon, flexibilitu a spolehlivost i v produkčním provozu XERXES VPN.
Srovnání AdGuard, Pi-hole a Technitium
Vlastnost / Řešení | AdGuard (veřejné IP) | Pi-hole | Technitium DNS Server |
---|---|---|---|
Typ | Veřejný DNS resolver třetí strany | Lokální resolver s filtrováním | Autoritativní + rekurzivní DNS server s filtrováním |
Instalace | Žádná – stačí nastavit IP/hostname | Docker / Linux / Raspberry Pi | Docker / Linux / Windows / macOS / Raspberry Pi (arm7) |
Výkon | Omezen směrováním a dostupností sítě | Dobré pro domácí/menší síť, horší při velké zátěži | Vysoký výkon, >100k dotazů/s na běžném HW |
Dostupnost | Závislá na provozovateli a routingu ISP | Závislá na ISP, VPN a vašem HW | Závislá na ISP, VPN a vašem HW |
Blokování reklam | Ano, včetně family filter IP adres | Ano, možnost whitelist/blacklist | Ano, možnost regex, různé seznamy pro různé klienty |
Family filter | Ano (oddělené IP adresy) | Ano (oddělená instance nebo upstream) | Ano (vlastní seznamy a pravidla), používám oddělené instance |
Správa vlastních DNS záznamů | Ne | Ano, omezeně | Ano, plná podpora všech běžných typů |
Podpora autoritativních zón | Ne | Ne | Ano (primární, sekundární, conditional forwardery, AXFR/IXFR) |
Šifrované DNS protokoly | Ano, prostřednictvím dns.adguard.com a dns-family.adguard.com | DNSSEC | Ano – DoT, DoH (HTTP/1.1, HTTP/2, HTTP/3), DoQ, DNSSEC |
Statistiky a rozhraní | Ne | Přehledné webové UI se statistikami | Strohé UI bez dark módu, ale rozsáhlé nastavení, statistiky a grafi omezenější |
Konfigurace a správa | Velmi jednoduchá, ale omezená | Jednoduchá, intuitivní | Pokročilá, vyžaduje znalosti DNS |
API | Ne | REST, JSON, standardní HTTP metody (GET, POST, PUT, PATCH, DELETE), ale omezenější | JSON, GET/POST, POST pro upload, Content-Type dle typu, přes api lze 1:1 nastavit vše jako ve webovém rozhraní |
PTR záznamy | Ne | Ano, jen pro lokální záznamy | Ano, plná správa reverzních zón |
Podporované platformy | Jakýkoli klient s možností nastavení DNS | Linux, Raspberry Pi, Docker | Linux, Windows, macOS, Raspberry Pi (arm7), Docker |
Cílové použití | Rychlé nasazení, minimální údržba | Domácí a malé firemní sítě, VPN | Pokročilé, firemní sítě, VPN, menší ISP |
Doporučení podle typu uživatele a potřeby
Účel | Řešení |
---|---|
Pokud chcete jen rychle blokovat reklamy a nechcete řešit žádnou instalaci | → použijte AdGuard (veřejné IP) – stačí nastavit IP adresy nebo hostname dns.adguard.com / dns-family.adguard.com do routeru, telefonu či počítače. Ideální pro rodiče, minimální údržba. |
Pokud chcete mít blokování pod vlastní kontrolou, ale nepotřebujete plnohodnotný autoritativní server | → zvolte Pi-hole – snadná instalace (i na Raspberry Pi), přehledné statistiky, vhodné pro domácí a menší firemní sítě. |
Pokud potřebujete vysoký výkon, kompletní správu DNS zón a pokročilé funkce | → jděte do Technitium DNS Serveru – zvládá i autoritativní zóny, šifrované protokoly, DNSSEC, složité typy záznamů a oddělené profily filtrování pro různé klienty. Hodí se pro firemní nasazení, ISP i projekty s vyšší zátěží. |
Pokud chcete REST API a nevadí vám, že jeho možnosti jsou silně limitované | → zvolte Pi-hole, je čistému REST API mnohem blíže |
Pokud chcete API, přes které nastavíte detaily všeho, jako přes webovou konzoli | → vyberte Technitium, které přes API umí vše, kvůli čemu jste si vybrali tento DNS server |
XERXES VPN – rychlé a bezpečné řešení, s plnou správou DNS pro firmy
XERXES VPN je moderní, rychlá a bezpečná virtuální privátní síť postavená na technologii WireGuard, která poskytuje nízkou latenci, vysokou propustnost a silné šifrování. Součástí řešení je integrovaný Technitium DNS server s možností blokování reklam, škodlivého obsahu a konfigurace profilů filtrování – pro firemní prostředí například NSFW filtr, který blokuje obsah nevhodný pro pracovní nasazení.
Pro firmy nabízím komplexní a plně oddělené VPN řešení navržené na míru. Každá firemní VPN instance je provozována samostatně, s vlastní konfigurací a dedikovanými IP adresami, bez sdílení infrastruktury s jinými zákazníky. V rámci služby mohu provozovat a udržovat i dedikovaný Technitium DNS server s plnou správou firemních domén, autoritativních zón a individuálních blokovacích pravidel podle potřeb společnosti.
XERXES VPN je ideální pro:
- bezpečné propojení poboček a vzdálených zaměstnanců,
- správu a údržbu firemních DNS zón a domén,
- ochranu firemní sítě před nevyžádaným obsahem a škodlivými doménami,
- rodiny, které chtějí bezpečné připojení s kontrolou obsahu,
- uživatele, kteří potřebují stabilní veřejnou IPv4/IPv6 adresu a flexibilní síťové možnosti.
Stačí nainstalovat WireGuard klienta, importovat konfigurační soubor a můžete okamžitě využívat bezpečné, rychlé a individuálně nastavené připojení.
Více informací o tarifech a možnostech spolupráce naleznete na stránce XERXES VPN:
https://itislove.cz/sluzby/xerxes-vpn/

Kdo jsem:
IT nadšenec žijící v Kladně, system engineer, sysadmin, správce informačních systémů.
Proč jsem si založil tento web: někdo si píše deníček, někdo hraje hry, mne linux a svobodný software nepouští ani ve volném čase. Takže sem občas hodím nějakou svojí poznámku, která někomu možná pomůže.
Navíc, kdyby někdo potřeboval pomoc, tak mne může díky webu najít.
S čím vám mohu pomoci:
Počítač: Rád Vám pomohu s omlazením vašeho počítače (desktopu, notebooku) nebo sestavím nový.
Server: Chcete mít vlastní webový server, NAS (síťové úložiště), VPN server nebo CLOUD? Provozovat e-shop? I v tom vám mohu pomoci.
Domácí síť: Potřebujete vyřešit domácí síť, nejste spokojeni s rychlostí a kvalitou WiFi? Potřebujete připojit zařízení k VPN?
Počítač pro home office: Potřebujete nutně počítač pro home office, ale nechcete platit moc?
Počítač pro online výuku: Jste učitel nebo žák/student, či máte doma někoho, kdo je? Nemáte na čem pracovat? Pomohu vám to vyřešit.
Mám rád počítače a moderní technologie, Linux, zejména distribuce Ubuntu a Debian, CentOS a Rhel mi také nejsou cizí. Ve své práci se starám o více než 6000 linuxových serverů (Ubuntu, Red Hat Enterprise Linux, CentOS).
V minulosti jsem kromě správy linuxových serverů získal zkušenosti i se správou Windows Serverů a instalací a konfigurací linuxových a windowsových terminálů (například na docházku, nebo pro jídelny).
Jiří Meitner
IČ: 73763004
Fyzická osoba zapsaná v živnostenském rejstříku
podpora@ITisLove.cz
WhatsApp
Karla Tomana 830
Kladno
Středočeský kraj
272 04
Česko
Systémový inženýr, Linux administáror, správce informačních systémů, admin, IT specialista, IT help

Napsat komentář