Настройка Pi-hole: фильтрация DNS на одном устройстве

Настройка Pi-hole: фильтрация DNS на одном устройстве

Marcus Reid
11 октября 2026 г.· 12 мин чтения

Безопасная настройка Pi-hole начинается с одного клиента, проверки фильтрации и понятного возврата к исходному DNS. Установите службу на отдельном компьютере локальной сети, направьте к ней только тестовый ПК и подтвердите блокировку и восстановление, прежде чем расширять использование.

Ключевые выводы:

  • Не меняйте раздачу DNS и службу DHCP на маршрутизаторе.
  • Пароль защищает управление, а межсетевой экран ограничивает клиентов DNS.
  • Отдельно проверяйте поступление запросов, блокировку, исключения и обходные пути.
  • Восстановите DNS клиента до выключения узла Pi-hole.

Что требуется, чтобы настройка Pi-hole была безопасной?

Используйте новую нативную установку Ubuntu 24.04 LTS x64 и один разрешенный клиент Windows 11 в локальной сети. Ориентиры версий: Core v6.4.3, FTL v6.7.1 и Web v6.6; сравните их со стабильной комбинацией установщика. Эти инструкции по официальной документации не прошли полного сквозного тестирования.[1][2][3]

Оцените постоянную ответственность за DNS с помощью подхода к обслуживанию собственных сетевых служб. Pi-hole фильтрует запросы доменных имен, но не убирает всю рекламу; см. объяснение фильтрации DNS.

Подготовьте доступ sudo, локальную консоль, стабильный адрес в LAN и сохраненные настройки DNS клиента. Остановитесь на управляемых клиентах, общих производственных серверах или в чужих сетях. Перед обновлением используйте Settings → Teleporter → Export и совместимую резервную копию узла; копирование баз в старую версию не является поддерживаемым способом понижения.[14]

Шаг 1: Сохраните исходную конфигурацию

В Windows Параметры → Сеть и Интернет выберите активное подключение Ethernet или Wi-Fi. Сохраните автоматический или ручной режим DNS, все серверы IPv4/IPv6, настройки шифрованного DNS и защищенный DNS браузера. Не меняйте назначение IP-адреса и шлюза; DNS браузера может обходить Windows.[5]

Запишите адрес Ubuntu, интерфейс LAN, резолвер и правила межсетевого экрана. Зарезервируйте адреса узла и тестового клиента, опознаваемого по IP, в существующей службе DHCP маршрутизатора либо используйте одобренные администратором статические адреса без конфликтов аренды. Pi-hole не берет на себя DHCP.[4]

Сохраните /etc/resolv.conf, включая цель символической ссылки, конфигурацию resolved и сведения о том, существует ли уже /etc/systemd/resolved.conf.d/90-pi-hole-disable-stub-listener.conf; сохраните любое имеющееся содержимое. Зафиксируйте исходное состояние:

readlink -f /etc/resolv.conf
resolvectl status
getent hosts example.com

Храните офлайн лист восстановления: прежний DNS, адреса узла и клиента, путь управления и добавленные правила. Журналы раскрывают домены и идентичность клиентов; собирайте локально только тестовый интервал и никогда не публикуйте журналы или резервные копии.

Шаг 2: Ограничьте DNS и управление

Проверьте слушающие процессы на Ubuntu:

sudo ss -lntup
sudo ufw status numbered

Pi-hole требует TCP и UDP 53; управление обычно использует 80/443, но возможны запасные порты. При конфликте с посторонней службой остановитесь. Установщик сам отключает только Stub Listener службы systemd-resolved, оставляя службу запущенной; DNS узла может не работать до запуска FTL. Не отключайте резолвер самостоятельно. DHCP и NTP в процедуру не входят.[4][15]

При политике запрета входящего трафика сохраните loopback, одобренные правила SSH и аварийный доступ через локальную консоль. Следующие дополнения предполагают уже проверенную политику UFW; замените интерфейс и оба адреса:

LAN_IF='enp1s0'
CLIENT_V4='192.168.1.25'
ADMIN_V4='192.168.1.10'
sudo ufw allow in on "$LAN_IF" from "$CLIENT_V4" to any port 53 proto udp
sudo ufw allow in on "$LAN_IF" from "$CLIENT_V4" to any port 53 proto tcp
sudo ufw allow in on "$LAN_IF" from "$ADMIN_V4" to any port 443 proto tcp
sudo ufw status numbered

Удаляйте только конфликтующие широкие разрешения, за которые отвечаете. Если UFW выключен или не запрещает входящий трафик, администратор должен настроить это до подключения клиента. Разрешите фактический порт HTTPS; HTTP оставьте закрытым.[6]

Примените равнозначные ограничения для IPv6 или запретите DNS по IPv6 при испытании только IPv4. Проброс портов, публичный DNS и гостевой доступ не нужны. Сохраните режим Allow only local requests, который разрешает локальную подсеть, и сузьте доступ правилами экрана. Никогда не выбирайте Permit all origins для устранения неполадок.[7]

Шаг 3: Как проходит установка Pi-hole?

Скачайте официальный установщик на узел, прочитайте его и только затем запустите с правами sudo оператора:

wget -O basic-install.sh https://install.pi-hole.net
less basic-install.sh
sudo bash basic-install.sh
pihole version
pihole status
sudo pihole setpassword

Выберите нужный интерфейс LAN и вышестоящий DNS, разрешенный сетевой политикой. Не включайте дополнительную службу DHCP. Учетную запись службы Pi-hole настраивает установщик: не запускайте ее от своего административного пользователя и не меняйте владельца файлов ради обхода ошибки. Интерактивная установка пароля не помещает секрет в аргументы команды.[8][9]

Сравните версии с указанными ориентирами; при отличиях прочитайте изменения, не смешивая старые компоненты. Если установка не удалась, не меняйте DNS Windows. Когда DNS узла перестал работать после отключения Stub Listener, используйте локальную консоль. Следующие команды допустимы только если drop-in отсутствовал до установки, а теперь содержит исключительно настройки установщика [Resolve] / DNSStubListener=no:

sudo systemctl stop pihole-FTL
sudo rm -- /etc/systemd/resolved.conf.d/90-pi-hole-disable-stub-listener.conf
sudo systemctl restart systemd-resolved
getent hosts example.com

Выполняйте по одной строке и остановитесь при ошибке команды. Если drop-in существовал раньше или был изменен, администратор должен восстановить сохраненную конфигурацию. До повторной установки сверьте resolvectl status, прежнюю цель /etc/resolv.conf и обычное разрешение имен на узле. При неудаче сохраните аварийный доступ; не перезаписывайте конфигурацию резолвера вслепую.[15][16]

Для первого входа по HTTPS откройте Firefox about:profiles на разрешенном административном ПК Windows: запишите исходный профиль по умолчанию, создайте тестовый профиль и запустите его в новом браузере.[18] Созданный Pi-hole сертификат изначально не доверен браузеру. В локальной консоли узла запишите отпечаток CA:

sudo openssl x509 -in /etc/pihole/tls_ca.crt -noout -fingerprint -sha256

Передайте только tls_ca.crt через уже доверенный путь управления, никогда не копируйте tls.pem или закрытые ключи. В Firefox откройте Настройки → Приватность и защита → Сертификаты → Просмотр сертификатов → Центры сертификации → Импорт. Выберите CA, сравните отпечаток с записью из консоли и разрешите доверие для веб-сайтов только при совпадении. CA позволяет доверять всем подписанным им сертификатам, поэтому ограничьтесь этим тестовым профилем.[17]

Открывайте имя, соответствующее сертификату и webserver.domain в /etc/pihole/pihole.toml. Если DNS административного ПК его не разрешает, сохраните исходную запись и с правами администратора временно добавьте LAN_IP hostname в Windows C:\Windows\System32\drivers\etc\hosts, заменив оба значения. Откройте это имя через разрешенный порт HTTPS; предупреждение об имени или доверии означает остановку, а не обход проверки. Войдите, проверьте режим DNS и блокировку, временно включите журнал запросов; вход не доказывает ограничение DNS.[10][17]

Шаг 4: Направьте только Windows к Pi-hole

Переключите Назначение DNS-сервера активного подключения на ручное, указав предпочтительным адрес LAN IPv4 узла Pi-hole. Назначение IP не меняйте и не добавляйте публичный альтернативный DNS, чтобы избежать обхода. Порт 53 обслуживает обычный DNS без шаблона DoH; DNS маршрутизатора остается без изменений.[5][11][13]

Проверьте DNS IPv6 отдельно. Активный альтернативный резолвер ограничивает результат проверкой IPv4. Для двух стеков нужны стабильный адрес Pi-hole IPv6, правила, разрешающие только IPv6-источник выбранного клиента, и настроенный этот резолвер. Если какой-либо активный путь не определен, остановитесь.

Временно отключите обходящий защищенный DNS браузера только в этом разрешенном тестовом профиле; запишите изменение и сохраните VPN, прокси и политики организации. Прежние сбои Windows требуют порядка диагностики устройства; сбои узла разбираются в диагностике DNS Ubuntu.

Шаг 5: Проверьте блокировку и одно исключение

Откройте журнал Pi-hole на административном устройстве. На Windows выполните новый запрос example.com: сначала явно к Pi-hole, затем через резолвер по умолчанию. Замените адрес узла в примере:

nslookup example.com 192.168.1.53
nslookup example.com

Сопоставьте время, клиента, домен и разрешенный статус в журнале. В Domains добавьте example.com как exact deny, указав тестовое назначение. Не используйте маски или регулярные выражения. Повторите оба запроса и смотрите статус блокировки, а не определенный IP-ответ: режимы блокирования могут возвращать разные ответы.[9]

Для исключения добавьте тому же домену exact allow. Точное разрешение имеет приоритет над точным запретом. Обе записи должны относиться к группе тестового клиента; в новой установке обычно используется группа по умолчанию. После разрешенного запроса удалите только временное разрешение: блокировка должна вернуться. Затем удалите временный запрет и подтвердите обычное разрешение имени. Не удаляйте существовавшие ранее правила при уборке.[12]

Это проверка решений DNS, а не внешнего вида страницы. Кэш, реклама с разрешенного домена и отдельный DNS браузера могут сохранять рекламу. Если нужна смена публичного выхода, сравните инструменты DNS и туннели всего трафика. Установка Pi-hole этой функции не предоставляет.

Шаг 6: Проверьте границы до расширения

Таблица содержит методы и ожидаемое поведение, а не результаты автора. Для проверки неразрешенного источника нужно второе ваше устройство. Без него отметьте пункт как невыполненный и не утверждайте, что граница испытана.

Метод проверкиОжидаемое наблюдениеДействие при ошибке
Новые явные и обычные запросыВ Pi-hole видны нужные клиент и доменПроверить адрес, адаптер, порты и другие резолверы
Обычный и точно запрещенный доменОбычный разрешен, тестовый отмечен заблокированнымПроверить включение правил, группы и вышестоящий DNS
Добавить и удалить exact allowИсключение разрешает; после удаления снова блокируетсяПроверить приоритет и группу клиента
Проверить IPv4, IPv6 и DNS браузераКаждый заявленный путь использует Pi-holeСузить вывод либо настроить отсутствующий путь
Запросить с собственного устройства вне спискаНи UDP, ни TCP DNS не обслуживаютсяИсправить широкие разрешения экрана
Открыть панель с устройства вне спискаИнтерфейс недоступенОграничить реальные веб-порты, включая IPv6
Восстановить прежний DNS клиентаНовый обычный запрос работает независимо от Pi-holeСверить исходный режим DNS и адреса

Один тайм-аут не доказывает отказ экрана: сравните источники при работающем Pi-hole. TCP проверьте отдельно, например командой set vc в интерактивном Windows nslookup. Внешнее сканирование не требуется.

Если одного устройства мало и нужны разные вышестоящие резолверы для разных доменов, следующий шаг — AdGuard Home с раздельными апстримами.

Шаг 7: Выполните восстановление DNS Pi-hole

Верните сохраненный автоматический режим Windows или полный ручной список DNS и параметры шифрования, а также DNS браузера. До остановки Pi-hole проверьте новый обычный запрос и ранее работавшую страницу. Сброс Microsoft использует серверы DHCP и не может восстановить ручной список.[11]

Сверьте идентичность, прежде чем удалять временные доменные записи и добавления экрана; восстановите журналирование. Выводите установку из эксплуатации официальным деинсталлятором только после того, как клиенты перестанут зависеть от Pi-hole. Храните резервные копии приватно и сохраняйте аварийный доступ до подтвержденного восстановления.[9]

В разделе центров сертификации Firefox удалите только соответствующий CA, верните исходный профиль по умолчанию и временную запись hosts. Деинсталлятор удаляет этот drop-in resolved; затем проверьте DNS узла. Для незавершенной установки нужно условное восстановление из шага 3.[16][17][18]

Итоги

  • Используйте отдельный поддерживаемый узел и меняйте DNS одного клиента.
  • Разделяйте вход администратора, доступ к DNS и работу фильтра.
  • Проверяйте IPv6 и DNS браузера как самостоятельные пути.
  • Сначала восстанавливайте DNS, затем удаляйте настройки испытания.

Часто задаваемые вопросы (FAQ)

Можно установить Pi-hole без изменения DNS маршрутизатора?

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

Обязателен ли Raspberry Pi?

Нет. Здесь используется поддерживаемая Ubuntu на x64; для описанной нативной установки отдельное устройство Raspberry Pi не требуется.

Почему панель открывается, а имена не разрешаются?

Веб-интерфейс и DNS используют разные порты и ограничения. Проверьте состояние службы DNS и оба протокола порта 53, не ослабляя аутентификацию панели.

Почему реклама остается при работающей блокировке?

Фильтр DNS блокирует совпавшие домены, но не всю рекламу внутри разрешенного домена. Отдельный DNS браузера и кэш также меняют видимый результат.

Нужен ли публичный DNS как запасной?

Не для контролируемого испытания фильтра. Альтернативный резолвер создает обходной путь; при необходимости восстановления верните исходную конфигурацию DNS.

Можно не учитывать IPv6, если IPv4 работает?

Можно ограничить испытание IPv4, явно указав это. Другие резолверы IPv6 остаются отдельным путем, который не входит в подтвержденное покрытие фильтрации.

Нужно удалить Pi-hole, чтобы отменить настройку клиента?

Нет. Сначала восстановите сохраненный DNS клиента и проверьте разрешение имен. Удаление программы — отдельное действие на узле после снятия всех зависимостей.

Отказ от ответственности: Инструкция основана на документации и не означает завершенного испытания устройств. Используйте только разрешенные устройства и сохраняйте рабочий путь восстановления.

Источники:

  1. Pi-hole Core v6.4.3 — https://github.com/pi-hole/pi-hole/releases/tag/v6.4.3
  2. Pi-hole FTL v6.7.1 — https://github.com/pi-hole/FTL/releases/tag/v6.7.1
  3. Pi-hole Web v6.6 — https://github.com/pi-hole/web/releases/tag/v6.6
  4. Pi-hole Prerequisites — https://docs.pi-hole.net/main/prerequisites/
  5. Microsoft Essential Network Settings and Tasks in Windows — https://support.microsoft.com/en-us/windows/experience/connectivity-networking/essential-network-settings-and-tasks-in-windows
  6. Ubuntu Firewall — https://ubuntu.com/server/docs/how-to/security/firewalls/
  7. Pi-hole Interface Binding Behavior — https://docs.pi-hole.net/ftldns/interfaces/
  8. Pi-hole Installation — https://docs.pi-hole.net/main/basic-install/
  9. The pihole Command — https://docs.pi-hole.net/main/pihole-command/
  10. Pi-hole Configuration — https://docs.pi-hole.net/ftldns/configfile/
  11. Microsoft Set-DnsClientServerAddress — https://learn.microsoft.com/en-us/powershell/module/dnsclient/set-dnsclientserveraddress
  12. Pi-hole Domain Database — https://docs.pi-hole.net/database/domain-database/
  13. Pi-hole Post-Install — https://docs.pi-hole.net/main/post-install/
  14. Pi-hole Web v6.6 Teleporter — https://github.com/pi-hole/web/blob/v6.6/settings-teleporter.lp
  15. Pi-hole Core v6.4.3 Installer — https://github.com/pi-hole/pi-hole/blob/v6.4.3/automated%20install/basic-install.sh
  16. Pi-hole Core v6.4.3 Uninstaller — https://github.com/pi-hole/pi-hole/blob/v6.4.3/automated%20install/uninstall.sh
  17. Pi-hole TLS/SSL — https://docs.pi-hole.net/api/tls/
  18. Firefox Profile Manager — https://support.mozilla.org/en-US/kb/profile-manager-create-remove-switch-firefox-profiles

Sources checked 11 октября 2026 г.


Рекомендуемые статьи:

Начните бесплатный 3-дневный пробный период

Зарегистрируйтесь и попробуйте все премиум-функции бесплатно.

*Только для новых пользователей. Один пробный период на пользователя.

Настройка Pi-hole: фильтрация DNS на одном устройстве | AethoVPN