Это самая незаметная ошибка тех, кто пользуется прокси: IP-адрес изменён, трафик идёт через прокси — но информация о том, на какой сайт вы заходите, утекает из вашей локальной сети. Причина — в том, где выполняется разрешение DNS.
SOCKS5 даёт здесь явный выбор, и определяется он одной-единственной буквой: socks5 ли socks5h или?
Два разных пути
socks5 когда вы используете, клиент разрешает доменное имя сам и передаёт прокси готовый IP. Это означает, что каждый посещаемый вами сайт попадает в локальные DNS-записи.
Как возникает утечка?
При локальном разрешении DNS-запрос уходит по одному из следующих путей:
- К резолверу вашего интернет-провайдера — фиксируется, какие сайты вы посещаете.
- К DNS-серверу корпоративной сети — сетевой администратор видит ваш трафик.
- К публичному резолверу — запрос выполняется с вашего реального IP.
Во всех трёх случаях приватность, обеспечиваемая прокси, частично теряется. Подробную информацию о типах утечек смотрите в нашей статье безопасен ли прокси , а для проверки — в нашем инструменте тест на утечку DNS .
Правильная конфигурация
В схеме буква h означает «hostname». Эта разница в одну букву и есть граница между утечкой и приватностью.
Значения по умолчанию небезопасны. Во многих библиотеках запись socks5:// приводит к локальному разрешению. Составляя конфигурацию, осознанно выбирайте socks5h .
Ситуация в браузерах
При использовании SOCKS5 браузеры по умолчанию могут разрешать DNS локально. В Firefox есть явная настройка, которая это меняет:
| Браузер | Параметр | Итог |
|---|---|---|
| Firefox | network.proxy.socks_remote_dns → true | DNS разрешается на стороне прокси |
| Chrome | Использует системную настройку прокси | Поведение зависит от платформы |
| Chrome (флаг) | --proxy-server="socks5://..." | Обычно выполняет удалённое разрешение |
К настройке Firefox можно перейти через about:config . Подробности по браузерам смотрите в Настройки прокси в Firefox — см. нашу статью.
Как обстоит дело с HTTP-прокси?
В HTTP-прокси этой проблемы обычно нет: поскольку в строке запроса передаётся полный URL или цель CONNECT в виде доменного имени, разрешение выполняет прокси. Это значит, что с точки зрения DNS HTTP-прокси по умолчанию безопаснее.
SOCKS5 гибче, но требует больше внимания. Гибкость здесь несёт ответственность: выбор правильной схемы остаётся за вами.
Проверка
Проверьте, что ваша конфигурация действительно выполняет удалённое разрешение:
Тест на утечку вы можете с нашей страницы DNS leak test запустить, а свой IP выхода — Мой IP-адрес .
Резюме
В SOCKS5 место выполнения разрешения DNS выбирает клиент, и значение по умолчанию обычно небезопасно. socks5h Использование схемы предотвращает утечку информации о доменном имени из локальной сети. HTTP-прокси в этом отношении безопаснее по умолчанию. После составления конфигурации обязательно подтвердите её тестом на утечку — нехватка одной буквы может в значительной мере свести на нет саму цель использования прокси.