Как настроить Pi-hole дома: DNS-сервер для блокировки рекламы и трекеров

346
Как настроить Pi-hole дома: DNS-сервер для блокировки рекламы и трекеров

Ранее в этом блоге уже разбирались Private DNS на Android, мифы про DNS ради быстрого пинга и базовая настройка роутера. Следующий шаг: свой DNS-сервер, который фильтрует рекламу и трекеры во всей домашней сети.

Pi-hole ставится на постоянно включённое устройство, получает постоянный IP-адрес, а роутер раздаёт такой адрес как DNS-сервер. После настройки телефоны, ноутбуки, телевизоры, приставки и IoT-гаджеты проходят через общий фильтр, который отсекает рекламные сети, аналитические домены и известные вредоносные адреса.

Pi-hole не заменяет VPN, антивирус, HTTPS, обновлённую прошивку роутера, сильный пароль администратора, отключённый WPS и отдельную гостевую сеть. DNS-фильтр видит доменное имя, но не читает содержимое страницы, не проверяет файлы и не шифрует трафик. YouTube, часть мобильных приложений и крупные платформы могут обходить такую защиту.

Как Pi-hole работает в домашней сети

В домашней сети роутер раздаёт устройствам IP-адреса и вместе с адресами передаёт DNS-сервер. Обычно клиенты получают DNS провайдера или адрес самого роутера. После установки Pi-hole роутер раздаёт адрес локального фильтра, например 192.168.1.10, а телефон или ноутбук больше не спрашивает DNS провайдера напрямую.

  1. Клиент отправляет DNS-запрос к Pi-hole.
  2. Pi-hole сверяет домен со списками блокировки.
  3. Разрешённый запрос уходит к внешнему DNS.
  4. Заблокированный домен получает пустой ответ.

Pi-hole полезен в сети с разными устройствами: браузер, планшет, Smart TV и приставка проходят через один локальный DNS.

Слабое место такой схемы связано с зависимостью от одного локального сервера. Если устройство с Pi-hole выключится, зависнет или получит другой IP-адрес, клиенты могут потерять доступ к сайтам. Поэтому Pi-hole ставят на Raspberry Pi, мини-ПК, NAS или другой постоянно включённый Linux-хост.

Что подготовить перед установкой Pi-hole

Перед установкой Pi-hole нужно решить, где будет работать сервер, какой локальный адрес получит устройство и кто в сети раздаёт DHCP. Постоянный адрес лучше закрепить через DHCP-резервацию в роутере: Pi-hole будет получать один и тот же IP, а остальные клиенты не займут адрес случайно.

Pi-hole не требует мощного железа. По официальным требованиям достаточно 512 МБ оперативной памяти и минимум 2 ГБ свободного места, но 4 ГБ оставят запас для обновлений, журналов и базы доменов. Подойдут Debian, Ubuntu, Raspberry Pi OS, Fedora, Alpine и Armbian.

Проверьте порт 53. DNS работает через 53/TCP и 53/UDP, поэтому systemd-resolved, другой DNS-сервис или соседний контейнер может помешать запуску. В типовой Docker-конфигурации Pi-hole публикует 53/TCP, 53/UDP, 80/TCP и 443/TCP. Порт 67/UDP нужен только для DHCP.

Классическая установка на Linux запускается командой из официальной инструкции:

curl -sSL https://install.pi-hole.net | bash

Команда запускает установщик сразу из интернета, поэтому перед выполнением нужно сверить адрес. Более безопасный путь: скачать скрипт, просмотреть содержимое и запустить вручную.

Во время установки мастер предложит выбрать сетевой интерфейс, внешний DNS и параметры веб-панели. Внешним DNS можно назначить Google, Quad9, Cloudflare или собственный сервер через Custom. Pi-hole обновляется командой pihole -up, а Docker-установка через обновление образа и пересоздание контейнера.

Как подключить Pi-hole к роутеру через DHCP

Сначала проверьте Pi-hole на одном устройстве. На Windows временно укажите DNS в параметрах сетевого адаптера, на macOS и Linux измените сетевые настройки. На Android используйте параметры конкретной Wi-Fi-сети, а не Private DNS: системный Private DNS ждёт DoT-сервер по имени, а локальный Pi-hole принимает обычные DNS-запросы на порту 53.

После ручной настройки откройте веб-панель Pi-hole и посмотрите Query Log. Если запросы от тестового устройства появились, фильтр работает. Проверить ответ Pi-hole можно командой nslookup example.com 192.168.1.10. На Linux и macOS вместо nslookup можно использовать dig, если утилита установлена.

После проверки меняйте роутер. В панели управления ищите «LAN», «DHCP Server», «Локальная сеть», «DNS Server» или «Primary DNS». В поле основного DNS укажите адрес Pi-hole. Лучше менять DNS в DHCP-настройках локальной сети, а не только DNS в WAN-разделе. Тогда Pi-hole увидит отдельные устройства, а не один роутер за весь дом.

Второй DNS многие клиенты используют не только при аварии. Если указать 8.8.8.8 или другой публичный резолвер во втором поле, часть запросов пойдёт мимо Pi-hole. Для резерва лучше поднять второй Pi-hole или заранее знать, где быстро вернуть настройки роутера назад.

IPv6 тоже надо проверить. Если роутер раздаёт клиентам IPv6 DNS от провайдера, часть запросов обойдёт Pi-hole. В настройках роутера нужно раздавать адрес Pi-hole и для IPv6, корректно настроить DNS для IPv6 или отключить IPv6, если сеть не использует такой режим осознанно. После сохранения настроек переподключите Wi-Fi, обновите DHCP-аренду или перезагрузите роутер. На Windows проверьте DNS через ipconfig /all.

Списки блокировки Pi-hole и белый список

Pi-hole блокирует домены по спискам. В списки попадают рекламные сети, аналитические платформы, вредоносные адреса, фишинговые домены и телеметрия. Механизм Gravity загружает источники и строит локальную базу. Пользователь может добавлять списки, отключать лишние источники, блокировать домены вручную и создавать исключения.

Не подключайте сразу десятки огромных подборок. Большая цифра в панели не означает лучшую фильтрацию. Агрессивные списки часто ломают оплату, авторизацию, письма подтверждения, банковские приложения, личные кабинеты, капчи и видеоплееры. Лучше оставить стартовый набор на первые дни, добавлять новые источники по одному, после каждого изменения обновлять Gravity и проверять привычные сайты.

Белый список нужен в любой живой домашней сети. Если приложение банка перестало присылать уведомления, магазин не открывает оплату, а телевизор зависает при входе в аккаунт, откройте Query Log и посмотрите, какие домены блокировались в момент ошибки. Часто хватает одного исключения.

DoH и DoT могут обойти локальный фильтр. Если браузер, смартфон или приложение использует собственный зашифрованный DNS, Pi-hole может не увидеть запросы. После настройки проверьте Private DNS на Android, Secure DNS в браузерах и сетевые параметры приложений.

Безопасность Pi-hole и проверка после запуска

Pi-hole должен оставаться внутри домашней сети. Не пробрасывайте порт 53 и веб-панель наружу через роутер. Публичный DNS-резолвер быстро начнут использовать посторонние клиенты, мусорный трафик и атаки. Панель администратора тоже не должна быть доступна из интернета.

Журнал Pi-hole показывает домены, к которым обращаются устройства. DNS не раскрывает содержимое страниц, переписку и пароли, но список доменов многое говорит о привычках пользователей. В общей квартире или гостевой сети такую видимость не стоит превращать в слежку.

Если сайты перестали открываться после настройки, проверьте питание и сеть устройства с Pi-hole, веб-панель, текущий IP-адрес, DNS на клиентах, IPv6, Private DNS, Secure DNS, VPN и сетевые профили. Для быстрого отката верните DNS в роутере на автоматический режим, переподключите Wi-Fi и проверьте доступ к сайтам.

Некоторые устройства игнорируют DNS роутера и обращаются к публичным резолверам напрямую. Часть роутеров умеет перенаправлять запросы на порт 53 к Pi-hole через NAT или firewall. В простых домашних моделях такой функции может не быть. Тогда остаётся ручная настройка клиентов или переход на более гибкий роутер.

После запуска Pi-hole проверьте сам роутер: смените пароль администратора, отключите WPS, обновите прошивку, вынесите гостей в отдельную Wi-Fi-сеть, а умные лампочки, камеры и розетки по возможности отделите от основных устройств. Затем проверьте сайты, мессенджеры, банковское приложение, оплату и телевизор. Если сервисы работают, а в журнале видны заблокированные рекламные и аналитические домены, домашний DNS-сервер режет лишние запросы и не мешает пользоваться интернетом.

FAQ по Pi-hole дома

Pi-hole блокирует рекламу на YouTube?

Полностью нет. YouTube часто отдаёт рекламу и полезный контент через общую инфраструктуру, поэтому DNS-фильтр не может отделить одно от другого.

Нужно ли указывать второй DNS в роутере?

Публичный второй DNS может обходить Pi-hole. Для резерва лучше поднять второй Pi-hole или вернуть DNS роутера на автоматический режим при сбое.

Почему после Pi-hole перестал открываться интернет?

Частые причины: выключенный сервер, сменившийся IP-адрес, конфликт порта 53, ошибка DHCP, IPv6 DNS мимо Pi-hole или включённый Private DNS на клиенте.

Pi-hole DNS роутер Docker приватность
Alt text
Обращаем внимание, что все материалы в этом блоге представляют личное мнение их авторов. Редакция SecurityLab.ru не несет ответственности за точность, полноту и достоверность опубликованных данных. Вся информация предоставлена «как есть» и может не соответствовать официальной позиции компании.
21 МАЯ · 11:00
// Вебинар
SECURITM
Идеальное преступление против рутины: автоматизация ИБ от SECURITM
Регистрируйтесь сейчас
Реклама. ООО «Секъюритм», ИНН 7820074059, 18+ · erid: 2SDnjdhSofG