Повратак на блог
Август 19, 2026Водичи

Како подесити AdGuard Home на VPS

Инсталирајте AdGuard Home на Ubuntu, завршите чаробњак првог покретања, закључајте веб интерфејс, укључите DNS-over-HTTPS и DNS-over-TLS, усмерите уређаје на свој резолвер и не остављајте отворен DNS сервер који цео интернет може да злоупотреби.

Како подесити AdGuard Home на VPS

AdGuard Home је самохостовани DNS sinkhole и резолвер са веб интерфејсом. Може да блокира рекламе, тракере и злонамерне домене за сваки уређај који га користи као DNS — телефоне, лаптопове, smart TV и друге VPS пројекте. За разлику од проширења прегледача, ради чак и за апликације које игноришу hosts датотеку. На VPS је користан када желите исто филтрирање на путу или не желите Raspberry Pi у кућној мрежи.

Опасно подразумевано стање које не смете да пустите је отворени резолвер: ако је UDP/TCP 53 доступан целом интернету без контроле приступа, странци ће користити ваш VPS за DNS појачавање и добићете пријаве злоупотребе. Овај водич инсталира AdGuard Home на Ubuntu, везује DNS за localhost или приватни WireGuard интерфејс осим ако намерно излажете шифровани DNS, ставља таблу на HTTPS и показује како лаптопови и телефони могу да користе DNS-over-HTTPS (DoH) или DNS-over-TLS (DoT) без отварања класичног порта 53 свету.

За шта је AdGuard Home добар

Уобичајено поређење је Pi-hole. AdGuard Home је једна бинарна датотека са уграђеним веб интерфејсом, опционим шифрованим DNS фронтендовима и подешавањима по клијенту. Можете га покренути у Docker-у или као systemd услугу. На Hiddence VPS добро иде уз приватни VPN: уређаји улазе у WireGuard, шаљу DNS на VPS кроз тунел и никад јавно не излажу порт 53.

  • Блокирање на нивоу мреже без апликације на сваком уређају
  • DoH (443) и DoT (853) тако да DNS не иде отвореним текстом на јавном Wi-Fi
  • Дневник упита и статистика да видите који уређај прича са којим доменом
  • Сопствени upstream сервери (Quad9, Cloudflare или ваш Unbound)
  • Мали отисак — VPS од 1 GB филтрира домаћинство и неколико додатних клијената

Захтеви

Треба вам домен ако желите поуздан сертификат за DoH/DoT и таблу. Можете тестирати на HTTP и IP сервера, али тако не остављајте. Ако systemd-resolved већ држи порт 53 на Ubuntu, ослободићемо га пре него што AdGuard Home веже DNS.

  • Ubuntu 22.04 или 24.04 VPS са root/sudo
  • 1 GB RAM је довољно за личну употребу
  • Домен или поддомен (dns.example.com) са A записом на VPS
  • SSH приступ; опционо WireGuard ако DNS треба само у тунелу

Корак 1. Ослободите порт 53 и инсталирајте AdGuard Home

Ubuntu Server често покреће systemd-resolved као stub на 127.0.0.53:53. AdGuard Home хоће 53 на интерфејсима које изаберете. Инсталатер то уме сам, али експлицитан корак спречава напола покварен DNS на самом VPS (сервер и даље мора да разрешава пакете).

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

Корак 2. Чаробњак првог покретања

Инсталатер исписује URL, обично http://YOUR_IP:3000/. Отворите га, направите администратора са дугом лозинком и изаберите адресе слушања. За јавни VPS безбедно прво подешавање је: Admin Web на 127.0.0.1:3000 (касније Caddy испред) или на 80/443 после TLS; DNS на 127.0.0.1:53 плус VPN интерфејс, не на 0.0.0.0:53. Ако вам заиста треба DNS „као у LAN“ за пријатеље, преферирајте DoH/DoT на 443/853 са аутентификацијом, не отворен 53/udp.

Изаберите upstream DNS сервере којима верујете. Многи користе https://dns.quad9.net/dns-query или Cloudflare. Укључите паралелне захтеве ако желите бржи failover. Укључите подразумеване листе филтера, остале додајте касније — педесет листа првог дана чини отклањање грешака немогућим када се сајт поквари.

Ако не можете да отворите порт 3000 са лаптопа, користите SSH тунел: ssh -L 3000:127.0.0.1:3000 root@YOUR_VPS_IP и прегледач http://127.0.0.1:3000/

Корак 3. Реверзни прокси и HTTPS за таблу

Када чаробњак заврши, AdGuard Home обично премести интерфејс на порт 80. То се судара са Caddy или Nginx ако хостујете и сајтове. Чист образац: веб AdGuard Home на 127.0.0.1:8080, DNS на 127.0.0.1:53, Caddy на 443 и за таблу и за 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

Корак 4. Укључите DNS-over-HTTPS и DNS-over-TLS

У подешавањима шифровања укључите шифровање, поставите име сервера на dns.example.com и усмерите AdGuard Home на датотеке сертификата — или оне које Caddy чува, или оне које сам AdGuard Home добије ако слуша на 443. DoH је обично https://dns.example.com/dns-query. DoT је dns.example.com:853. Ако Caddy већ држи 443, нека Caddy скида TLS и реверзно проксира DoH путању на обичан HTTP DoH порт AdGuard Home, или нека AdGuard Home слуша на 443, а таблу ставите на други поддомен.

Проверите клијентом пре него што промените DNS на свим уређајима. На лаптопу са модерним 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

Корак 5. Усмерите праве уређаје на свој резолвер

Windows 11 и новији Android умеју DoH шаблон. iOS може користити конфигурациони профил или клијент са DoH. Firefox и Chromium такође прихватају сопствени DoH URL. На кућном рутеру WAN DNS мењајте само ако рутер подржава DoT/DoH; иначе подигните WireGuard и поставите DNS на VPN IP VPS-а да класични DNS никад не иде преко интернета.

  • Android 9+: Приватни DNS (DoT) → dns.example.com
  • Firefox: Подешавања → Мрежа → DNS over HTTPS → сопствени URL https://dns.example.com/dns-query
  • Apple уређаји: потписан mobileconfig или апликација са DoH/DoT
  • Други VPS: поставите resolv.conf или systemd-resolved на WireGuard IP ове AdGuard инстанце
  • Не постављајте IP овог VPS као DNS на случајним јавним мрежама без шифровања

Корак 6. Заштитни зид — затворите отворени рекурзивни DNS

Овај одељак спречава непријатно изненађење. Дозволите SSH, HTTPS и опционо 853/tcp за DoT. Не дозвољавајте 53/udp са 0.0.0.0/0 осим ако имате веома конкретан, ограничени и аутентификовани дизајн — и чак тада вероватно не би требало.

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'

Филтери, беле листе и клијенти

Почните са подразумеваним DNS филтером AdGuard и једном листом малвера. Када се сајт понаша лоше, погледајте дневник упита, па додајте конкретну allowlist правило уместо да искључите цело блокирање. Користите имена клијената (по IP или ClientID у DoH URL) да строже филтрирате smart TV и блаже службени лаптоп. Укључујте безбедну претрагу само ако је заиста желите — изненађује људе који нису тражили преписане Google резултате.

  • Дневник упита: пронађите блокирани домен, па га ставите на белу листу ако је лажни позитив
  • Подешавања клијента: различите листе блокирања по уређају
  • Забрањени клијенти: блокирајте опсеге које не поседујете
  • Ограничење брзине: укључите ако икад изложите више од шачице корисника

Решавање проблема

Ако сам VPS не ради apt update, покварили сте локални DNS док сте ослобађали порт 53 — ставите статички резолвер у resolved.conf као горе. Ако уређаји „имају интернет“ али рекламе и даље учитавају, заобилазе ваш DNS (тврдо кодирани резолвери, DoH у прегледачу или апликација са сопственим DNS). Ако је табла празна, гледате погрешну инстанцу или још порт 3000 пошто је чаробњак преместио интерфејс.

  • apt не ради: проверите /etc/resolv.conf и systemd-resolved
  • Порт 53 је заузет: ss -tulpn, искључите stub listener
  • Грешке сертификата DoH: име хоста мора да одговара SAN сертификата
  • Рекламе се и даље виде: DoH прегледача ка другом провајдеру преписује ОС
  • Много RAM: дневник + превише листа филтера — скратите листе и задржавање лога

Безбедносна контролна листа

Веб интерфејс је администраторски панел. Јединствена лозинка, само HTTPS и не објављујте URL. Држите AdGuard Home ажурним; и инсталациона скрипта и интерфејс имају пут ажурирања. Ограничите 443 ако само ваши уређаји треба да користе DoH — HTTP basic auth на DoH путањи или приступ само преко WireGuard је много безбеднији од чувеног отвореног резолвера.

  • Нема јавног 53/udp
  • HTTPS на табли
  • Јака администраторска лозинка у менаџеру лозинки
  • За породичне уређаје преферирајте WireGuard + унутрашњи DNS
  • Копирајте AdGuardHome.yaml ван сервера

Савети

  • Пре сваке надоградње сачувајте /opt/AdGuardHome/AdGuardHome.yaml
  • Наменски поддомен; не делите га са неповезаним CMS
  • Ако већ водите Caddy, нека Caddy држи 443, а AdGuard Home остане на localhost
  • Забележите DoH URL за уређаје — заборавићете га
  • Упарите са ојачавањем SSH и заштитног зида да VPS не буде „безбедан само од DNS“

AdGuard Home на VPS је праволинијски: ослободите порт 53 локално, покрените инсталатер, завршите чаробњак са јаком администраторском лозинком, ставите интерфејс на HTTPS, укључите DoH/DoT и држите класични DNS даље од јавног интернета. Усмерите уређаје на шифровану крајњу тачку или VPN IP, почните са малим скупом филтера и користите дневник упита када нешто пукне. То је приватни резолвер којим заиста управљате — не јавни отворени DNS због којег ће VPS ући у базе злоупотребе.