Зашифровать 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) или если провайдер блокирует порт/протокол.
Требования и подготовка
- Ubuntu с правами sudo.
- Network Manager (стандартно в десктопных выпусках).
- Терминал и базовые навыки редактирования сетевых настроек.
Установка 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)
- Откройте менеджер сети: кликните по значку сети и выберите «Изменить подключения».

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

- Перейдите на вкладку «IPv4 настройки». Если метод стоит «Автоматически (DHCP)», переключите на «Автоматически, только адреса (Automatic DHCP addresses only)» и введите 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)
- Откройте Network Manager → Ethernet/Wi‑Fi → IPv4.
- Удалите 127.0.0.2 из списка DNS или верните метод на «Автоматически (DHCP)».
- Перезапустите NetworkManager: sudo systemctl restart NetworkManager.
- Остановите 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, чтобы быстрее диагностировать проблему.
Похожие материалы
Несколько аккаунтов Skype: Multi Skype Launcher
Журнал для работы: повысить продуктивность
Персональные звуки уведомлений на Android
Скачивание шоу Hulu для офлайн‑просмотра
Microsoft Start: персонализированная новостная лента