Я хочу показать вам простой, но очень эффективный способ усилить безопасность вашей сети и улучшить блокировку рекламы, установив Pi-hole v6 через Docker Compose.
В этом руководстве я также расскажу, как настроить туннелирование DNS-трафика через Cloudflare, чтобы ваш интернет-провайдер не мог видеть ваши запросы, а вы сохраняли полный контроль. Я сам протестировал этот подход и считаю его одновременно надежным и эффективным.
В этом посте вы узнаете, как настроить новую версию Pi-hole с расширенной фильтрацией, улучшенной панелью управления и встроенными функциями, которые делают её особенной. Я также покажу Docker Compose-файл, с помощью которого вы сможете запустить Pi-hole v6 и Cloudflare вместе. Давайте приступим.
Почему стоит выбрать Pi-hole v6 для DNS-фильтрации?
Pi-hole v6 поднимает безопасность сети и блокировку рекламы на новый уровень. Встроенный веб-сервер, REST API и обновлённый интерфейс делают его более удобным, простым в обслуживании и максимально эффективным для блокировки нежелательного контента. Ниже я перечислю несколько причин, почему рекомендую Pi-hole v6 по сравнению с предыдущими версиями:
- Более высокая производительность: Pi-hole v6 работает как легковесный сервис и почти не потребляет ресурсы.
- Расширенная фильтрация: Управляйте блоклистами и списками разрешённых доменов более тонко, чем в старых версиях.
- Единый файл конфигурации: Упрощает настройку, объединяя несколько конфигов в один TOML-файл.
- Встроенная поддержка HTTPS: Можно сразу сгенерировать SSL-сертификаты, хотя я чаще использую реверс-прокси для удобства.
- Эффективный Docker-образ: Теперь на базе Alpine, что уменьшает размер образа и ускоряет загрузку.
На мой взгляд, Pi-hole v6 практически не нагружает систему и заметно улучшает блокировку доменов, управление DNS-запросами и локальное разрешение DNS. Новый интерфейс выглядит знакомо, но современно, так что новичкам будет легко освоиться.
Основные улучшения в Pi-hole v6
С выходом Pi-hole v6 в нём появились базовые изменения, которые отличают его от предыдущих версий. Вот краткий обзор всего интересного и нового:
Встроенный веб-сервер и REST API
В предыдущих версиях Pi-hole требовались внешние сервисы вроде lighttpd и PHP. Теперь всё встроено прямо в основной бинарный файл Pi-hole, включая веб-сервер. Это снижает нагрузку на систему и упрощает работу, поскольку позволяет управлять DNS-фильтрацией и продвинутыми настройками из одного места.
Расширенная фильтрация с помощью списков разрешённых доменов
В Pi-hole v6 появился более гибкий способ работать со списками блокировки и списками разрешённых доменов. Теперь вы можете избирательно разрешать определённые домены, переворачивая привычный подход «только блокировка». Это особенно полезно, когда нужно гарантировать доступ к каким-то сайтам, даже если у вас жёсткие блоклисты.
Обновлённый интерфейс
Пользовательский интерфейс стал симпатичнее, но при этом остался узнаваемым. Мне кажется, что навигация стала удобнее, а макет более понятным. Вы быстро найдёте такие функции, как журнал запросов (Query Logs), настройки DNS и Gravity (движок блокировки), что упростит ежедневное управление.
Настройка Cloudflare-туннеля для Pi-hole v6
Направляя трафик Pi-hole v6 через туннель Cloudflare, вы получаете дополнительную защиту приватности. Такой подход шифрует DNS-запросы, так что ваш интернет-провайдер не видит, какие сайты вы запрашиваете.
Вместо этого единственным внешним сервисом, которому известны ваши DNS-запросы, становится Cloudflare. Этот вариант подходит не всем, но если вас волнует анонимность, возможно, стоит его рассмотреть.
Конфигурация Docker Compose для Pi-hole v6
Ниже приведён Docker Compose-файл, который я использую в качестве основы для Pi-hole v6. В нём есть контейнер Cloudflare для проксирования DNS и сам Pi-hole.
Рекомендую внимательно просмотреть каждый раздел, чтобы подстроить конфигурацию под себя. Замените все заглушки вроде
version: '3'
services:
cloudflared:
container_name: cloudflared
restart: unless-stopped
image: cloudflare/cloudflared:latest
command: proxy-dns
environment:
- "TUNNEL_DNS_UPSTREAM=https://1.1.1.1/dns-query,https://1.0.0.1/dns-query,https://9.9.9.9/dns-query,https://149.112.112.9/dns-query"
- "TUNNEL_DNS_PORT=5053"
- "TUNNEL_DNS_ADDRESS=0.0.0.0"
networks:
pihole_internal:
ipv4_address:
security_opt:
- no-new-privileges:true
pihole:
container_name: pihole
image: pihole/pihole:latest
ports:
- "53:53/tcp"
- "53:53/udp"
# - "67:67/udp" # Uncomment if you plan to use Pi-hole DHCP
- "500:80/tcp"
# - "443:443/tcp"
networks:
pihole_internal:
ipv4_address:
proxy:
environment:
TZ: 'Europe/Prague'
FTLCONF_webserver_api_password: ''
FTLCONF_dns_listeningMode: 'all'
FTLCONF_dns_upstreams: '#5053'
volumes:
- '/home/ubuntu/docker/pihole/:/etc/pihole/'
- '/home/ubuntu/docker/pihole/etc-dnsmasq.d/:/etc/dnsmasq.d/'
restart: unless-stopped
depends_on:
- cloudflared
labels:
- "traefik.enable=true"
- "traefik.http.routers.pihole.entrypoints=http"
- "traefik.http.routers.pihole.rule=Host(``)"
- "traefik.http.middlewares.pihole-https-redirect.redirectscheme.scheme=https"
- "traefik.http.routers.pihole.middlewares=pihole-https-redirect"
- "traefik.http.routers.pihole-secure.entrypoints=https"
- "traefik.http.routers.pihole-secure.rule=Host(``)"
- "traefik.http.routers.pihole-secure.tls=true"
- "traefik.http.routers.pihole-secure.service=pihole"
- "traefik.http.services.pihole.loadbalancer.server.port=80"
- "traefik.docker.network=proxy"
networks:
pihole_internal:
ipam:
config:
- subnet: 172.70.9.0/29
name: pihole_internal
proxy:
external: true
Обычно я держу контейнеры Cloudflare и Pi-hole в изолированной приватной сети. Это снижает риск прямого доступа к Pi-hole из интернета. Затем можно подключить внешнюю прокси-сеть (как proxy в примере), чтобы пропускать трафик через выбранный вами реверс-прокси, например Traefik или Nginx Proxy Manager.
Развёртывание Pi-hole v6 с помощью Docker Compose
Отредактировав Docker Compose-файл под свою среду, перейдите в соответствующую папку проекта в терминале. Затем выполните команду:
docker-compose up -d
Эта команда загрузит последние образы (если они у вас не скачаны), настроит сети и запустит контейнеры. После завершения процесса вы можете проверить, всё ли работает, с помощью:
docker-compose ps
Первый вход в панель управления Pi-hole v6

Когда контейнеры запустятся, откройте браузер и перейдите по адресу http://<your-domain.com>/admin
. Вы увидите новую панель управления Pi-hole v6. Войдите в систему, используя пароль, который вы указали в переменной FTLCONF_webserver_api_password
в Docker Compose-файле.
Обзор основных разделов панели
В интерфейсе Pi-hole вы найдёте несколько разделов для управления DNS-фильтрацией, блоклистами, списками разрешённых доменов и другими расширенными функциями:
- Dashboard (Панель управления): Показывает общий обзор DNS-запросов, заблокированных доменов и сетевого трафика.
- Query Log (Журнал запросов): Отображает все запросы, проходящие через Pi-hole, а также информацию о том, разрешены они или заблокированы.
- Groups & Clients (Группы и клиенты): Позволяет настраивать правила фильтрации для отдельных устройств или их групп.
- Domain Manager (Менеджер доменов): Удобен для более детального управления доменами — можно использовать шаблонную блокировку или конкретные записи.
- Lists (Списки): Добавляйте новые блоклисты или списки разрешённых доменов, чтобы уточнять стратегию фильтрации.
- Settings (Настройки): Здесь находятся параметры DNS, расширенные настройки веб-сервера, логи и многое другое.
Лично мне больше всего нравится, насколько упростилось управление пользовательскими списками. Хотите ли вы блокировать рекламу, трекеры или вредоносные домены — новая структура делает это практически незаметным.
Апстрим DNS и Cloudflare
В вашем Docker Compose-файле указано, что Pi-hole перенаправляет DNS-запросы на контейнер Cloudflare (внутренний адрес на порте 5053). Таким образом, все DNS-запросы шифруются и ваш провайдер не видит их содержание.
Однако Cloudflare продолжает их видеть, ведь это ваш DNS-провайдер. Решите сами, насколько такой вариант соответствует вашим требованиям к приватности.
Включение DHCP (необязательно)
Если вы хотите, чтобы Pi-hole отвечал и за DHCP, отредактируйте Docker Compose-файл: откройте порт 67/udp и добавьте NET_ADMIN
в параметры cap_add.
После этого зайдите в «Settings» > «DNS» или «DHCP» на панели Pi-hole и включите DHCP. Затем можно выключить DHCP на вашем роутере, чтобы освободить эту функцию для Pi-hole.

Миграция с Pi-hole v5 на v6
Хотите обновиться с более старой версии Pi-hole? Вот что я делал в тестовой среде:
- Сделайте резервную копию старых конфигов: Экспортируйте настройки Pi-hole v5 через функцию «teleporter». Сохраните блоклисты, списки разрешённых доменов и локальные DNS-записи.
- Остановите старый контейнер: Остановите Pi-hole v5, чтобы он не конфликтовал с новым контейнером на порту 53.
- Используйте те же тома (volumes): Направьте Pi-hole v6 на те же каталоги, что и предыдущая версия. Pi-hole обычно сам подхватывает и мигрирует конфигурации, если они совместимы.
- Убедитесь, что всё работает: Проверьте разрешение DNS, работу блоклистов и доступ к интерфейсу. При необходимости импортируйте резервную копию («teleporter»).

Решение проблем с Pi-hole v6
Несмотря на стабильность Pi-hole v6, иногда могут возникать сложности во время установки или первой настройки. Вот несколько распространённых случаев и решения:
- Конфликты портов: Если на вашей системе уже запущены службы DNS или веб-сервер, Pi-hole может не стартовать. Освободите порты 53 и 80 или поменяйте их в файле Compose.
- Туннель Cloudflare не подключается: Перепроверьте переменные окружения в
TUNNEL_DNS_UPSTREAM
. Убедитесь, что контейнер имеет доступ в сеть. - Утечки DNS: Убедитесь, что устройства в локальной сети действительно используют IP-адрес Pi-hole как DNS-сервер. Иногда роутер или DHCP могут переопределять эти настройки.
- Проблемы с правами на тома: Убедитесь, что пользователь Docker имеет права на запись в директории хоста, которые маппятся на
/etc/pihole
и/etc/dnsmasq.d
.
Что нового в Pi-hole v6 (официальные моменты релиза)
Встроенный веб-сервер и REST API: В Pi-hole v6 теперь есть собственный веб-сервер и переработанный API в одном бинарном файле. Это даёт более компактный размер и более шуструю работу, а также более удобный журнал запросов с серверной пагинацией. Добавлена поддержка Lua, что позволяет ещё глубже кастомизировать интерфейс.
Продвинутая фильтрация и списки разрешённых доменов: Вместе с классическими блоклистами Pi-hole v6 предлагает «Antigravity» списки для разрешения доменов. Подписывайтесь на такие «allowlists», и вы сможете избирательно пропускать нужные домены без огромного списка исключений.
Единые файлы конфигурации: Ряд настроек теперь объединён в один TOML-файл /etc/pihole/pihole.toml
. При обновлении с v5 ваши текущие настройки мигрируются автоматически. Изменять конфиги можно, отредактировав TOML-файл, используя команду pihole-FTL --config
, через API или через переменные окружения.
Обновлённый пользовательский интерфейс: Настройки теперь разделены на «Basic» и «Expert» режимы, чтобы каждый мог выбрать нужный уровень детализации. Благодаря этому обновлённому дизайну и новички, и опытные пользователи найдут удобную для себя структуру.
Поддержка HTTPS: Pi-hole v6 умеет самостоятельно генерировать HTTPS-сертификаты или принимать уже готовые. Если вы хотите обеспечить безопасность панели «по умолчанию», это можно сделать без привлечения внешних веб-серверов.
Улучшения в Docker: Теперь образ построен на базе Alpine, что существенно уменьшает его размер. Это более «лёгкое» решение, которое в перспективе даст ещё больше гибкости в поддержке различных систем.
Заключение
Pi-hole v6 предлагает свежий и эффективный подход к блокировке рекламы и DNS-фильтрации. Если вы добавите к этому туннель Cloudflare, то ещё больше улучшите приватность, скрывая свои DNS-запросы от провайдера.
Независимо от того, хотите ли вы углубиться в расширенную фильтрацию с помощью allowlist или просто оценить обновлённый интерфейс, Pi-hole v6 — отличный выбор для домашней лаборатории или само-хостинга.
Я настоятельно рекомендую попробовать Pi-hole v6, особенно если вам нравились предыдущие версии. С Docker Compose весь процесс установки прост, воспроизводим и легко поддерживается.
При правильном планировании вы быстро запустите у себя продвинутую DNS-фильтрацию и блокировку рекламы вместе со всеми новыми возможностями Pi-hole v6.