Все локации активны · 99.99% uptime
SOCKS5

Где разрешается DNS в SOCKS5?

Это самая незаметная ошибка тех, кто пользуется прокси: IP-адрес изменён, трафик идёт через прокси — но информация о том, на какой сайт вы заходите, утекает из вашей локальной сети. Причина — в том, где выполняется разрешение DNS.

SOCKS5 даёт здесь явный выбор, и определяется он одной-единственной буквой: socks5 ли socks5h или?

Два разных пути

СХЕМАПуть разрешения имён в socks5 и socks5h
ПРОЦЕСС1socks5 — локальное разрешениеКлиент сначала делает DNS-запросЗапрос уходит к локальному резолверу и оставляетзапись2Прокси передаётся IPATYP = 0x01 (IPv4)3socks5h — удалённое разрешениеДоменное имя передаётся прокси (ATYP = 0x03)Разница в одном байте: значение ATYP

socks5 когда вы используете, клиент разрешает доменное имя сам и передаёт прокси готовый IP. Это означает, что каждый посещаемый вами сайт попадает в локальные DNS-записи.

Как возникает утечка?

При локальном разрешении DNS-запрос уходит по одному из следующих путей:

  • К резолверу вашего интернет-провайдера — фиксируется, какие сайты вы посещаете.
  • К DNS-серверу корпоративной сети — сетевой администратор видит ваш трафик.
  • К публичному резолверу — запрос выполняется с вашего реального IP.

Во всех трёх случаях приватность, обеспечиваемая прокси, частично теряется. Подробную информацию о типах утечек смотрите в нашей статье безопасен ли прокси , а для проверки — в нашем инструменте тест на утечку DNS .

Правильная конфигурация

СХЕМАПринудительное удалённое разрешение
Правильное и неправильное использование01# НЕВЕРНО — DNS разрешается локально, возникает утечка02curl --socks5 proxy.example.com:1080 https://example.com03export ALL_PROXY="socks5://proxy.example.com:1080"0405# ВЕРНО — DNS разрешается на стороне прокси06curl --socks5-hostname proxy.example.com:1080 https://example.com07export ALL_PROXY="socks5h://proxy.example.com:1080"0809# Python requests10proxies = {"https": "socks5h://kullanici:sifre@proxy.example.com:1080"} # верно11# proxies = {"https": "socks5://..."} # приводит к утечке1213# Node.js — socks-proxy-agent14new SocksProxyAgent("socks5h://proxy.example.com:1080") // верно

В схеме буква h означает «hostname». Эта разница в одну букву и есть граница между утечкой и приватностью.

Важно

Значения по умолчанию небезопасны. Во многих библиотеках запись socks5:// приводит к локальному разрешению. Составляя конфигурацию, осознанно выбирайте socks5h .

Ситуация в браузерах

При использовании SOCKS5 браузеры по умолчанию могут разрешать DNS локально. В Firefox есть явная настройка, которая это меняет:

БраузерПараметрИтог
Firefoxnetwork.proxy.socks_remote_dns → trueDNS разрешается на стороне прокси
ChromeИспользует системную настройку проксиПоведение зависит от платформы
Chrome (флаг)--proxy-server="socks5://..."Обычно выполняет удалённое разрешение

К настройке Firefox можно перейти через about:config . Подробности по браузерам смотрите в Настройки прокси в Firefox — см. нашу статью.

Как обстоит дело с HTTP-прокси?

В HTTP-прокси этой проблемы обычно нет: поскольку в строке запроса передаётся полный URL или цель CONNECT в виде доменного имени, разрешение выполняет прокси. Это значит, что с точки зрения DNS HTTP-прокси по умолчанию безопаснее.

СХЕМАПоведение при разрешении DNS
СРАВНЕНИЕHTTP-проксиSOCKS5Разрешение по умолчаниюНа стороне проксиНа стороне клиентаРиск утечкиНизкаяЗависит от конфигурацииСравнение внутреннего и внешнего адресаАвтоматическаяЯвный выбор через socks5hПриватность доменного имениСохраняетсяСохраняется при socks5h

SOCKS5 гибче, но требует больше внимания. Гибкость здесь несёт ответственность: выбор правильной схемы остаётся за вами.

Проверка

Проверьте, что ваша конфигурация действительно выполняет удалённое разрешение:

СХЕМАШаги проверки утечки DNS
ТЕСТЗапустите DNS leak testНаходится ли показанный резолвер в стране прокси?Проверьте IP выходаДействительно ли прокси задействован?Убедитесь, что вы написали socks5hПроверьте конфигурацию визуальноПроверьте настройку браузераFirefox: socks_remote_dnsОчистите системный кэш DNSСтарые записи могут ввести в заблуждениеПовторите тест в разных сетяхКорпоративная сеть может вести себя иначе

Тест на утечку вы можете с нашей страницы DNS leak test запустить, а свой IP выхода — Мой IP-адрес .

Резюме

В SOCKS5 место выполнения разрешения DNS выбирает клиент, и значение по умолчанию обычно небезопасно. socks5h Использование схемы предотвращает утечку информации о доменном имени из локальной сети. HTTP-прокси в этом отношении безопаснее по умолчанию. После составления конфигурации обязательно подтвердите её тестом на утечку — нехватка одной буквы может в значительной мере свести на нет саму цель использования прокси.

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

01В чём разница между socks5 и socks5h?

socks5h отправляет доменное имя прокси и поручает разрешение ему. socks5 же разрешает доменное имя локально и передаёт прокси готовый IP; в этом случае DNS-запрос уходит из вашей локальной сети.

02Почему важна утечка DNS?

Даже если ваш IP-адрес скрыт, то, какие сайты вы посещаете, фиксируется локальным резолвером. Это сводит на нет значительную часть приватности, которую даёт использование прокси.

03Как отключить утечку DNS в Firefox?

Перейдите на about:config и установите значение network.proxy.socks_remote_dns в true. Эта настройка обеспечивает разрешение DNS на стороне прокси при использовании SOCKS-прокси.

04А если я использую HTTP-прокси, такой проблемы не будет?

В HTTP-прокси разрешение обычно выполняет сам прокси, поэтому поведение по умолчанию безопаснее. Тем не менее подтвердить это тестом на утечку — хорошая привычка.

05Как проверить, есть ли утечка?

Запустите инструмент DNS leak test и посмотрите на расположение отображаемых резолверов. Если видны резолверы вашей страны, а прокси находится в другой, значит, утечка есть.

Связанные статьи и страницы

СЛЕДУЮЩИЙ ШАГ

Усильте свою прокси-инфраструктуру уже сегодня.

Начните с платным тарифом за считанные минуты или сначала попробуйте наш бесплатный список прокси.

FREEPROXY.TR

Ищете бесплатные прокси — вы попали по адресу

Комплексная прокси-платформа, где можно посмотреть актуальные адреса бесплатных прокси, сравнить типы HTTP и SOCKS и проверить свои прокси-подключения бесплатными инструментами.