Tropic Host

AdGuard Home на VPS: встановлення та блокування реклами

6 хв. читання
Tropic
AdGuard Home на VPS: встановлення та блокування реклами

H1: Як встановити й налаштувати AdGuard Home на VPS

AdGuard Home — безкоштовний DNS-сервер, який блокує запити до рекламних доменів, трекерів та інших небажаних ресурсів. Через нього можна спрямувати DNS-запити комп’ютерів, телефонів, телевізорів та інших пристроїв і керувати фільтрацією з єдиної панелі. Нижче розглянемо встановлення на VPS з Ubuntu або Debian, початкове налаштування, підключення клієнтів і захист публічного сервера.

Що потрібно підготувати

Для особистого використання зазвичай достатньо 1 vCPU, 512 МБ–1 ГБ оперативної пам’яті та кількох гігабайтів вільного сховища. Також знадобляться статична IP-адреса, SSH-доступ і права root або sudo.

AdGuard Home використовує:

  • 3000/TCP для майстра початкового налаштування;
  • 53/UDP і 53/TCP для звичайного DNS;
  • порт на ваш вибір для постійного доступу до панелі керування.

Порт 53 не варто відкривати для всього інтернету без обмежень. Безпечну конфігурацію розглянемо окремо.

Встановлення AdGuard Home на Ubuntu або Debian

Підключіться до VPS через SSH і встановіть curl:

sudo apt update
sudo apt install -y curl

Запустіть офіційний скрипт встановлення:

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

Скрипт визначить архітектуру сервера, завантажить стабільну версію, встановить її в /opt/AdGuardHome і створить системну службу. Перевірити її стан можна так:

sudo /opt/AdGuardHome/AdGuardHome -s status

Після цього відкрийте у браузері адресу:

http://SERVER_IP:3000

Якщо сторінка недоступна, перевірте системний брандмауер і правила в панелі керування хостинг-провайдера.

Початкове налаштування

У майстрі налаштування потрібно вибрати адреси та порти для панелі адміністрування і DNS-сервера.

Для панелі можна залишити порт 3000 і вибрати IP-адресу VPS як інтерфейс. Створіть окреме ім’я користувача і надійний пароль: панель надає доступ до журналу запитів, фільтрів і налаштувань клієнтів.

Для DNS виберіть IP-адресу сервера та стандартний порт 53. Якщо він уже зайнятий, не замінюйте його випадковим портом: більшість пристроїв очікує звичайний DNS саме на порту 53. Варіант вирішення цього конфлікту наведено нижче.

Після завершення майстра на головній сторінці відображатимуться статистика запитів, кількість заблокованих звернень, активні клієнти та популярні домени.

Як працює DNS-фільтрація

Перед підключенням до сайту або сервісу пристрій запитує IP-адресу домену. AdGuard Home перевіряє домен за списками правил. Запит до рекламної мережі або трекера блокується, а дозволений запит передається на DNS-сервер вищого рівня.

Такий підхід забезпечує централізовану фільтрацію всієї мережі й працює не лише в браузерах, а й у багатьох мобільних застосунках та на Smart TV. Серед додаткових можливостей — журнал запитів, правила для окремих пристроїв, Safe Search і блокування сервісів за розкладом.

AdGuard Home не розшифровує HTTPS-трафік і не змінює код сторінок. Тому він блокує запити до доменів, але не може прибрати кожен рекламний елемент.

Основні налаштування після встановлення

DNS-сервери вищого рівня

Відкрийте Settings → DNS settings. Тут зазначаються сервери, на які AdGuard Home передає дозволені запити. Спочатку можна залишити запропоновані значення, а пізніше вибрати надійні резолвери з підтримкою DNS-over-HTTPS або DNS-over-TLS.

Зашифрований DNS-запит захищає з’єднання від VPS до зовнішнього резолвера. З’єднання від пристрою до VPS потрібно захищати окремо за допомогою DoH, DoT або VPN.

Списки блокування

Базовий фільтр уже ввімкнено. Не додавайте одразу десятки великих списків: вони дублюють один одного і збільшують ризик хибних спрацювань. Додавайте по одному списку для конкретної мети та переглядайте журнал запитів.

Якщо після зміни перестав працювати сайт або застосунок, знайдіть заблокований домен у журналі та додайте адресний виняток.

Власні правила

У власних правилах можна заблокувати або дозволити окремий домен:

||ads.example.com^
@@||needed.example.com^

Перший рядок блокує домен, а другий додає виняток.

Сервіси, розклад і клієнти

AdGuard Home може повністю блокувати окремі сервіси та застосовувати розклад. Якщо додати пристрої як постійних клієнтів, для комп’ютера, планшета дитини й телевізора можна призначити різні правила.

Як підключити пристрої

Встановлення сервера автоматично не змінює DNS-налаштування пристроїв. Потрібно вказати адресу AdGuard Home на маршрутизаторі або на кожному клієнті.

Через маршрутизатор

Відкрийте налаштування маршрутизатора та знайдіть розділ DHCP, LAN або DNS. Вкажіть IP-адресу AdGuard Home як DNS-сервер, збережіть конфігурацію та повторно підключіть пристрої до мережі.

Не додавайте публічний DNS-сервер як вторинну адресу, якщо фільтрація має бути обов’язковою. Деякі пристрої використовують обидві адреси й можуть обійти AdGuard Home. Для відмовостійкості краще розгорнути другий екземпляр.

На одному пристрої

Для перевірки можна змінити DNS лише на одному комп’ютері або телефоні:

  • Windows — властивості мережевого адаптера та параметри IPv4/IPv6;
  • macOS — налаштування активного з’єднання;
  • Android та iOS — налаштування поточної мережі Wi-Fi;
  • Smart TV — ручні мережеві налаштування.

Звичайна конфігурація Wi-Fi не діє під час використання мобільного інтернету. Щоб фільтрація працювала в будь-якій мережі, знадобиться DoH, DoT або VPN.

Перевірити сервер можна так:

nslookup example.org SERVER_IP

Запит має з’явитися в журналі запитів AdGuard Home.

Безпечне налаштування на публічному VPS

Автоматичні сканери швидко знаходять відкритий DNS-резолвер. Ним можуть скористатися сторонні клієнти або залучити його до DNS-атак, що створює додаткове навантаження та ризик скарг на IP-адресу.

Для тестування дозвольте доступ лише зі своєї публічної IP-адреси. Якщо UFW не встановлено, спочатку додайте його командою sudo apt install -y ufw.

sudo ufw allow OpenSSH
sudo ufw allow from YOUR_IP to any port 3000 proto tcp
sudo ufw allow from YOUR_IP to any port 53 proto udp
sudo ufw allow from YOUR_IP to any port 53 proto tcp
sudo ufw enable

Спочатку дозвольте SSH, інакше можна втратити доступ до VPS. Якщо ваша IP-адреса часто змінюється, підключайте пристрої через WireGuard, Tailscale або іншу VPN.

Для постійного використання з різних мереж краще налаштувати домен, TLS-сертифікат і захищений DNS:

  • 443/TCP для DNS-over-HTTPS;
  • 853/TCP для DNS-over-TLS;
  • обмеження клієнтів і частоти запитів у налаштуваннях AdGuard Home.

Панель адміністрування також потрібно захистити брандмауером або VPN. Журнал містить домени, до яких звертаються пристрої, тому зберігайте його лише необхідний час.

Помилка «Port 53 is already in use»

В Ubuntu порт 53 часто зайнятий службою systemd-resolved. Процеси, які прослуховують порти, можна перевірити так:

sudo ss -lntup | grep ':53'

Якщо служба слухає лише на 127.0.0.53, спочатку спробуйте прив’язати AdGuard Home до конкретної IP-адреси VPS, а не до всіх інтерфейсів.

Якщо конфлікт залишається, вимкніть локальний DNS-stub listener:

sudo mkdir -p /etc/systemd/resolved.conf.d

printf '[Resolve]\nDNS=127.0.0.1\nDNSStubListener=no\n' | \
sudo tee /etc/systemd/resolved.conf.d/adguardhome.conf

sudo mv /etc/resolv.conf /etc/resolv.conf.backup
sudo ln -s /run/systemd/resolve/resolv.conf /etc/resolv.conf
sudo systemctl reload-or-restart systemd-resolved
sudo /opt/AdGuardHome/AdGuardHome -s restart

Не закривайте SSH-сеанс, доки не переконаєтеся, що сервер знову може визначати доменні імена і що AdGuard Home працює.

Оновлення та резервні копії

Оновити програму можна з панелі або командою:

cd /opt/AdGuardHome
sudo ./AdGuardHome --update

Перед значними змінами збережіть файл /opt/AdGuardHome/AdGuardHome.yaml і каталог /opt/AdGuardHome/data/. У них містяться налаштування, клієнти, фільтри та робочі дані.

Який VPS вибрати для AdGuard Home

Для родини або невеликої команди зазвичай достатньо 1 vCPU і 1 ГБ оперативної пам’яті. Якщо разом з AdGuard Home працюватимуть VPN, система моніторингу або інші застосунки, виділіть додаткову пам’ять.

VPS від tropic.host підходить для цього завдання: можна встановити Ubuntu або Debian, отримати виділену IP-адресу та цілодобово підтримувати DNS-сервер доступним без домашнього комп’ютера. Під час розміщення в інтернеті завжди використовуйте брандмауер, захищений DNS або VPN.

Обмеження AdGuard Home

DNS-фільтрація не замінює блокувальник у браузері, антивірус або брандмауер. Вона не може надійно прибрати рекламу, яку доставляють з того самого домену, що й основний контент. Тому фільтрація на рівні DNS не здатна надійно прибирати відеорекламу YouTube і Twitch або спонсоровані публікації в соціальних мережах без порушення роботи самих сервісів.

Після блокування на сторінці можуть залишатися порожні місця. Розширення браузера може приховати елементи сторінки, тому його можна використовувати разом з AdGuard Home. Деякі застосунки також застосовують власний зашифрований DNS і можуть обходити системні налаштування.

Висновок

AdGuard Home централізовано блокує значну частину реклами та трекерів на комп’ютерах, телефонах та інших пристроях. Його можна встановити на VPS за кілька хвилин, і для роботи не потрібно багато ресурсів.

Після встановлення налаштуйте клієнтів і фільтри, захистіть панель та не залишайте порт 53 відкритим для всього інтернету. Для підключення з мобільних і зовнішніх мереж використовуйте VPN, DNS-over-HTTPS або DNS-over-TLS.

FAQ

Чи безкоштовний AdGuard Home?

Так. AdGuard Home поширюється безкоштовно й не потребує передплати. Ви платите лише за пристрій або VPS, на якому він працює.

Чи блокує AdGuard Home рекламу на YouTube?

Ні. Реклама та відео можуть доставлятися з тих самих доменів, тому блокування DNS порушило б роботу самого YouTube.

Чи працює фільтрація через мобільний інтернет?

Так, якщо налаштувати DNS-over-TLS, DNS-over-HTTPS, сумісний профіль або VPN. Зміна DNS у параметрах Wi-Fi діє лише для цієї мережі.

Скільки оперативної пам’яті потрібно?

Для особистого використання зазвичай достатньо 512 МБ–1 ГБ. Більше пам’яті може знадобитися для великої кількості клієнтів, об’ємних фільтрів або додаткових сервісів.

Що робити, якщо після ввімкнення фільтрації сайт перестав відкриватися?

Відкрийте журнал запитів, повторіть дію, яка спричинила проблему, і знайдіть заблокований домен. Додайте адресний виняток, а не вимикайте всю фільтрацію.