We detected you are likely not from a Russian-speaking region. Would you like to switch to the international version of the site?

  Назад к списку статей

Настройка собственного DNS‑резолвера с поддержкой DNS‑over‑HTTPS в Termux для ускоренного и безопасного разрешения имён

Ускорьте и обезопасьте разрешение DNS-имен в Termux, настроив собственный DNS-резолвер с поддержкой DNS-over-HTTPS. Пошаговая инструкция от экспертов РыбинскЛАБ.

Termux – мощная среда эмуляции Linux для Android, предоставляющая доступ к широкому спектру инструментов командной строки. Одним из важных аспектов сетевого взаимодействия является разрешение DNS-имен – преобразование понятных человеку доменных имен (например, google.com) в IP-адреса, необходимые для установления соединения. В данной статье мы рассмотрим, как настроить собственный DNS-резолвер в Termux с использованием DNS-over-HTTPS (DoH), что позволит повысить скорость и безопасность этого процесса.

Преимущества использования собственного DNS-резолвера с DoH

  • Повышение скорости: Локальный DNS-резолвер кэширует ответы, что сокращает время разрешения имен для часто посещаемых сайтов.
  • Улучшенная безопасность: DoH шифрует DNS-запросы, предотвращая перехват и манипуляции с ними.
  • Конфиденциальность: Использование стороннего DNS-сервера может позволить ему отслеживать историю ваших запросов. Собственный DNS-резолвер позволяет вам контролировать эту информацию.
  • Контроль: Вы сами выбираете DNS-серверы, которым доверяете.

Необходимые инструменты

Для реализации нам понадобятся следующие инструменты, доступные в Termux:

  • dnsmasq: Легковесный DNS- и DHCP-сервер.
  • curl: Инструмент для отправки HTTP-запросов, необходимый для DoH.
  • stubby: (Опционально) Альтернативный DoH-клиент.

Установка необходимых пакетов

Обновите список пакетов и установите необходимые инструменты:

pkg update && pkg upgrade
pkg install dnsmasq curl

(Необязательно) Установка stubby:

pkg install stubby

Настройка dnsmasq

Отредактируйте конфигурационный файл dnsmasq. Сначала создадим резервную копию:

cp /etc/dnsmasq.conf /etc/dnsmasq.conf.bak

Затем откройте файл в текстовом редакторе (например, nano):

nano /etc/dnsmasq.conf

Внесите следующие изменения (или добавьте, если их нет):

no-resolv
server=8.8.8.8
server=8.8.4.4

Замените 8.8.8.8 и 8.8.4.4 на адреса предпочитаемых DNS-серверов. Это будут upstream DNS-серверы, к которым будет обращаться dnsmasq. Вы можете использовать и другие публичные DNS-серверы, например, Cloudflare (1.1.1.1, 1.0.0.1) или Quad9 (9.9.9.9, 149.112.112.112).

Сохраните файл и выйдите из редактора.

Настройка DNS-over-HTTPS с помощью curl

Для использования DoH, dnsmasq необходимо настраивать для отправки запросов через HTTP. Это можно сделать с помощью curl. В конфигурационном файле dnsmasq.conf добавьте (или измените существующую) строку server, указав DoH-сервер:

server=/example.com/dns-query 127.0.0.1#53

Замените /example.com/dns-query на URL DoH-сервера, который вы хотите использовать. Например, для Cloudflare:

server=/https-dns.cloudflare.com/dns-query 127.0.0.1#53

Настройка DNS-over-HTTPS с помощью stubby (альтернативный метод)

Если вы установили stubby, то настройка будет проще. Отредактируйте файл /etc/stubby/stubby.yml и укажите предпочитаемые DoH-серверы.

После настройки запустите stubby:

stubby -i

В dnsmasq.conf укажите 127.0.0.1#53 как DNS-сервер.

Запуск и проверка dnsmasq

Запустите dnsmasq:

dnsmasq

Проверьте, что dnsmasq работает:

ps aux | grep dnsmasq

Проверьте разрешение имен с помощью команды nslookup или dig:

nslookup google.com

Убедитесь, что разрешение происходит через ваш настроенный DNS-сервер. Вы можете проверить это, посмотрев на IP-адрес, возвращенный nslookup, и сравнив его с IP-адресами, возвращаемыми при прямом запросе к вашему upstream DNS-серверу.

Настройка Termux для использования локального DNS-резолвера

Чтобы Termux использовал ваш локальный DNS-резолвер, необходимо изменить настройки сети Termux. Это можно сделать, отредактировав файл /etc/resolv.conf. Важно понимать, что этот файл может перезаписываться при каждом запуске Termux, поэтому для сохранения изменений необходимо использовать специальные методы, например, создание скрипта, который будет запускаться при старте Termux. Альтернативно, можно использовать VPN-подключение для создания локальной сети и настройки DNS-сервера в настройках VPN-клиента. Это наиболее надежный способ гарантировать, что Termux всегда использует ваш локальный DNS-резолвер.

Заключение

В этой статье мы рассмотрели, как настроить собственный DNS-резолвер с поддержкой DNS-over-HTTPS в Termux. Это позволит вам ускорить и обезопасить разрешение DNS-имен, а также получить больше контроля над вашим сетевым трафиком. Если у вас возникли сложности с настройкой или вам требуется помощь в решении других задач, связанных с Termux и Android, обращайтесь в РыбинскЛАБ. Мы предлагаем широкий спектр услуг по настройке, администрированию и обеспечению безопасности мобильных устройств.

* Текст статьи подготовлен и структурирован с использованием технологий искусственного интеллекта. Проверен и доработан перед публикацией.

Нужна помощь с настройкой Termux, Linux и серверов?

Я оказываю ИТ-услуги: настройка серверов, автоматизация, безопасность, помощь с Linux и инфраструктурой. Материалы сайта — только в ознакомительных и образовательных целях.

Связаться со мной
Поддержать проект