Când vine vorba de adblocking la nivel de rețea, Pi-hole e prima recomandare pe care o găsești peste tot. E matur, are comunitate mare, funcționează bine dar are o limitare care pentru un homelab serios devine rapid o problemă: nu poate gestiona zone DNS private.

Voiam un domeniu .local pentru homelab — să pot accesa serviciile prin nume în loc de IP-uri. proxmox.local, nas.local, vaultwarden.local. Plus forwarding condiționat și split DNS pentru ill.ro — să rezolve intern altfel decât extern. În Pi-hole n-am găsit cum să fac asta în mod curat. În Technitium DNS, toate astea sunt funcții de bază.

Ce e Technitium DNS

Technitium DNS Server e un resolver DNS open-source scris în .NET, cu interfață web completă. Gândește-te la el ca la un DNS din Windows Server — zone forward, zone reverse, forwarderi condiționali, DNSSEC, DoH, DoT — dar gratuit, pe Linux, într-un container de 512MB RAM.

Nu e un proiect obscur: are versiuni regulate, documentație bună și e recomandat frecvent în comunitatea homelab ca alternativă serioasă la Pi-hole pentru cei care au nevoie de mai mult decât adblocking simplu.

Instalare — 2 minute cu Proxmox Helper Scripts

Rulează ca LXC pe Proxmox, instalat cu Proxmox Helper Scripts:

bash -c "$(wget -qLO - https://github.com/community-scripts/ProxmoxVE/raw/main/ct/technitium-dns.sh)"

Scriptul creează un LXC Debian minimal, instalează Technitium DNS și îl pornește automat. La final îți dă IP-ul și portul interfeței web. Resursele consumate sunt neglijabile — 1 vCPU, 512MB RAM, câțiva GB disk.

După instalare, accesezi interfața la http://<ip-lxc>:5380, setezi parola de admin și ești gata. Cred ca daca nu era proxmox helper scripts nu descopeream multe proiecte misto care imi plac azi.

Adblocking — blocklist-urile folosite

Technitium are suport nativ pentru blocklist-uri în format hosts și wildcard. Configurezi din Settings → Blocking și adaugi URL-urile listelor. Eu folosesc trei:

  • Steven Black hosts — lista clasică, consolidată din mai multe surse:
    https://raw.githubusercontent.com/StevenBlack/hosts/master/hosts
  • OISD Big — una din cele mai complete liste de adblocking, actualizată frecvent:
    https://big.oisd.nl/
  • Hagezi Multi — blocklist agresiv cu wildcard pentru domenii de tracking și malware:
    https://raw.githubusercontent.com/hagezi/dns-blocklists/main/wildcard/multi-onlydomains.txt

Technitium actualizează listele automat la intervalul configurat. Poți vedea câte domenii sunt blocate per listă și poți adăuga excepții (allowlist) pentru domenii blocate greșit.

Față de Pi-hole, diferența e că Technitium suportă wildcard blocking nativ — *.tracker.com blochează toate subdomeniile fără să le enumerezi individual. Hagezi Multi profită exact de asta.

Zone DNS private — domeniul .local pentru homelab

Acesta e motivul principal pentru care am ales Technitium în loc de Pi-hole. Din Zones → Add Zone, creezi o zonă autoritativă pentru orice domeniu vrei:

Am două zone private:

  • homelab.local — toate serviciile din cluster: proxmox.homelab.local, nas.homelab.local, vaultwarden.homelab.local etc.
  • O a doua zonă pentru alte resurse interne

Adaugi recorduri A, CNAME, PTR exact ca într-un DNS autoritativ clasic. Dacă adaugi un serviciu nou în homelab, adaugi un record în zonă și imediat e rezolvabil prin nume în toată rețeaua — fără să modifici fișiere /etc/hosts pe fiecare dispozitiv.

Split DNS pentru ill.ro

Split DNS înseamnă că același domeniu se rezolvă diferit în funcție de unde vine cererea. Pentru ill.ro: intern vreau să ajung la IP-ul intern al serverului, extern la IP-ul public.

În Technitium, creezi o zonă locală pentru ill.ro cu recordul A spre IP-ul intern. Cererile din rețeaua de acasă rezolvă ill.ro la IP-ul intern — traficul nu mai iese pe internet și se întoarce înapoi. Cererile de pe internet merg la DNS-ul public normal.

Pi-hole nu are această funcționalitate nativ. Technitium o rezolvă cu 3 click-uri.

Forwarderi și configurare generală

Din Settings → Forwarders, configurezi unde se duc cererile care nu sunt rezolvate local. Eu folosesc Cloudflare DoH (https://cloudflare-dns.com/dns-query) ca forwarder primar cu DNS over HTTPS — cererile DNS sunt criptate între LXC și Cloudflare.

Poți configura și forwarderi condiționali — dacă cineva întreabă de *.homelab.local, rezolvă local; altfel trimite la Cloudflare. Util dacă ai mai multe zone sau rețele.

Integrare în rețea

Pe ER605 (Omada), setezi IP-ul LXC-ului cu Technitium ca DNS server primar în DHCP settings. Toate dispozitivele din rețea primesc automat Technitium ca resolver — fără configurare manuală per dispozitiv.

Recomand să setezi un DNS secundar public (ex: 1.1.1.1) ca fallback, în caz că LXC-ul e down în timpul unui update sau restart Proxmox.

Concluzie

Dacă vrei doar adblocking simplu, Pi-hole e suficient și are o interfață mai prietenoasă pentru începători. Dacă ai nevoie de zone DNS private, split DNS, forwarderi condiționali sau orice seamănă cu un DNS server real — Technitium e alegerea corectă.

Pentru un homelab cu Proxmox, servicii multiple și un domeniu intern, Technitium face treaba unui Windows DNS Server fără licență, fără Active Directory și fără un VM de 4GB RAM. Un LXC de 512MB care rulează de luni fără să dea semne de oboseală si ai si backup, restore, te notifica cand e momentul sa faci update… very nice!

Posturi din aceeași serie:

Pentru ca iLL invata de nevoie, uite ce l-a impins nevoia sa faca…

Nu am acordat de foarte multa atentie blogului asta, atentie din punct de vedere a timpului in care se incarca pagina, de cand vizitatoru’ da click, pana atunci cand termina de afisat si ultimul pixel. Ca mai pui o secunda si a iesit si de pe site… asta e alta poveste, vizitatorii mei “nu e fideli cauzei”, nu ca ar exista vreo cauza!

Mai departe, ghidul va rog: Continue reading

Ptiu, drace!

Cartman

A mai trecut o saptamana si ma aproprii cu pasi marunti (gura mica si joc de glezne) de concediu. Vai mon sher cat o sa dorm! O sa ma perpelesc asa pe pat pana pe la un 12 decent, o sa mananc, o sa ma perpelesc iar… si poate o sa ajung pe la IKEA sa imi iau o masuta de cafea, ca deh astea se fac cel mai bine in concediu.

A trecut repede sapatamana asta, a fost concertul lu’ Ma’doina’, ne-am balacarit pe net ca a fost foarte naspa la baba la cantare, au facut si romanii paparazzism (evident, nu de calitate) si am aflat ca mezina lu Ma’doina s-a jucat la hotel, nu ca ne-ar fi interesat! Spaga data la personalul hoitelului, asta ca sa stea cu telefonul si sa filmeze te miri ce banalitati fac oaspetii (a se citi Madonna, gagica-su si plozii). Unele filmari aratau ca filmate de pe camerele de supraveghere ale hotelului de niste blonavi de parkinson… Trecem peste subiectul Madonna?

Tot saptamana asta mi-am facut de lucru pe server:
1. Am descoperit ca imi declaram SOA aiurea (in serverul de DNS) si am cautat pe google, am rezolvat si am updatat pentru toate domeniile care le hostez.
2. I-am pornit bloaga lu’ ciupercutza – o ce minunat ca am mai avut ce bricola, ca a luat o tema de pe net care era hacuita si iti baga 3 link-uri aiurea (codat footer.php cu base64_encode), ca am decodat si refacut 😀 Dupa ce am codat si refacut m-a impins curiozitatea sa verific pe site-ul celor care au dezvoltat tema (adica aici) daca chiar ei distribuie tema cu link-uri gen cialis, viagra, farmacy, laptops & stuff (adica spam). Nu, tema de la ei era curata. Ciupercutza a luat din alta parte tema cu mizerii.
Updatati-va linkurile bre! ciupercutza.ro – sa fim intelesi!
3. Daca tot am ajuns pe partea tehnica, trebuie sa spun ca eu cu CIA incercam sa facem o a 2-a locatie (de backup) pentru manunchiul de site-uri, in limita timpului disponibil. Mai ma gandeam la un server de email (dedicat, multiple domenii, multiple posibilitati)… Pai ce ma noi nu putem? NS-uri, WWW-uri si SQL-uri – tiribombe si smochine!

Altele? Struguri si purgatie pentru televiziunile romanesti! Nu are nici o legatura cu ce am scris mai sus, dar daca te uiti si mai sus o sa vezi lagatura cu Madonna si paparazzi din Romania. Mai am 1 ora si intru in weekend – un heirup ceva cu 5 minute inainte sa plecam de la munca?