Înapoi la blog
August 19, 2026Ghiduri

Cum să configurezi AdGuard Home pe un VPS

Instalează AdGuard Home pe Ubuntu, finalizează expertul de primă rulare, blochează interfața web, activează DNS-over-HTTPS și DNS-over-TLS, îndreaptă dispozitivele către resolverul tău și evită să rulezi un server DNS deschis pe care tot internetul îl poate abuza.

Cum să configurezi AdGuard Home pe un VPS

AdGuard Home este un DNS sinkhole auto-găzduit și un resolver în stil recursiv cu interfață web. Poate bloca reclame, trackere și domenii malware pentru fiecare dispozitiv care îl folosește ca DNS — telefoane, laptopuri, televizoare inteligente și alte proiecte VPS. Spre deosebire de o extensie de browser, funcționează chiar și pentru aplicații care ignoră fișierele hosts. Rularea pe un VPS e utilă când vrei același filtru în deplasare sau când nu vrei un Raspberry Pi în rețeaua de acasă.

Valoarea implicită periculoasă pe care nu trebuie să o livrezi este un resolver deschis: dacă UDP/TCP 53 e accesibil din tot internetul fără control de acces, străinii vor folosi VPS-ul tău pentru amplificare DNS și vei primi plângeri de abuz. Acest ghid instalează AdGuard Home pe Ubuntu, leagă DNS de localhost sau de o interfață WireGuard privată decât dacă expui deliberat DNS criptat, pune tabloul de bord pe HTTPS și arată cum laptopurile și telefoanele pot folosi DNS-over-HTTPS (DoH) sau DNS-over-TLS (DoT) fără a deschide portul clasic 53 către lume.

La ce e bun AdGuard Home

Comparația obișnuită e Pi-hole. AdGuard Home e un singur binar cu interfață web încorporată, front-end-uri DNS criptate opționale și setări per client. Îl poți rula în Docker sau ca serviciu systemd. Pe un VPS Hiddence se potrivește bine cu un VPN privat: dispozitivele se alătură WireGuard, trimit DNS către VPS prin tunel și nu expun niciodată public portul 53.

  • Blocare la nivel de rețea fără a instala o aplicație pe fiecare dispozitiv
  • DoH (443) și DoT (853) ca DNS să nu fie text clar pe Wi-Fi public
  • Jurnal de interogări și statistici ca să vezi ce dispozitiv vorbește cu ce domeniu
  • Upstream-uri personalizate (Quad9, Cloudflare sau propriul Unbound)
  • Amprentă mică — un VPS de 1 GB poate filtra o gospodărie plus câțiva clienți extra

Cerințe

Ai nevoie de un domeniu dacă vrei un certificat de încredere pentru DoH/DoT și pentru tabloul de bord. Poți testa mai întâi pe HTTP și IP-ul serverului, dar nu-l lăsa așa. Dacă systemd-resolved deține deja portul 53 pe Ubuntu, îl vom elibera înainte ca AdGuard Home să lege DNS.

  • VPS Ubuntu 22.04 sau 24.04 cu root/sudo
  • 1 GB RAM e suficient pentru uz personal
  • Un domeniu sau subdomeniu (dns.example.com) cu o înregistrare A către VPS
  • Acces SSH; WireGuard opțional dacă vrei DNS doar în interiorul unui tunel

Pasul 1: Eliberează portul 53 și instalează AdGuard Home

Ubuntu Server rulează adesea systemd-resolved ca stub pe 127.0.0.53:53. AdGuard Home vrea 53 pe interfețele pe care le alegi. Instalatorul poate face asta, dar a o face explicit evită un DNS pe jumătate stricat pe VPS-ul însuși (serverul trebuie totuși să rezolve pachete).

bash
ssh root@YOUR_VPS_IP
apt update && apt -y upgrade
apt -y install curl ca-certificates

# See who owns port 53:
ss -tulpn | grep ':53'

# Typical Ubuntu fix: stop stub listener, point the OS at a temporary resolver
mkdir -p /etc/systemd/resolved.conf.d
cat >/etc/systemd/resolved.conf.d/adguardhome.conf <<'EOF'
[Resolve]
DNS=1.1.1.1
DNSStubListener=no
EOF
ln -sf /run/systemd/resolve/resolv.conf /etc/resolv.conf
systemctl restart systemd-resolved

curl -s -S -L https://raw.githubusercontent.com/AdguardTeam/AdGuardHome/master/scripts/install.sh | sh -s -- -v

Pasul 2: Expertul de primă rulare

Instalatorul tipărește un URL, de obicei http://YOUR_IP:3000/. Deschide-l, creează un utilizator administrator cu o parolă lungă și alege adresele de ascultare. Pentru un VPS public, o primă configurație sigură e: Admin Web pe 127.0.0.1:3000 (vei pune Caddy în față) sau pe 80/443 după TLS; ascultare DNS pe 127.0.0.1:53 plus o interfață VPN, nu pe 0.0.0.0:53. Dacă chiar ai nevoie de DNS în stil LAN pentru prieteni, preferă DoH/DoT pe 443/853 cu autentificare, nu 53/udp deschis.

Alege servere DNS upstream în care ai încredere. Mulți folosesc https://dns.quad9.net/dns-query sau Cloudflare. Activează cereri paralele dacă vrei failover mai rapid. Pornește listele de filtre implicite, apoi adaugă mai multe mai târziu — activarea a cincizeci de liste în ziua unu face depanarea imposibilă când un site se strică.

Dacă nu poți deschide portul 3000 de pe laptop, folosește un tunel SSH: ssh -L 3000:127.0.0.1:3000 root@YOUR_VPS_IP și deschide http://127.0.0.1:3000/

Pasul 3: Reverse proxy și HTTPS pentru tabloul de bord

Odată ce expertul se termină, AdGuard Home mută de obicei interfața pe portul 80. Asta se ciocnește cu Caddy sau Nginx dacă găzduiești și site-uri. Un model curat e: web AdGuard Home pe 127.0.0.1:8080, DNS pe 127.0.0.1:53, Caddy pe 443 atât pentru tablou cât și pentru DoH.

bash
# In AdGuard Home settings, bind the web UI to 127.0.0.1:8080
# Example Caddyfile:

dns.example.com {
    reverse_proxy 127.0.0.1:8080
}

# After Caddy is up:
curl -I https://dns.example.com

Pasul 4: Activează DNS-over-HTTPS și DNS-over-TLS

În setările Encryption, activează criptarea, setează numele serverului la dns.example.com și îndreaptă AdGuard Home către fișierele tale de certificat — fie cele pe care le stochează Caddy, fie certificatele pe care AdGuard Home le obține el însuși dacă ascultă pe 443. DoH e de obicei https://dns.example.com/dns-query. DoT e dns.example.com:853. Dacă Caddy deține deja 443, lasă Caddy să termine TLS și să reverse-proxy calea DoH către portul HTTP DoH simplu al AdGuard Home, sau lasă AdGuard Home să asculte pe 443 și pune tabloul pe alt subdomeniu.

Verifică cu un client înainte să schimbi fiecare dispozitiv. Pe un laptop cu un curl modern:

bash
curl -H 'accept: application/dns-json' 'https://dns.example.com/dns-query?name=example.com&type=A'

# DoT test (kdig from knot-dnsutils, if installed):
# kdig @dns.example.com +tls-ca +tls-host=dns.example.com example.com

Pasul 5: Îndreaptă dispozitive reale către resolverul tău

Windows 11 și versiunile recente de Android pot folosi un șablon DoH. iOS poate folosi un profil de configurare sau un client care suportă DoH. Firefox și Chromium permit de asemenea un URL DoH personalizat. Pentru un router de acasă, setează WAN DNS doar dacă routerul suportă DoT/DoH; altfel rulează WireGuard și setează DNS la IP-ul VPN al VPS-ului ca DNS-ul clasic să nu traverseze niciodată internetul.

  • Android 9+: Private DNS (DoT) → dns.example.com
  • Firefox: Setări → Rețea → DNS over HTTPS → URL personalizat https://dns.example.com/dns-query
  • Dispozitive Apple: un mobileconfig semnat sau o aplicație care suportă DoH/DoT
  • Alte VPS: setează resolv.conf sau systemd-resolved la IP-ul WireGuard al acestei instanțe AdGuard
  • Evită să setezi acest IP VPS ca DNS pe rețele publice aleatorii fără criptare

Pasul 6: Firewall — închide DNS recursiv deschis

Aceasta e secțiunea care previne o surpriză urâtă. Permite SSH, HTTPS și opțional 853/tcp pentru DoT. Nu permite 53/udp de la 0.0.0.0/0 decât dacă ai un design foarte specific, limitat ca rată, autentificat — și chiar atunci, probabil n-ar trebui.

bash
ufw allow OpenSSH
ufw allow 443/tcp comment 'dashboard + DoH'
ufw allow 853/tcp comment 'DoT'
# If DNS is only on WireGuard (example iface wg0, 10.8.0.1):
# ufw allow in on wg0 to any port 53 proto udp
ufw enable
ufw status verbose

# Confirm 53 is not public:
ss -tulpn | grep ':53'

Filtre, liste de permisiuni și clienți

Începe cu filtrul DNS implicit AdGuard și o listă malware. Când un site se comportă ciudat, verifică jurnalul de interogări, apoi adaugă o regulă specifică de permisiune în loc să dezactivezi toată blocarea. Folosește nume de clienți (după IP sau ClientID în URL-ul DoH) ca să poți aplica liste mai stricte unui televizor inteligent și liste mai slabe unui laptop de serviciu. Activează căutarea sigură doar dacă chiar o vrei — surprinde oamenii care nu au cerut rezultate Google rescrise.

  • Jurnal de interogări: găsește domeniul blocat, apoi pune-l pe lista albă dacă e un fals pozitiv
  • Setări client: liste de blocare diferite per dispozitiv
  • Clienți nepermisi: blochează intervale pe care nu le deții
  • Limitare de rată: pornește dacă expui vreodată mai mult de o mână de utilizatori

Depanare

Dacă VPS-ul însuși nu poate face apt update, ai stricat DNS-ul local eliberând portul 53 — pune un resolver static în resolved.conf cum e arătat mai sus. Dacă dispozitivele «au internet» dar reclamele încă se încarcă, ocolesc DNS-ul tău (resolveri hardcodați, DoH în browser sau o aplicație cu DNS propriu). Dacă tabloul e gol, te uiți la instanța greșită sau încă lovești portul 3000 după ce expertul a mutat interfața.

  • apt eșuează: verifică /etc/resolv.conf și systemd-resolved
  • Portul 53 ocupat: ss -tulpn, dezactivează ascultătorul stub
  • Erori de certificat DoH: numele de gazdă trebuie să se potrivească cu SAN-ul certificatului
  • Reclame încă vizibile: DoH-ul browserului către alt furnizor trece peste OS
  • RAM ridicat: jurnal de interogări + prea multe liste de filtre — reduce listele și scurtează retenția jurnalului

Listă de verificare de securitate

Interfața web e un panou de administrare. Parolă unică, doar HTTPS și nu publica URL-ul. Ține AdGuard Home actualizat; atât scriptul de instalare cât și interfața expun o cale de actualizare. Restricționează 443 dacă doar dispozitivele tale ar trebui să folosească DoH — HTTP basic auth pe calea DoH sau acces doar WireGuard e mult mai sigur decât un resolver deschis faimos.

  • Fără 53/udp public
  • HTTPS pe tabloul de bord
  • Parolă de administrator puternică, stocată într-un manager de parole
  • Preferă WireGuard + DNS intern pentru dispozitivele familiei
  • Backup AdGuardHome.yaml în afara serverului

Sfaturi

  • Fă backup la /opt/AdGuardHome/AdGuardHome.yaml înainte de fiecare actualizare
  • Folosește un subdomeniu dedicat; nu-l partaja cu un CMS fără legătură
  • Dacă rulezi deja Caddy, lasă Caddy să dețină 443 și ține AdGuard Home pe localhost
  • Documentează URL-ul DoH pentru dispozitivele tale — îl vei uita
  • Asociază cu ghidurile de întărire SSH și firewall ca VPS-ul să nu fie doar «sigur DNS»

AdGuard Home pe un VPS e direct: eliberează portul 53 local, rulează instalatorul, finalizează expertul cu o parolă de administrator puternică, pune interfața pe HTTPS, activează DoH/DoT și ține DNS-ul clasic departe de internetul public. Îndreaptă dispozitivele către endpoint-ul tău criptat sau către un IP VPN, începe cu un set mic de filtre și folosește jurnalul de interogări când ceva se strică. Acesta e un resolver privat pe care îl controlezi cu adevărat — nu un DNS deschis public care îți va lista VPS-ul în baze de date de abuz.