Natrag na blog
Kolovoz 19, 2026Vodiči

Kako postaviti AdGuard Home na VPS

Instalirajte AdGuard Home na Ubuntu, završite čarobnjak prvog pokretanja, zaključajte web sučelje, uključite DNS-over-HTTPS i DNS-over-TLS, usmjerite uređaje na svoj resolver i ne ostavljajte otvoreni DNS poslužitelj koji cijeli internet može zloupotrijebiti.

Kako postaviti AdGuard Home na VPS

AdGuard Home je samohostani DNS sinkhole i resolver s web sučeljem. Može blokirati oglase, trackere i zlonamjerne domene za svaki uređaj koji ga koristi kao DNS — telefone, prijenosna računala, smart TV i druge VPS projekte. Za razliku od proširenja preglednika, radi čak i za aplikacije koje ignoriraju datoteku hosts. Na VPS je koristan kada želite isto filtriranje na putu ili ne želite Raspberry Pi u kućnoj mreži.

Opasno zadano stanje koje ne smijete pustiti je otvoreni resolver: ako je UDP/TCP 53 dostupan cijelom internetu bez kontrole pristupa, stranci će koristiti vaš VPS za DNS pojačavanje i dobit ćete prijave zlouporabe. Ovaj vodič instalira AdGuard Home na Ubuntu, veže DNS za localhost ili privatno WireGuard sučelje osim ako namjerno izlažete šifrirani DNS, stavlja nadzornu ploču na HTTPS i pokazuje kako prijenosna računala i telefoni mogu koristiti DNS-over-HTTPS (DoH) ili DNS-over-TLS (DoT) bez otvaranja klasičnog porta 53 svijetu.

Za što je AdGuard Home dobar

Uobičajena usporedba je Pi-hole. AdGuard Home je jedna binarna datoteka s ugrađenim web sučeljem, opcionalnim šifriranim DNS frontendovima i postavkama po klijentu. Možete ga pokrenuti u Dockeru ili kao systemd uslugu. Na Hiddence VPS dobro ide uz privatni VPN: uređaji ulaze u WireGuard, šalju DNS na VPS kroz tunel i nikad javno ne izlažu port 53.

  • Blokiranje na razini mreže bez aplikacije na svakom uređaju
  • DoH (443) i DoT (853) tako da DNS ne ide otvorenim tekstom na javnom Wi-Fi
  • Dnevnik upita i statistika da vidite koji uređaj priča s kojom domenom
  • Vlastiti upstream poslužitelji (Quad9, Cloudflare ili vaš Unbound)
  • Mali otisak — VPS od 1 GB filtrira kućanstvo i nekoliko dodatnih klijenata

Zahtjevi

Treba vam domena ako želite pouzdan certifikat za DoH/DoT i nadzornu ploču. Možete testirati na HTTP i IP poslužitelja, ali tako ne ostavljajte. Ako systemd-resolved već drži port 53 na Ubuntuu, oslobodit ćemo ga prije nego AdGuard Home veže DNS.

  • Ubuntu 22.04 ili 24.04 VPS s root/sudo
  • 1 GB RAM dovoljno je za osobnu upotrebu
  • Domena ili poddomena (dns.example.com) s A zapisom na VPS
  • SSH pristup; opcionalno WireGuard ako DNS treba samo u tunelu

Korak 1. Oslobodite port 53 i instalirajte AdGuard Home

Ubuntu Server često pokreće systemd-resolved kao stub na 127.0.0.53:53. AdGuard Home želi 53 na sučeljima koja odaberete. Instalater to umije sam, ali eksplicitan korak sprječava napola pokvaren DNS na samom VPS (poslužitelj i dalje mora razrješavati pakete).

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

Korak 2. Čarobnjak prvog pokretanja

Instalater ispisuje URL, obično http://YOUR_IP:3000/. Otvorite ga, napravite administratora s dugom lozinkom i odaberite adrese slušanja. Za javni VPS sigurno prvo postavljanje je: Admin Web na 127.0.0.1:3000 (kasnije Caddy ispred) ili na 80/443 nakon TLS; DNS na 127.0.0.1:53 plus VPN sučelje, ne na 0.0.0.0:53. Ako vam stvarno treba DNS „kao u LAN“ za prijatelje, preferirajte DoH/DoT na 443/853 s autentifikacijom, ne otvoreni 53/udp.

Odaberite upstream DNS poslužitelje kojima vjerujete. Mnogi koriste https://dns.quad9.net/dns-query ili Cloudflare. Uključite paralelne zahtjeve ako želite brži failover. Uključite zadane popise filtara, ostale dodajte kasnije — pedeset popisa prvog dana čini uklanjanje pogrešaka nemogućim kada se web pokvari.

Ako ne možete otvoriti port 3000 s prijenosnog računala, koristite SSH tunel: ssh -L 3000:127.0.0.1:3000 root@YOUR_VPS_IP i preglednik http://127.0.0.1:3000/

Korak 3. Obrnuti proxy i HTTPS za nadzornu ploču

Kada čarobnjak završi, AdGuard Home obično premjesti sučelje na port 80. To se sudara s Caddyjem ili Nginxom ako hostirate i webove. Čist obrazac: web AdGuard Home na 127.0.0.1:8080, DNS na 127.0.0.1:53, Caddy na 443 i za nadzornu ploču i za 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

Korak 4. Uključite DNS-over-HTTPS i DNS-over-TLS

U postavkama šifriranja uključite šifriranje, postavite ime poslužitelja na dns.example.com i usmjerite AdGuard Home na datoteke certifikata — ili one koje Caddy čuva, ili one koje sam AdGuard Home dobije ako sluša na 443. DoH je obično https://dns.example.com/dns-query. DoT je dns.example.com:853. Ako Caddy već drži 443, neka Caddy skida TLS i obrnuto proksira DoH putanju na običan HTTP DoH port AdGuard Home, ili neka AdGuard Home sluša na 443, a nadzornu ploču stavite na drugu poddomenu.

Provjerite klijentom prije nego što promijenite DNS na svim uređajima. Na prijenosnom računalu s modernim curl:

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

Korak 5. Usmjerite prave uređaje na svoj resolver

Windows 11 i noviji Android umiju DoH predložak. iOS može koristiti konfiguracijski profil ili klijent s DoH. Firefox i Chromium također prihvaćaju vlastiti DoH URL. Na kućnom usmjerivaču WAN DNS mijenjajte samo ako usmjerivač podržava DoT/DoH; inače podignite WireGuard i postavite DNS na VPN IP VPS-a da klasični DNS nikad ne ide preko interneta.

  • Android 9+: Privatni DNS (DoT) → dns.example.com
  • Firefox: Postavke → Mreža → DNS over HTTPS → vlastiti URL https://dns.example.com/dns-query
  • Apple uređaji: potpisani mobileconfig ili aplikacija s DoH/DoT
  • Drugi VPS: postavite resolv.conf ili systemd-resolved na WireGuard IP ove AdGuard instance
  • Ne postavljajte IP ovog VPS kao DNS na slučajnim javnim mrežama bez šifriranja

Korak 6. Vatrozid — zatvorite otvoreni rekurzivni DNS

Ovaj odjeljak sprječava neugodno iznenađenje. Dopustite SSH, HTTPS i opcionalno 853/tcp za DoT. Ne dopuštajte 53/udp s 0.0.0.0/0 osim ako imate vrlo konkretan, ograničeni i autentificirani dizajn — i čak tada vjerojatno ne biste trebali.

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'

Filtri, bijele liste i klijenti

Počnite sa zadanim DNS filtrom AdGuard i jednim popisom malvera. Kada se web ponaša loše, pogledajte dnevnik upita, pa dodajte konkretno allowlist pravilo umjesto da isključite cijelo blokiranje. Koristite imena klijenata (po IP ili ClientID u DoH URL) da strože filtrirate smart TV i blaže službeno prijenosno računalo. Uključujte sigurno pretraživanje samo ako ga stvarno želite — iznenađuje ljude koji nisu tražili prepisane Google rezultate.

  • Dnevnik upita: pronađite blokiranu domenu, pa je stavite na bijelu listu ako je lažni pozitiv
  • Postavke klijenta: različiti popisi blokiranja po uređaju
  • Zabranjeni klijenti: blokirajte raspone koje ne posjedujete
  • Ograničenje brzine: uključite ako ikad izložite više od šačice korisnika

Rješavanje problema

Ako sam VPS ne radi apt update, pokvarili ste lokalni DNS dok ste oslobađali port 53 — stavite statički resolver u resolved.conf kao gore. Ako uređaji „imaju internet“ ali oglasi i dalje učitavaju, zaobilaze vaš DNS (tvrdo kodirani resolveri, DoH u pregledniku ili aplikacija s vlastitim DNS). Ako je nadzorna ploča prazna, gledate pogrešnu instancu ili još port 3000 pošto je čarobnjak premjestio sučelje.

  • apt ne radi: provjerite /etc/resolv.conf i systemd-resolved
  • Port 53 je zauzet: ss -tulpn, isključite stub listener
  • Pogreške certifikata DoH: ime hosta mora odgovarati SAN certifikata
  • Oglasi se i dalje vide: DoH preglednika prema drugom pružatelju prepisuje OS
  • Puno RAM: dnevnik + previše popisa filtara — skratite popise i zadržavanje zapisa

Sigurnosni kontrolni popis

Web sučelje je administratorski panel. Jedinstvena lozinka, samo HTTPS i ne objavljujte URL. Držite AdGuard Home ažurnim; i instalacijska skripta i sučelje imaju put ažuriranja. Ograničite 443 ako samo vaši uređaji trebaju koristiti DoH — HTTP basic auth na DoH putanji ili pristup samo preko WireGuard mnogo je sigurniji od slavnog otvorenog resolvera.

  • Nema javnog 53/udp
  • HTTPS na nadzornoj ploči
  • Jaka administratorska lozinka u upravitelju lozinki
  • Za obiteljske uređaje preferirajte WireGuard + unutarnji DNS
  • Kopirajte AdGuardHome.yaml van poslužitelja

Savjeti

  • Prije svake nadogradnje spremite /opt/AdGuardHome/AdGuardHome.yaml
  • Namjenska poddomena; ne dijelite je s nepovezanim CMS
  • Ako već vodite Caddy, neka Caddy drži 443, a AdGuard Home ostane na localhost
  • Zabilježite DoH URL za uređaje — zaboravit ćete ga
  • Uparite s učvršćivanjem SSH i vatrozida da VPS ne bude „siguran samo od DNS“

AdGuard Home na VPS je pravocrtan: oslobodite port 53 lokalno, pokrenite instalater, završite čarobnjak s jakom administratorskom lozinkom, stavite sučelje na HTTPS, uključite DoH/DoT i držite klasični DNS daleko od javnog interneta. Usmjerite uređaje na šifriranu krajnju točku ili VPN IP, počnite s malim skupom filtara i koristite dnevnik upita kada nešto pukne. To je privatni resolver kojim stvarno upravljate — ne javni otvoreni DNS zbog kojeg će VPS ući u baze zlouporabe.