Блокуємо рекламу і шифруємо локальну мережу через raspberry pi: настройка pi-hole

195

Реклама і стеження заповнила інтернет. Постав розширення-блокувальник на комп’ютері, на ноутбуці, скачай додаток на смартфон, ще одне — на планшет. І все одно від реклами повністю не позбутися-знайдеться девайс, на якому блокувальника не буде. Pi-hole-це інструмент, який не дає» просочитися ” небажаним оголошенням і перекриває доступ запитам заради стеження.

Його можна встановити на другий комп’ютер або розмістити в «віртуалці» на основній машині і крутити там 24/7. Але найкращий варіант-встановити pi-hole на raspberry pi. Одноплатник споживає мало енергії, не шумить, і його можна розмістити в будь-якому куточку приміщення. Для постійно працюючого девайса це критично важливі характеристики.

Як працює pi-hole

Pi-hole виконує роль dns-сервера, який запити до дозволених сайтів перенаправляє до глобальних dns-серверів (google, cloudflare) і повертає ip-адресу, а будь-які запити до заборонених сайтів припиняє.

Brianchristner.io

Заборонити доступ до сайтів можна за допомогою ручного додавання або за допомогою блоклістів. Останні представляють із себе величезні списки з рекламних доменів і сайтів-трекерів. Таких списків багато в мережі, є навіть спеціальні сторінки-добірки на github.

У pi-hole є веб-інтерфейс, через який крім настройки можна дивитися детальну статистику: список найбільш блокованих доменів і найбільш відвідуваних, скільки відсотків трафіку блокується, в який час доби найбільше dns-запитів. Ще pi-hole хороший тим, що він веде історію dns-запитів і показує, який пристрій їх посилає.

Як встановити

Програма невимоглива до ресурсів, тому підійде навіть raspberry pi zero w. Версії pi 3, 3+ і pi 4 вже тим більше.

Спершу треба встановити систему raspberry pi os lite — про те, як це зробити і як підключитися до пристрою по ssh, я писав в іншій статті.

curl-ssl install.pi-hole.net / bash

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

Після чого перейдіть з будь-якого пристрою в локальній мережі за адресою / admin / . Наприклад, у мене це виглядає так: 192.168.88.136/admin/ . Введіть там пароль, який записали раніше.

Тепер можна перейти до налаштування блокування реклами і стеження. Вже» з коробки ” встановлений величезний і якісний блок-лист. На додаток до нього можна поставити списки з окремого репозиторію на github або пошукати серед всіх репозиторіїв по темі.

Щоб встановити блок-лист, у відкритій раніше панелі адміністратора натисніть на вкладку group management, перейдіть в розділ adlists. В поле під написом add a new adlist вставте посилання на знайдений файл з доменами (зазвичай вона починається на raw.githubusercontent.com / ) і натисніть кнопку add.

Коли додасте всі блок-листи таким чином, відкрийте вкладку tools зліва, виберіть update gravity і там натисніть update. Зачекайте трохи, не йдучи нікуди зі сторінки. Як тільки список блокувань оновиться, з’явиться повідомлення – можна налаштовувати далі або закривати сторінку.

Другий шар захисту

Блокування реклами-це здорово, але як щодо шифрування dns-запитів? це дасть додаткову приватність в мережі ціною в кілька витрачених на настройку хвилин. Ви можете пропустити цей пункт і перейти відразу до налаштування роутера, якщо не сильно турбуєтеся про те, що інтернет-провайдер може бачити ваші запити до всіх сайтів і фільтрувати їх.

Звичайні dns-запити передаються у вигляді звичайного тексту, який легко прочитати. Dns-over-https-це технологія, яка надсилає та отримує пакети через зашифрований протокол https.

Крім підробки doh на звичайних dns-серверах компанія cloudflare надає функціонал шифрування запитів за допомогою утиліти cloudflared.

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

wget-o cloudflared github.com/cloudflare/cloudflared/releases/latest/download/cloudflared-linux-arm64sudo mv cloudflared / usr / local / binsudo chmod + x / usr/local/bin / cloudflaredcloudflared-v

Налаштуйте автозапуск сервісу. Створіть папку і файл конфігурації в ній:

sudo mkdir / etc/cloudflared /sudo nano/etc/cloudflared / config.yml

У файл вставте такий вміст:

proxy-dns: true proxy-dns-port: 5053 proxy-dns-upstream: — 1.1.1.1/dns-query — 1.0.0.1/dns-query

Збережіть його, натиснувши ctrl + x , потім y і потім enter .

Введіть по черзі:

sudo cloudflared service install –legacysudo systemctl start cloudflared

Перевірте, що сервіс запущений:

sudo systemctl status cloudflared

Напис active (running) свідчить про вдале налаштування. Переходимо в панель управління pi-hole, відкриваємо settings, там dns і прибираємо всі прапорці. У правому стовпці upstream dns servers ставимо галочку близько custom 1 (ipv4) і в поле вписуємо адресу 127.0.0.1#5053 . Зберігаємо кнопкою save в самому низу сторінки.

Налаштування роутера

Dns-сервер налаштований, пора почати використовувати його на всіх пристроях в локальній мережі. Для цього відкрийте панель управління вашого роутера.

У кожного виробника вона виглядає по-різному. Знайдіть там пункт dns і в поле dns-сервера введіть ip-адресу raspberry. Його, до речі, бажано зробити статичним все в тій же панелі роутера. Застосуйте налаштування. Якщо налаштували dns-over-https, перевірте підключення на спеціальному сайті.