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

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