Набридло отримувати бомбардування рекламою щоразу, коли ви переглядаєте інтернет або користуєтеся мобільним додатком? Що ж, є фантастичне рішення під назвою Pi-hole, яке по суті діє як розумний DNS-фільтрНайкраще те, що вам не потрібно нічого встановлювати на кожен пристрій у вашому домі; система працює з ядра вашої мережі, перехоплюючи та блокуючи небажаний контент ще до того, як він потрапить на ваш екран.
Для налаштування цієї системи найрозумнішим варіантом сьогодні є використання Docker. Розміщуючи Pi-hole в контейнері, ви уникаєте захаращення операційної системи комп'ютера, неймовірно спрощуєте оновлення та можете... максимально використати апаратне забезпеченнячи то Raspberry Pi, старий сервер чи навіть віртуальна машина на Ubuntu чи Debian, без конфлікту між сервісами.
Передумови та підготовка місця
Перш ніж ми заглибимося, варто знати, що Pi-hole надзвичайно легкий. Щоб він працював як мрія, вам потрібно лише кілька 512 МБ оперативної пам'яті та від 2 до 4 ГБ місця для зберігання даних на диску. Що стосується операційної системи, вона чудово працює з дистрибутивами, що використовують systemd або sysvinit, такими як Debian, Ubuntu, Fedora або Raspberry Pi OS.
Критичною точкою є мережа. Для стабільності системи Pi-hole потребує статична IP-адресаЯкщо ви не хочете ускладнювати ситуацію, налаштовуючи сервер вручну, ви можете зарезервувати IP-адресу на своєму маршрутизаторі, щоб він завжди призначав ту саму адресу комп'ютеру, на якому знаходиться контейнер.
Розгортання Pi-hole за допомогою Docker
Найпростіший спосіб розпочати – через файл докер-компост.імлЦей метод дозволяє визначити всю конфігурацію одразу. Важливо зіставити томи (такі як /etc/pihole та /etc-dnsmasq.d) з локальними папками на вашому хості, щоб у разі оновлення образу контейнера... Не втрачайте всі свої налаштування ані ваші чорні списки.
У файлі конфігурації потрібно звернути увагу на порти. Порт 53 є серцем DNS і має бути вільним. Якщо ви бачите, що контейнер не запускається, ймовірно, що systemd-вирішений або dnsmasq займають цей порт на хості. У таких випадках вам потрібно буде вимкнути конфліктуючу службу або налаштувати міст для перенаправлення трафіку.
Якщо ви вирішите використовувати Pi-hole також як DHCP-сервер, пам’ятайте, що вам потрібно додати можливість МЕРЕЖНИЙ_АДМІНІСТРАТОР у розділі cap_add команди compose та, бажано, використовувати режим мережі хоста (network_mode: host), щоб уникнути проблем із підключенням.
Початкове налаштування та керування доступом
Після виконання команди docker-compose up -dСистема буде активна. Щоб отримати доступ до панелі керування, підключіться до IP-адреси вашого сервера через порт, який ви призначили (80 за замовчуванням, хоча ви можете змінити його на 8080 або 89, щоб уникнути конфліктів з іншими веб-серверами). Якщо ви не визначили пароль у змінній середовища... ВЕБПАРОЛЬСистема згенерує випадковий результат, який ви можете знайти, перевіривши журнали за допомогою команди docker logs pihole | grep random.
Для додаткової безпеки найкраще швидко змінити цей пароль. Ви можете отримати доступ до контейнерного терміналу за допомогою docker exec -it pihole /bin/bash і запустіть команду піхоле -а -п встановити пароль, який легко запам’ятати вам, але складно запам’ятати іншим.
Фільтрація висхідного потоку та оптимізація DNS
Щоб Pi-hole міг знати, кого запитувати, коли не розпізнає адресу, потрібно налаштувати DNS-сервер вищого рівня. Дуже надійний варіант — Quad9Вибравши відфільтровані сервери (наприклад, 9.9.9.9) на вкладці налаштувань DNS, ви можете додати додатковий рівень безпеки та конфіденційності до свого перегляду веб-сторінок.
Серцем Pi-hole є його списки блоків. Якщо ви хочете почати з чогось надійного, ви можете додати список СтівенБлекЩоразу, коли ви змінюєте списки, чи то видаляючи записи за допомогою SQLite3, чи додаючи нові URL-адреси, важливо перейти до розділу Інструменти та запустити команду Оновлення гравітації щоб база даних оновилась, а зміни набули чинності.
Додаткові поради: Локальні домени та управління ними
Якщо у вас вдома кілька сервісів, ви можете створити локальні доменні імена щоб уникнути необхідності запам'ятовувати IP-адреси. Для цього створіть файл під назвою local.list на змонтованому томі Pi-hole, визначивши формат IP-адреси та домену. Потім створіть файл конфігурації для dnsmasq, який посилається на цей список, і перезапустіть контейнер.
Щоб керувати системою без доступу до веб-сайту, існують дуже корисні команди, які можна виконувати з хоста. Наприклад, щоб додати домен до чорного списку, використовуйте pihole -b mydomain.com Або щоб тимчасово вимкнути фільтрацію на 10 хвилин, ви можете скористатися Відключення Піхола 10 мЦе дуже корисно, коли легітимний веб-сайт помилково заблоковано.
Контроль над домашньою рекламою цілком можливий, якщо поєднати скромне обладнання з гнучкістю Docker, забезпечити вільний порт 53 та правильно налаштувати томи для зберігання даних. Після налаштування DNS на вашому маршрутизаторі та оптимізації списків Gravity ви насолоджуватиметеся чистішою та набагато швидшою мережею на всіх ваших пристроях.
