From 9ab5ddfa341197a85df4b805f15e3dc9336ebd0d Mon Sep 17 00:00:00 2001 From: Nikita Korotaev <104270279+iambabyninja@users.noreply.github.com> Date: Thu, 28 Nov 2024 22:12:42 +0500 Subject: [PATCH] Correct AsIs behavior --- docs/ru/config/outbounds/freedom.md | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/docs/ru/config/outbounds/freedom.md b/docs/ru/config/outbounds/freedom.md index 6083f62..aa1b7a6 100644 --- a/docs/ru/config/outbounds/freedom.md +++ b/docs/ru/config/outbounds/freedom.md @@ -33,9 +33,12 @@ Freedom — это исходящий протокол, который можн Когда целевым адресом является доменное имя, при настройке соответствующих значений Freedom будет вести себя следующим образом: -- При использовании `"AsIs"` Xray будет напрямую использовать системный стек для установления соединения. Приоритет и выбор IP-адреса зависят от системных настроек. По некоторым причинам, UDP-соединения, использующие доменные имена, игнорируют системные настройки и отдают приоритет IPv4. +- При использовании `"AsIs"` Xray будет напрямую использовать встроенную функцию `Dial` из Go для установления соединения, с фиксированным приоритетом, заданным по умолчанию в RFC6724 (игнорируя такие настройки, как `gai.conf`). *(Простыми словами: IPv6 будет использоваться с приоритетом).* +По некоторым причинам, UDP-соединения при использовании доменных имен будут игнорировать системные настройки и отдавать предпочтение IPv4. + - При указании других значений для разрешения будет использоваться [встроенный DNS-сервер](../dns.md) Xray-core. Если `DNSObject` не существует, будет использоваться системный DNS. Если имеется несколько подходящих IP-адресов, ядро случайным образом выберет один из них в качестве целевого IP-адреса. -- `"IPv4"` означает попытку подключения только по IPv4, `"IPv4v6"` — попытку подключения по IPv4 или IPv6, но для доменных имен с двумя стеками будет использоваться IPv4 (аналогично для v4v6, не будем повторяться). +- `"IPv4"` означает попытку установить соединение, используя только IPv4, `"IPv4v6"` означает попытку соединения с использованием IPv4 или IPv6, но для доменов с двойным стеком будет использоваться IPv4. *(Если поменять местами v4 и v6, логика остается аналогичной)* + - Если в настройках встроенного DNS указан `"queryStrategy"`, фактическое поведение будет объединено с этим параметром, и будут разрешаться только те типы IP, которые указаны в обоих параметрах. Например, `"queryStrategy": "UseIPv4"` и `"domainStrategy": "UseIP"` фактически эквивалентны `"domainStrategy": "UseIPv4"`. - При использовании параметров, начинающихся с `"Use"`, если результат разрешения не соответствует требованиям (например, доменное имя имеет только запись A, но используется `UseIPv6`), будет выполнен откат к `AsIs`. - При использовании параметров, начинающихся с `"Force"`, если результат разрешения не соответствует требованиям, соединение установить не удастся.