Tornar al blog
Agost 19, 2026Guies

Com configurar AdGuard Home en un VPS

Instal·leu AdGuard Home a l'Ubuntu, completeu l'assistent del primer arrencada, protegiu la interfície web, activeu DNS-over-HTTPS i DNS-over-TLS, apunteu els dispositius al vostre resolver i eviteu executar un servidor DNS obert que tota internet pugui abusar.

Com configurar AdGuard Home en un VPS

AdGuard Home és un sinkhole DNS autoallotjat i un resolver d'estil recursiu amb una interfície web. Pot bloquejar anuncis, rastrejadors i dominis de programari maliciós per a cada dispositiu que l'utilitzi com a DNS — telèfons, portàtils, televisors intel·ligents i altres projectes VPS. A diferència d'una extensió del navegador, funciona fins i tot per a aplicacions que ignoren els fitxers hosts. Executar-lo en un VPS és útil quan voleu el mateix filtratge de viatge, o quan no voleu un Raspberry Pi a la xarxa de casa.

El valor per defecte perillós que no heu d'enviar és un resolver obert: si UDP/TCP 53 és accessible des de tota internet sense control d'accés, desconeguts faran servir el vostre VPS per a amplificació DNS i rebreu queixes d'abús. Aquesta guia instal·la AdGuard Home a l'Ubuntu, enllaça el DNS a localhost o a una interfície WireGuard privada tret que exposeu deliberadament DNS xifrat, posa el tauler a HTTPS i mostra com els portàtils i els telèfons poden fer servir DNS-over-HTTPS (DoH) o DNS-over-TLS (DoT) sense obrir el port clàssic 53 al món.

Per a què serveix AdGuard Home

Pi-hole és la comparació habitual. AdGuard Home és un binari únic amb una interfície web integrada, frontends DNS xifrats opcionals i paràmetres per client. El podeu executar a Docker o com a servei systemd. En un VPS Hiddence combina bé amb una VPN privada: els dispositius s'uneixen a WireGuard, envien DNS al VPS pel túnel i mai no exposen el port 53 públicament.

  • Bloqueig a tota la xarxa sense instal·lar una aplicació a cada dispositiu
  • DoH (443) i DoT (853) perquè el DNS no sigui text pla a la Wi-Fi pública
  • Registre de consultes i estadístiques per veure quin dispositiu parla amb quin domini
  • Upstreams personalitzats (Quad9, Cloudflare o el vostre propi Unbound)
  • Petita empremta — un VPS d'1 GB pot filtrar una llar més uns quants clients extra

Requisits

Necessiteu un domini si voleu un certificat de confiança per a DoH/DoT i per al tauler. Podeu provar primer a HTTP i a la IP del servidor, però no ho deixeu així. Si systemd-resolved ja té el port 53 a l'Ubuntu, l'alliberarem abans que AdGuard Home enllaci el DNS.

  • VPS Ubuntu 22.04 o 24.04 amb root/sudo
  • 1 GB de RAM n'hi ha prou per a ús personal
  • Un domini o subdomini (dns.example.com) amb un registre A cap al VPS
  • Accés SSH; WireGuard opcional si voleu DNS només dins d'un túnel

Pas 1: Allibereu el port 53 i instal·leu AdGuard Home

Ubuntu Server sovint executa systemd-resolved com a stub a 127.0.0.53:53. AdGuard Home vol el 53 a les interfícies que trieu. L'instal·lador ho pot fer, però fer-ho explícitament evita un DNS a mig trencar al mateix VPS (el servidor encara ha de poder resoldre paquets).

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

Pas 2: Assistent del primer arrencada

L'instal·lador imprimeix un URL, normalment http://YOUR_IP:3000/. Obriu-lo, creeu un usuari administrador amb una contrasenya llarga i trieu les adreces d'escolta. Per a un VPS públic, una primera configuració segura és: Admin Web a 127.0.0.1:3000 (hi posareu Caddy al davant) o a 80/443 després de TLS; escolta DNS a 127.0.0.1:53 més una interfície VPN, no a 0.0.0.0:53. Si realment necessiteu DNS d'estil LAN per a amics, preferiu DoH/DoT a 443/853 amb autenticació, no 53/udp obert.

Trieu servidors DNS upstream en què confieu. Moltes persones fan servir https://dns.quad9.net/dns-query o Cloudflare. Activeu les sol·licituds en paral·lel si voleu una commutació per error més ràpida. Activeu les llistes de filtres per defecte i n'afegiu més després — habilitar cinquanta llistes el primer dia fa impossible depurar quan un lloc es trenca.

Si no podeu obrir el port 3000 des del portàtil, utilitzeu un túnel SSH: ssh -L 3000:127.0.0.1:3000 root@YOUR_VPS_IP i navegueu a http://127.0.0.1:3000/

Pas 3: Servidor intermediari invers i HTTPS per al tauler

Un cop l'assistent acaba, AdGuard Home sol moure la interfície al port 80. Això xoca amb Caddy o Nginx si també allotgeu llocs. Un patró net és: web d'AdGuard Home a 127.0.0.1:8080, DNS a 127.0.0.1:53, Caddy al 443 tant per al tauler com per a 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

Pas 4: Activeu DNS-over-HTTPS i DNS-over-TLS

A la configuració de xifratge, activeu el xifratge, establiu el nom del servidor a dns.example.com i apunteu AdGuard Home als vostres fitxers de certificat — o bé els que desa Caddy, o certificats que AdGuard Home obté ell mateix si escolta al 443. DoH sol ser https://dns.example.com/dns-query. DoT és dns.example.com:853. Si Caddy ja té el 443, deixeu que Caddy termini TLS i faci reverse-proxy del camí DoH al port DoH HTTP pla d'AdGuard Home, o deixeu que AdGuard Home escolti al 443 i poseu el tauler en un altre subdomini.

Verifiqueu amb un client abans de canviar cada dispositiu. En un portàtil amb 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

Pas 5: Apunteu dispositius reals al vostre resolver

Windows 11 i les compilacions recents d'Android poden fer servir una plantilla DoH. iOS pot fer servir un perfil de configuració o un client que admeti DoH. Firefox i Chromium també permeten un URL DoH personalitzat. Per a un encaminador de casa, establiu el DNS WAN només si l'encaminador admet DoT/DoH; en cas contrari executeu WireGuard i establiu el DNS a la IP VPN del VPS perquè el DNS clàssic no creui mai internet.

  • Android 9+: DNS privat (DoT) → dns.example.com
  • Firefox: Configuració → Xarxa → DNS over HTTPS → URL personalitzat https://dns.example.com/dns-query
  • Dispositius Apple: un mobileconfig signat o una aplicació que admeti DoH/DoT
  • Altres VPS: configureu resolv.conf o systemd-resolved a la IP WireGuard d'aquesta instància d'AdGuard
  • Eviteu establir aquesta IP del VPS com a DNS a xarxes públiques aleatòries sense xifratge

Pas 6: Tallafoc — tanqueu el DNS recursiu obert

Aquesta és la secció que evita una sorpresa desagradable. Permeteu SSH, HTTPS i opcionalment 853/tcp per a DoT. No permeteu 53/udp des de 0.0.0.0/0 tret que tingueu un disseny molt específic, amb límit de velocitat i autenticat — i fins i tot llavors, probablement no ho hauríeu de fer.

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'

Filtres, llistes blanques i clients

Comenceu amb el filtre DNS per defecte d'AdGuard i una llista de programari maliciós. Quan un lloc es comporta malament, consulteu el registre de consultes i després afegiu una regla específica de llista blanca en lloc de desactivar tot el bloqueig. Utilitzeu noms de client (per IP o per ClientID a l'URL DoH) per poder aplicar llistes més estrictes a un televisor intel·ligent i llistes més laxes a un portàtil de feina. Activeu la cerca segura només si realment la voleu — sorprèn a qui no ha demanat resultats de Google reescrits.

  • Registre de consultes: trobeu el domini bloquejat i poseu-lo a la llista blanca si és un fals positiu
  • Paràmetres de client: llistes de bloqueig diferents per dispositiu
  • Clients no permesos: bloquegueu intervals que no poseu
  • Limitació de velocitat: activeu-la si mai exposeu més d'un grapat d'usuaris

Resolució de problemes

Si el mateix VPS no pot fer apt update, heu trencat el DNS local en alliberar el port 53 — poseu un resolver estàtic a resolved.conf com es mostra més amunt. Si els dispositius 'tenen internet' però els anuncis encara es carreguen, estan evitant el vostre DNS (resolvers incrustats, DoH al navegador o una aplicació que fa servir el seu propi DNS). Si el tauler és buit, esteu mirant la instància incorrecta o encara apunteu al port 3000 després que l'assistent hagi mogut la interfície.

  • apt falla: comproveu /etc/resolv.conf i systemd-resolved
  • Port 53 en ús: ss -tulpn, desactiveu l'oient stub
  • Errors de certificat DoH: el nom d'amfitrió ha de coincidir amb el SAN del certificat
  • Anuncis encara visibles: el DoH del navegador cap a un altre proveïdor substitueix el sistema operatiu
  • RAM alta: registre de consultes + massa llistes de filtres — retalleu llistes i escurceu la retenció de registres

Llista de comprovació de seguretat

La interfície web és un panell d'administració. Contrasenya única, només HTTPS, i no publiqueu l'URL. Mantingueu AdGuard Home actualitzat; tant l'script d'instal·lació com la interfície exposen un camí d'actualització. Restringiu el 443 si només els vostres dispositius han de fer servir DoH — autenticació HTTP bàsica al camí DoH o accés només per WireGuard és molt més segur que un resolver obert famós.

  • Sense 53/udp públic
  • HTTPS al tauler
  • Contrasenya d'administrador forta, desada en un gestor de contrasenyes
  • Preferiu WireGuard + DNS intern per als dispositius familiars
  • Feu còpia de AdGuardHome.yaml fora del servidor

Consells

  • Feu còpia de /opt/AdGuardHome/AdGuardHome.yaml abans de cada actualització
  • Utilitzeu un subdomini dedicat; no el compartiu amb un CMS no relacionat
  • Si ja executeu Caddy, deixeu que Caddy tingui el 443 i mantingueu AdGuard Home a localhost
  • Documenteu l'URL DoH per als vostres dispositius — l'oblidareu
  • Combineu-ho amb les guies d'enduriment SSH i de tallafoc perquè el VPS no sigui només 'segur pel DNS'

AdGuard Home en un VPS és senzill: allibereu el port 53 localment, executeu l'instal·lador, acabeu l'assistent amb una contrasenya d'administrador forta, poseu la interfície a HTTPS, activeu DoH/DoT i manteniu el DNS clàssic fora d'internet pública. Apunteu els dispositius al vostre extrem xifrat o a una IP VPN, comenceu amb un conjunt petit de filtres i utilitzeu el registre de consultes quan alguna cosa es trenqui. Això és un resolver privat que realment controleu — no un DNS obert públic que farà llistar el vostre VPS a bases de dades d'abús.