Шифрование DNS-сервера Pi-hole на Ubuntu Server 24.04

В этом наглядном примере Линь запускает Pi-hole на Ubuntu Server 24.04 и хочет зашифровать DNS-запросы, которые Pi-hole отправляет в вышестоящий репозиторий. Установите Pi-hole dnscrypt-proxy, привяжите его к 127.0.0.1:5053репозиторию, выберите DNS-over-HTTPS (DoH), протестируйте этот локальный прокси, а затем направьте Pi-hole на него. В этом пошаговом руководстве предполагается, что Pi-hole уже установлен и работает; пример с Линь — гипотетический, а не реальный отчет об установке или тестировании.

Выберите текущий метод Министерства здравоохранения.

Pi-hole сам не обменивается данными DoH со своим вышестоящим резолвером; обычно он перенаправляет DNS-запросы на IP-адрес и порт. Локальный прокси-сервер выступает связующим звеном между двумя протоколами: Pi-hole отправляет стандартные DNS-запросы на частный локальный сервер, а прокси-сервер отправляет зашифрованные запросы на выбранный резолвер. В этом примере Linh использует dnscrypt-proxyтот же сервер и держит свой сервер в режиме обратной связи, поэтому другие устройства не могут напрямую подключиться к этому прокси-серверу.

Избегайте начала новой установки со старым cloudflared proxy-dnsрецептом. На текущей странице Pi-hole, посвященной Cloudflare, указано, что эта функция была объявлена ​​устаревшей в ноябре 2025 года, и новые установки с ее использованием не рекомендуются. Инструкции Pi-hole по использованию dnscrypt-proxy предлагают поддерживаемую альтернативу. В списке пакетов Ubuntu Noble в настоящее время присутствует dnscrypt-proxy; версии пакетов различаются в зависимости от архитектуры и могут меняться по мере публикации обновлений.

В командной строке терминала Ubuntu Server выполните команду `sudo apt install dnscrypt-proxy`.
Команда терминала Ubuntu для установки dnscrypt-proxy из репозиториев пакетов Noble.

1. Установите пакет Ubuntu.

Обновите списки пакетов APT и установите пакет из репозитория Noble:

sudo apt update
sudo apt install dnscrypt-proxy

Пакет находится в компоненте Universe в Ubuntu. Если APT не может его найти, убедитесь, что Universe включен, и запустите команду повторно sudo apt update. Не загружайте случайную сборку стороннего разработчика, чтобы обойти проблему с конфигурацией репозитория.

Прежде чем продолжить, убедитесь, что в Ubuntu установлен модуль сокетов systemd, используемый в процедуре Pi-hole:

systemctl list-unit-files dnscrypt-proxy.socket

В список файлов пакета Ubuntu Noble входит dnscrypt-proxy.socket, и инструкции Pi-hole используют этот сокет для предоставления локального DNS-слушателя, не конкурируя с собственной службой Pi-hole на порту 53.

Редактор Nano демонстрирует переопределение сокета systemd, привязанного к IP-адресу 127.0.0.1 на порту 5053.
Переопределение сокета с отключенными TCP и UDP слушателями и перенаправлением на localhost на порту 5053.

2. Привяжите прокси к локальному хосту, порт 5053.

Обычно DNS-сервис FTL в Pi-hole использует порт 53. Задайте dnscrypt-proxy другой порт и привязывайтесь только к самому серверу. Создайте переопределение в systemd:

sudo systemctl edit dnscrypt-proxy.socket

Добавьте эти строки в пустой файл переопределения, сохраните и выйдите:

[Socket]
ListenStream=
ListenDatagram=
ListenStream=127.0.0.1:5053
ListenDatagram=127.0.0.1:5053

Пустые назначения очищают исходные прослушиватели порта 53 блока сокета перед добавлением новых адресов. Важно сохранить прослушиватель по адресу 127.0.0.1: не меняйте его на 0.0.0.0для данной конфигурации на одном хосте, поскольку это откроет прокси-сервер на каждом сетевом интерфейсе.

Редактор Nano демонстрирует настройку dnscrypt-proxy с активацией сокета и резолвера cloudflare-security.
Настройки TOML для dnscrypt-proxy, использующие активацию сокета systemd и выбирающие резолвер Cloudflare Security.

3. Выберите средство разрешения DoH.

Откройте файл конфигурации пакета:

sudo nano /etc/dnscrypt-proxy/dnscrypt-proxy.toml

Установите следующие значения, сохранив при этом остальную часть конфигурации из пакета:

listen_addresses = []
server_names = ['cloudflare-security']

Пустой listen_addressesсписок указывает dnscrypt-proxy использовать активацию сокета systemd. В качестве примера в руководстве по dnscrypt-proxy на Pi-hole используется указанный резолвер Cloudflare Security; он применяет фильтрацию вредоносных программ резолвера в дополнение к собственным спискам блокировки Pi-hole. Если вы предпочитаете другого провайдера или не хотите дополнительной фильтрации безопасности, выберите актуальный DoH-резолвер из поддерживаемого публичного списка резолверов и используйте его точное имя сервера. Доступные имена и политики резолверов могут меняться, поэтому проверяйте текущую запись, а не копируйте устаревшее имя из старой публикации.

Перезапустите сокет и службу, чтобы изменения настроек и параметров TOML вступили в силу:

sudo systemctl restart dnscrypt-proxy.socket
sudo systemctl restart dnscrypt-proxy.service

Затем протестируйте локальный слушатель, прежде чем изменять исходящий канал Pi-hole:

dig @127.0.0.1 -p 5053 example.com

Ответ DNS и код завершения, равный нулю, указывают на то, что локальный прокси-сервер ответил на запрос. Чтобы подтвердить, что выбранный вышестоящий сервер использует DoH, просмотрите последние сообщения службы и найдите резолвер, помеченный как OK (DoH):

sudo journalctl -u dnscrypt-proxy.service -n 50 --no-pager
Если digон не установлен, установите пакет Ubuntu dnsutils. Если запрос завершается по таймауту или в журнале не отображается DoH-резолвер, проверьте sudo systemctl status dnscrypt-proxy.socket dnscrypt-proxy.serviceжурнал служб перед продолжением.

В командной строке терминала Ubuntu отображается команда Pi-hole для установки адреса 127.0.0.1 и порта 5053 в качестве вышестоящего DNS-сервера.
Команда CLI Pi-hole для установки локального зашифрованного DNS-прокси в качестве вышестоящего DNS-сервера.

4. Направьте Pi-hole на локальный прокси-сервер.

Только после того, как локальный тест заработает, замените список upstream-серверов Pi-hole на список локальных слушателей:

sudo pihole-FTL --config dns.upstreams '["127.0.0.1#5053"]'
sudo systemctl restart pihole-FTL.service

Значение использует собственный формат исходных DNS-серверов Pi-hole: 127.0.0.1это локальный хост и #5053указывается нестандартный DNS-порт. Вы также можете ввести его 127.0.0.1#5053в разделе «Настройки» > «DNS» > «Пользовательские DNS-серверы исходных серверов» в административном интерфейсе Pi-hole. Снимите флажки с предварительно заданных общедоступных исходных серверов и сохраните изменения, иначе Pi-hole может продолжать отправлять некоторые запросы непосредственно к ним без использования DoH.

Проверьте полный путь

Отправьте запрос непосредственно в Pi-hole, используя его LAN-адрес вместо PIHOLE_IP:

dig @PIHOLE_IP example.com

Убедитесь, что поиск выполнен успешно, в журнале запросов Pi-hole отображается запрос клиента, а в статусе службы или журналах dnscrypt-proxy указано, что выбранный вышестоящий сервер доступен. В результате путь должен быть следующим: клиент — Pi-hole через вашу локальную сеть, затем Pi-hole — локальный прокси, затем прокси — DoH-резолвер. Это шифрует участок от сервера к резолверу; это не шифрует обычный DNS-трафик между клиентом и Pi-hole в локальной сети, не скрывает запросы от выбранного резолвера и не превращает Pi-hole в VPN.

Для получения подробной информации о команде и версии обратитесь к руководству по использованию dnscrypt-proxy в Pi-hole (от 16 февраля 2026 г.), уведомлению о прекращении поддержки Cloudflared (от 12 февраля 2026 г.), записи о пакете Noble dnscrypt-proxy в Ubuntu , а также к текущему списку общедоступных резолверов DoH и DNSCrypt . Если какая-либо служба неактивна, не переключайте Pi-hole на прокси-сервер, пока локальная проверка запроса не будет успешной.

Оставить комментарий

Устраните ошибки подписи APT, восстановив ключ репозитория.

Устраните ошибки подписи APT, восстановив ключ репозитория.

Устраните предупреждения APT в Ubuntu безопасным способом, определив источник ошибки, обновив его проверенный ключ и проверив результат без отключения защиты.

Как преобразовать трехфазное напряжение, ток, кВт, кВА и коэффициент мощности.

Как преобразовать трехфазное напряжение, ток, кВт, кВА и коэффициент мощности.

Изучите формулы для расчета сбалансированных трехфазных нагрузок и пошагово преобразуйте линейное напряжение, ток, кВт, кВА и коэффициент мощности, используя пример с расчетами и контрольными пределами.

Ограничение использования ЦП и памяти командой с помощью cgroups в Ubuntu.

Ограничение использования ЦП и памяти командой с помощью cgroups в Ubuntu.

Запустите рабочую нагрузку в рамках systemd с параметрами CPUQuota и MemoryMax, а затем проверьте ограничения с помощью cgroup v2.

Шифрование DNS-сервера Pi-hole на Ubuntu Server 24.04

Шифрование DNS-сервера Pi-hole на Ubuntu Server 24.04

Настройте dnscrypt-proxy в качестве локального DoH-моста Pi-hole на Ubuntu 24.04, указав слушатель только для localhost, выбор резолвера и проверки перед переключением DNS.

Как заставить работать жесты тачпада в Ubuntu 24.04 на Wayland

Как заставить работать жесты тачпада в Ubuntu 24.04 на Wayland

Перед устранением неполадок в приложениях или оборудовании проверьте настройки тачпада Ubuntu, подтвердите наличие Wayland и протестируйте встроенные функции жестов GNOME.

Создайте зеркальный RAID 1 образ для Debian 12 с помощью mdadm.

Создайте зеркальный RAID 1 образ для Debian 12 с помощью mdadm.

Создайте и проверьте двухдисковый RAID 1-массив данных в Debian 12, отформатируйте его безопасным способом и настройте его для сборки и монтирования после перезагрузки.

Шифрование файла подкачки Debian 12 с помощью нового ключа при каждой загрузке.

Шифрование файла подкачки Debian 12 с помощью нового ключа при каждой загрузке.

Настройте шифрование с использованием случайных ключей для существующего раздела подкачки Debian 12, проверьте активное сопоставление dm-crypt и разберитесь в компромиссах, связанных с режимом гибернации.

Как ограничить доступ пользователей SSH к определенным каталогам в Ubuntu 24.04 (руководство по SFTP Chroot)

Как ограничить доступ пользователей SSH к определенным каталогам в Ubuntu 24.04 (руководство по SFTP Chroot)

Ограничьте доступ к SSH-аккаунтам Ubuntu 24.04 только для указанных SFTP-папок с помощью chroot, надлежащих разрешений, правил Match и безопасных тестов — без предоставления доступа к командной оболочке.

Безопасно снимите блокировку APT в Ubuntu и завершите обновление.

Безопасно снимите блокировку APT в Ubuntu и завершите обновление.

Определите, какой процесс владеет блокировкой интерфейса dpkg в Ubuntu, дождитесь завершения работы над пакетом и восстановите прерванные установки без удаления файлов блокировки.

Как настроить автоматическое создание снимков Btrfs на рабочем столе Ubuntu

Как настроить автоматическое создание снимков Btrfs на рабочем столе Ubuntu

Настройте запланированное создание снимков системы Btrfs в Ubuntu Desktop с помощью Timeshift, проверьте структуру подтомов Ubuntu, выберите периодичность хранения и разберитесь, что снимки защитить не могут.