Technitium DNS: zone private si split DNS fara Pi-hole

Cand vine vorba de adblocking la nivel de retea, Pi-hole e prima recomandare pe care o gasesti peste tot. E matur, are comunitate mare, functioneaza bine dar are o limitare care pentru un homelab serios devine rapid o problema: nu poate gestiona zone DNS private.

Voiam un domeniu .local pentru homelab — sa pot accesa serviciile prin nume in loc de IP-uri. proxmox.local, nas.local, vaultwarden.local. Plus forwarding conditionat si split DNS pentru ill.ro — sa rezolve intern altfel decat extern. In Pi-hole n-am gasit cum sa fac asta in mod curat. In Technitium DNS, toate astea sunt functii de baza.

Ce e Technitium DNS

Technitium DNS Server e un resolver DNS open-source scris in .NET, cu interfata web completa. Gandeste-te la el ca la un DNS din Windows Server — zone forward, zone reverse, forwarderi conditionali, DNSSEC, DoH, DoT — dar gratuit, pe Linux, intr-un container de 512MB RAM.

Nu e un proiect obscur: are versiuni regulate, documentatie buna si e recomandat frecvent in comunitatea homelab ca alternativa serioasa la Pi-hole pentru cei care au nevoie de mai mult decat adblocking simplu.

Instalare — 2 minute cu Proxmox Helper Scripts

Ruleaza 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 creeaza un LXC Debian minimal, instaleaza Technitium DNS si il porneste automat. La final iti da IP-ul si portul interfetei web. Resursele consumate sunt neglijabile — 1 vCPU, 512MB RAM, cativa GB disk.

Dupa instalare, accesezi interfata la http://<ip-lxc>:5380, setezi parola de admin si esti 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 in format hosts si wildcard. Configurezi din Settings → Blocking si adaugi URL-urile listelor. Eu folosesc trei:

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

Technitium actualizeaza listele automat la intervalul configurat. Poti vedea cate domenii sunt blocate per lista si poti adauga exceptii (allowlist) pentru domenii blocate gresit.

Fata de Pi-hole, diferenta e ca Technitium suporta wildcard blocking nativ — *.tracker.com blocheaza toate subdomeniile fara sa le enumerezi individual. Hagezi Multi profita exact de asta.

Zone DNS private — domeniul .local pentru homelab

Acesta e motivul principal pentru care am ales Technitium in loc de Pi-hole. Din Zones → Add Zone, creezi o zona autoritativa pentru orice domeniu vrei:

Am doua zone private:

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

Adaugi recorduri A, CNAME, PTR exact ca intr-un DNS autoritativ clasic. Daca adaugi un serviciu nou in homelab, adaugi un record in zona si imediat e rezolvabil prin nume in toata reteaua — fara sa modifici fisiere /etc/hosts pe fiecare dispozitiv.

Split DNS pentru ill.ro

Split DNS inseamna ca acelasi domeniu se rezolva diferit in functie de unde vine cererea. Pentru ill.ro: intern vreau sa ajung la IP-ul intern al serverului, extern la IP-ul public.

In Technitium, creezi o zona locala pentru ill.ro cu recordul A spre IP-ul intern. Cererile din reteaua de acasa rezolva ill.ro la IP-ul intern — traficul nu mai iese pe internet si se intoarce inapoi. Cererile de pe internet merg la DNS-ul public normal.

Pi-hole nu are aceasta functionalitate nativ. Technitium o rezolva cu 3 click-uri.

Forwarderi si configurare generala

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 intre LXC si Cloudflare.

Poti configura si forwarderi conditionali — daca cineva intreaba de *.homelab.local, rezolva local; altfel trimite la Cloudflare. Util daca ai mai multe zone sau retele.

Integrare in retea

Pe ER605 (Omada), setezi IP-ul LXC-ului cu Technitium ca DNS server primar in DHCP settings. Toate dispozitivele din retea primesc automat Technitium ca resolver — fara configurare manuala per dispozitiv.

Recomand sa setezi un DNS secundar public (ex: 1.1.1.1) ca fallback, in caz ca LXC-ul e down in timpul unui update sau restart Proxmox.

Concluzie

Daca vrei doar adblocking simplu, Pi-hole e suficient si are o interfata mai prietenoasa pentru incepatori. Daca ai nevoie de zone DNS private, split DNS, forwarderi conditionali sau orice seamana cu un DNS server real — Technitium e alegerea corecta.

Pentru un homelab cu Proxmox, servicii multiple si un domeniu intern, Technitium face treaba unui Windows DNS Server fara licenta, fara Active Directory si fara un VM de 4GB RAM. Un LXC de 512MB care ruleaza de luni fara sa dea semne de oboseala si ai si backup, restore, te notifica cand e momentul sa faci update… very nice!

Posturi din aceeasi serie:

Lasă un comentariu

Acest site folosește Akismet pentru a reduce spamul. Află cum sunt procesate datele comentariilor tale.