Гид по технологиям

Зашифровать DNS в Ubuntu с DNSCrypt

• 4 min read • Безопасность • Обновлено 04 Dec 2025
Зашифровать DNS в Ubuntu с DNSCrypt
Зашифровать DNS в Ubuntu с DNSCrypt

Что это и зачем

DNS (Domain Name System) переводит имена сайтов в IP-адреса. DNSCrypt — это протокол и реализация (dnscrypt-proxy), которые шифруют и заверяют DNS-запросы между вашим компьютером и резолвером, предотвращая подмену ответов и прослушивание трафика.

Краткое определение: DNSCrypt — прокси, шифрующий DNS-запросы поверх защищённого канала; он не заменяет VPN, но закрывает DNS-уровень.

Основные преимущества

  • Шифрование DNS-запросов и защита от MITM.
  • Аутентификация ответов — снижает шанс DNS-хайджеков.
  • Простая настройка через dnscrypt-proxy и Network Manager.

Важно: DNSCrypt шифрует только DNS. Если у вас есть утечки по IPv6 или другие настройки, они могут раскрывать трафик. Проверьте полный набор сетевых настроек.

Совместимость и альтернативы

  • Альтернативы: DNS-over-HTTPS (DoH), DNS-over-TLS (DoT), использование безопасных публичных резолверов (например, Cloudflare/Google), systemd-resolved с DoH/DoT, Pi-hole + DoH/DoT.
  • Когда DNSCrypt может не сработать: если сеть принудительно перенаправляет DNS на свой резолвер (кастомный DHCP/ captive portal) или если провайдер блокирует порт/протокол.

Требования и подготовка

  1. Ubuntu с правами sudo.
  2. Network Manager (стандартно в десктопных выпусках).
  3. Терминал и базовые навыки редактирования сетевых настроек.

Установка DNSCrypt в Ubuntu

Откройте терминал и выполните следующие команды:

sudo add-apt-repository ppa:shnatsel/dnscrypt
sudo apt-get update
sudo apt-get install dnscrypt-proxy

Команды добавят PPA, обновят индексы пакетов и установят dnscrypt-proxy. После установки служба dnscrypt-proxy запустится и будет слушать локальный адрес.

Настройка через Network Manager (GUI)

  1. Откройте менеджер сети: кликните по значку сети и выберите «Изменить подключения».

Окно списка сетевых подключений в Ubuntu

  1. В открывшемся окне выберите ваше подключение и нажмите «Изменить».

Диалог редактирования сетевого подключения с кнопкой «Изменить»

  1. Перейдите на вкладку «IPv4 настройки». Если метод стоит «Автоматически (DHCP)», переключите на «Автоматически, только адреса (Automatic DHCP addresses only)» и введите DNS: 127.0.0.2. Нажмите «Сохранить».

Параметры IPv4 с полем для ввода DNS-адреса 127.0.0.2

Примечание: если метод настроен как «Вручную», менять метод не обязательно — достаточно указать единственный DNS-адрес 127.0.0.2.

Перезапуск сети и проверка

Перезапустите соединение или перезагрузите систему:

  • Через GUI — отключите и снова подключитесь.
  • Через терминал:
sudo systemctl restart NetworkManager

Проверка работы:

# Запрос через локальный резолвер
dig @127.0.0.2 example.com +short

# Проверка, что systemd-resolved (если используется) не конфликтует
systemd-resolve --status

Если dig возвращает IP-адреса для доменов — DNS-проксирование работает. Кроме того, можно проверить активность процесса:

systemctl status dnscrypt-proxy

Отладка и типичные проблемы

  • Ничего не работает после смены DNS: проверьте, нет ли лишних записей DNS в списке (в Ubuntu должен оставаться только 127.0.0.2).
  • Конфликт с systemd-resolved: если systemd-resolved также слушает 127.0.0.53, убедитесь, что маршрутизация DNS направлена на dnscrypt-proxy, или настройте forwarding внутри systemd-resolved.
  • Captive portals и сетевые фильтры могут препятствовать подключению к внешним резолверам — временно отключите DNSCrypt для входа.

Краткий чек-лист (быстро)

  • Пакет dnscrypt-proxy установлен.
  • В Network Manager указан DNS 127.0.0.2 и больше нет других адресов.
  • dnscrypt-proxy запущен (systemctl status dnscrypt-proxy).
  • Выполнен тест dig/nslookup через 127.0.0.2.

Критерии приёмки

  • DNS-запросы возвращают корректные ответы через 127.0.0.2.
  • Сетевые логи не показывают утечек DNS на внешние резолверы.
  • При отключении dnscrypt-proxy система перестаёт разрешать DNS через 127.0.0.2 (показывает падение сервиса).

Альтернативные подходы и когда их выбрать

  • DNS-over-HTTPS (DoH): используется, если нужен совместимый с браузерами метод (например, встроенный DoH в Firefox/Chrome).
  • DNS-over-TLS (DoT): предпочтителен для системного уровня, если ваш резолвер поддерживает DoT.
  • Pi-hole + DoH/DoT: для домашней сети с локальной фильтрацией рекламы.

Мини-руководство (SOP) для восстановления (rollback)

  1. Откройте Network Manager → Ethernet/Wi‑Fi → IPv4.
  2. Удалите 127.0.0.2 из списка DNS или верните метод на «Автоматически (DHCP)».
  3. Перезапустите NetworkManager: sudo systemctl restart NetworkManager.
  4. Остановите dnscrypt-proxy при необходимости: sudo systemctl stop dnscrypt-proxy.

Тестовые случаи и приёмка

  • Тест 1: dig @127.0.0.2 example.com — ожидаем IP-адрес.
  • Тест 2: Прослушивание сетевого трафика (tcpdump) не показывает незашифрованные DNS запросы к внешним серверам.
  • Тест 3: Поведение в условиях captive portal — ожидается временная потеря DNS до входа на портал.

Безопасность и приватность

  • DNSCrypt защищает от перехвата и подмены DNS-ответов, но не шифрует весь сетевой трафик (не заменяет VPN).
  • Проверьте политику логирования резолвера, к которому подключается dnscrypt-proxy (некоторые публичные резолверы логируют запросы).
  • Для приватности комбинируйте DNSCrypt с проверенными резолверами или используйте резолверы, декларирующие политику «без логов».

Короткий словарь

  • DNS: система сопоставления доменов с IP.
  • DNSCrypt: протокол/реализация для шифрования DNS.
  • DoH/DoT: альтернативные методы шифрования DNS (HTTPS/TLS).

Роль‑ориентированные заметки

  • Для обычного пользователя: достаточно установить пакет и указать 127.0.0.2 в сетевых настройках.
  • Для администратора: проверьте конфигурацию запуска dnscrypt-proxy и взаимодействие с systemd-resolved.
  • Для специалиста по безопасности: проверьте логи, конфигурации upstream‑резолверов и наличие утечек через IPv6.

Заключение

Настройка dnscrypt-proxy в Ubuntu — недолгая и эффективная мера для шифрования DNS-запросов и повышения устойчивости к подмене ответов. Если нужна дополнительная защита или централизованное логирование/фильтрация — рассмотрите Pi-hole или DoH/DoT решения.

Если возникли проблемы — опишите шаги, которые вы пробовали, и выводы systemctl/status и dig, чтобы быстрее диагностировать проблему.

Поделиться: X/Twitter Facebook LinkedIn Telegram
Автор
Редакция

Похожие материалы

Несколько аккаунтов Skype: Multi Skype Launcher
Программное обеспечение

Несколько аккаунтов Skype: Multi Skype Launcher

Журнал для работы: повысить продуктивность
Productivity

Журнал для работы: повысить продуктивность

Персональные звуки уведомлений на Android
Android.

Персональные звуки уведомлений на Android

Скачивание шоу Hulu для офлайн‑просмотра
Стриминг

Скачивание шоу Hulu для офлайн‑просмотра

Microsoft Start: персонализированная новостная лента
Новости

Microsoft Start: персонализированная новостная лента

Как изменить имя в Epic Games быстро
Гайды

Как изменить имя в Epic Games быстро