Ранее в этом блоге уже разбирались 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 провайдера напрямую.
- Клиент отправляет DNS-запрос к Pi-hole.
- Pi-hole сверяет домен со списками блокировки.
- Разрешённый запрос уходит к внешнему DNS.
- Заблокированный домен получает пустой ответ.
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 на клиенте.