DNS через SOCKS5: где разрешается доменное имя
До соединения с сайтом доменное имя нужно преобразовать в IP-адрес. При работе через SOCKS5 это может сделать программа клиента либо SOCKS-сервер. Оба режима допустимы, но они создают разные сетевые маршруты DNS и иногда возвращают разные адреса. Поэтому место разрешения должно быть осознанной настройкой.
Главное за минуту
- Локальный DNS выполняется до отправки SOCKS-команды.
- Удалённый DNS передаёт серверу доменное имя как адрес назначения.
- В cURL socks5 и socks5h обозначают разные режимы.
- Рабочий прокси не гарантирует автоматически нужный маршрут DNS.
Локальное разрешение
Клиент обращается к своему настроенному резолверу, получает IPv4 или IPv6 и передаёт SOCKS-серверу числовой адрес. Такой режим зависит от DNS-среды устройства. Сервер уже не знает исходное доменное имя из поля назначения.
Разрешение на стороне SOCKS-сервера
SOCKS5 позволяет передать полностью квалифицированное доменное имя с типом DOMAINNAME. Тогда адрес выбирается в DNS-среде сервера. В cURL этому соответствует схема socks5h или параметр socks5-hostname.
Почему результаты могут отличаться
DNS-ответ зависит от используемого резолвера, кеша, доступности IPv4/IPv6 и настроек владельца домена. Различие адресов само по себе не доказывает ошибку. Сравнивать нужно время, резолвер, набор A/AAAA-записей и фактический результат соединения.
Безопасная проверка
Используйте домен собственного тестового сервиса с известными записями и логированием. Выполните локальный и удалённый режимы, затем сравните полученные адреса и успешность подключения. Не применяйте публичный сторонний сайт как единственный источник истины для производственной диагностики.
Практический чек-лист
- 1Выбрать локальный или удалённый режим сознательно.
- 2Проверить, как программа обозначает socks5h.
- 3Записать A- и AAAA-ответы контрольного домена.
- 4Учесть кеш DNS и TTL перед повторным тестом.
- 5Не публиковать реальные прокси-реквизиты в примерах.
Источники и документы
Материал подготовлен по первичным, официальным и техническим источникам. Формулировки статьи являются самостоятельным изложением.