Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
42 changes: 21 additions & 21 deletions docs/ru/config/dns.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,15 +4,15 @@

Встроенный модуль DNS в Xray имеет три основных назначения:

- На этапе маршрутизации (Routing): резолвинг доменов в IP и сопоставление правил на основе полученных IP для разделения трафика. Будет ли выполняться резолвинг и разделение трафика, зависит от значения `domainStrategy` в конфигурации модуля маршрутизации. Встроенный DNS-сервер используется для запросов только при установке следующих двух значений:
- "IPIfNonMatch": при запросе домена сначала выполняется сопоставление по правилам `domain`. Если совпадений нет, выполняется запрос к встроенному DNS-серверу для получения IP, после чего снова выполняется сопоставление правил маршрутизации по IP.
- "IPOnDemand": при обнаружении любого правила, основанного на IP, домен немедленно резолвится в IP для сопоставления.
- На этапе маршрутизации (Routing): резолвинг доменов в IP и сопоставление правил на основе полученных IP для разделения трафика. Будет ли выполняться резолвинг и разделение трафика, зависит от значения `domainStrategy` в конфигурации модуля маршрутизации. Встроенный DNS-сервер используется для запросов только при установке следующих двух значений:
- "IPIfNonMatch": при запросе домена сначала выполняется сопоставление по правилам `domain`. Если совпадений нет, выполняется запрос к встроенному DNS-серверу для получения IP, после чего снова выполняется сопоставление правил маршрутизации по IP.
- "IPOnDemand": при обнаружении любого правила, основанного на IP, домен немедленно резолвится в IP для сопоставления.

- Резолвинг целевого адреса для подключения:
- Например, в `freedom` Outbound, если `domainStrategy` установлен в `UseIP`, запрос, исходящий из этого Outbound, сначала будет разрешен в IP через встроенный сервер, а затем произойдет подключение.
- Например, в `sockopt`, если `domainStrategy` установлен в `UseIP`, системное подключение, инициированное этим Outbound, сначала будет разрешено в IP встроенным сервером.
- Резолвинг целевого адреса для подключения:
- Например, в `freedom` Outbound, если `domainStrategy` установлен в `UseIP`, запрос, исходящий из этого Outbound, сначала будет разрешен в IP через встроенный сервер, а затем произойдет подключение.
- Например, в `sockopt`, если `domainStrategy` установлен в `UseIP`, системное подключение, инициированное этим Outbound, сначала будет разрешено в IP встроенным сервером.

- Перехват DNS-трафика в режиме Transparent Proxy или работа в качестве рекурсивного DNS-сервера, открытого на порту 53.
- Перехват DNS-трафика в режиме Transparent Proxy или работа в качестве рекурсивного DNS-сервера, открытого на порту 53.

::: tip TIP 1
DNS-запросы, отправляемые встроенным DNS-сервером, автоматически перенаправляются в соответствии с конфигурацией маршрутизации (Routing).
Expand All @@ -26,14 +26,14 @@ DNS-запросы, отправляемые встроенным DNS-серве

Если запрашиваемый домен:

- Попадает в маппинг «домен - IP» или «домен - массив IP» в `hosts`, то этот IP или массив возвращается как результат DNS-резолвинга.
- Попадает в маппинг «домен - домен» в `hosts`, то значение (другой домен) становится текущим запрашиваемым доменом и снова проходит процесс обработки DNS, пока не будет получен IP или пустой ответ.
- Не попал в `hosts`, но попал в список доменов `domains` одного (или нескольких) DNS-серверов, то запрос выполняется через эти серверы в порядке приоритета правил. Если запрос к выбранному серверу не удался или `expectedIPs` не совпали, используется следующий подходящий сервер; в противном случае возвращается полученный IP. Если все подходящие серверы не смогли выполнить запрос или `expectedIPs` не совпали, компонент DNS:
- По умолчанию выполняет «DNS Fallback запрос»: последовательно опрашиваются серверы, которые «не использовались в предыдущем неудачном раунде и имеют `skipFallback` со значением по умолчанию `false`». Если запрос не удался или `expectedIPs` не совпали, возвращается пустой ответ; иначе — полученный IP.
- Если `disableFallback` установлено в `true`, «DNS Fallback запрос» не выполняется.
- Не попал ни в `hosts`, ни в списки `domains` DNS-серверов, то:
- По умолчанию последовательно используются «серверы с `skipFallback` по умолчанию `false`». Если первый выбранный сервер не смог выполнить запрос или `expectedIPs` не совпали, используется следующий; иначе возвращается IP. Если все выбранные серверы потерпели неудачу, возвращается пустой ответ.
- Если количество «серверов с `skipFallback` по умолчанию `false`» равно 0 или `disableFallback` установлено в `true`, используется первый DNS-сервер из конфигурации. При неудаче возвращается пустой ответ, при успехе — IP.
- Попадает в маппинг «домен - IP» или «домен - массив IP» в `hosts`, то этот IP или массив возвращается как результат DNS-резолвинга.
- Попадает в маппинг «домен - домен» в `hosts`, то значение (другой домен) становится текущим запрашиваемым доменом и снова проходит процесс обработки DNS, пока не будет получен IP или пустой ответ.
- Не попал в `hosts`, но попал в список доменов `domains` одного (или нескольких) DNS-серверов, то запрос выполняется через эти серверы в порядке приоритета правил. Если запрос к выбранному серверу не удался или `expectedIPs` не совпали, используется следующий подходящий сервер; в противном случае возвращается полученный IP. Если все подходящие серверы не смогли выполнить запрос или `expectedIPs` не совпали, компонент DNS:
- По умолчанию выполняет «DNS Fallback запрос»: последовательно опрашиваются серверы, которые «не использовались в предыдущем неудачном раунде и имеют `skipFallback` со значением по умолчанию `false`». Если запрос не удался или `expectedIPs` не совпали, возвращается пустой ответ; иначе — полученный IP.
- Если `disableFallback` установлено в `true`, «DNS Fallback запрос» не выполняется.
- Не попал ни в `hosts`, ни в списки `domains` DNS-серверов, то:
- По умолчанию последовательно используются «серверы с `skipFallback` по умолчанию `false`». Если первый выбранный сервер не смог выполнить запрос или `expectedIPs` не совпали, используется следующий; иначе возвращается IP. Если все выбранные серверы потерпели неудачу, возвращается пустой ответ.
- Если количество «серверов с `skipFallback` по умолчанию `false`» равно 0 или `disableFallback` установлено в `true`, используется первый DNS-сервер из конфигурации. При неудаче возвращается пустой ответ, при успехе — IP.

## DnsObject

Expand Down Expand Up @@ -89,11 +89,11 @@ DNS-запросы, отправляемые встроенным DNS-серве

Список статических IP. Значениями являются пары "домен": "адрес" или "домен": ["адрес 1","адрес 2"]. Адрес может быть IP или доменом. При резолвинге, если домен совпадает с записью в этом списке:

- Если адрес является IP, результатом будет этот IP.
- Если адрес является доменом, для получения IP будет использоваться этот новый домен, а не исходный.
- Если в адресе указано несколько IP и доменов, будет возвращен только первый домен, остальные IP и домены игнорируются.
- Если первое значение адреса начинается с решетки и цифры (например, `#3`), при использовании DNS Outbound ядро вернет пустой ответ и соответствующий `rcode` (код отказа), чтобы отклонить запрос. Если запрос пришел из внутреннего источника, он будет считаться неудачным.
- Если запрашиваемый домен совпадает с несколькими доменами в списке, возвращаются все связанные IP.
- Если адрес является IP, результатом будет этот IP.
- Если адрес является доменом, для получения IP будет использоваться этот новый домен, а не исходный.
- Если в адресе указано несколько IP и доменов, будет возвращен только первый домен, остальные IP и домены игнорируются.
- Если первое значение адреса начинается с решетки и цифры (например, `#3`), при использовании DNS Outbound ядро вернет пустой ответ и соответствующий `rcode` (код отказа), чтобы отклонить запрос. Если запрос пришел из внутреннего источника, он будет считаться неудачным.
- Если запрашиваемый домен совпадает с несколькими доменами в списке, возвращаются все связанные IP.

Формат сопоставления (`domain:`, `full:` и т.д.) аналогичен `domain` в системе [маршрутизации](./routing.html#ruleobject). Отличие в том, что без префикса здесь по умолчанию используется `full:` (аналогично стандартному файлу hosts).

Expand Down Expand Up @@ -351,4 +351,4 @@ DNS-запросы, отправляемые модулем DNS, бывают д

> `serveStale`: true | false

> `serveExpiredTTL`: number
> `serveExpiredTTL`: number
1 change: 1 addition & 0 deletions docs/ru/config/metrics.md
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,7 @@
Перейдите по адресу `http://127.0.0.1:11111/debug/pprof/` или используйте `go tool pprof` для отладки.

Для сообщения о проблемах с высоким потреблением памяти или утечками памяти необходимо предоставить файлы `/debug/pprof/heap` и `/debug/pprof/goroutine`.

### expvars

Перейдите по адресу `http://127.0.0.1:11111/debug/vars`.
Expand Down
6 changes: 3 additions & 3 deletions docs/ru/config/outbound.md
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@
"streamSettings": {},
"proxySettings": {
"tag": "another-outbound-tag",
"transportLayer": false
"transportLayer": false
},
"mux": {}
}
Expand Down Expand Up @@ -79,8 +79,8 @@ Xray будет использовать случайный IP-адрес из

```json
{
"tag": "another-outbound-tag",
"transportLayer": false
"tag": "another-outbound-tag",
"transportLayer": false
}
```

Expand Down
1 change: 1 addition & 0 deletions docs/ru/config/outbounds/dns.md
Original file line number Diff line number Diff line change
Expand Up @@ -43,4 +43,5 @@ DNS — это исходящий протокол, который в основ
Поскольку опция `nonIPQuery` по умолчанию отбрасывает (`drop`) все запросы, кроме A и AAAA, необходимо переключить её в режим `skip`, чтобы данная настройка могла вступить в силу (для типов, отличных от A/AAAA). Разумеется, можно не изменять `nonIPQuery` и использовать эту опцию исключительно для блокировки A или AAAA (отключение IPv4/IPv6), однако делать это **крайне не рекомендуется**. Для этих целей лучше использовать настройку `queryStrategy` во встроенном DNS.

Внимание: если вы используете `blockTypes` только для блокировки A или AAAA, и при этом `nonIPQuery` установлен в значение `reject`, то блокировка также будет осуществляться путем возврата ответа DNS reject, а не простым отбрасыванием пакета.

## Примеры конфигурации DNS <Badge text="В РАЗРАБОТКЕ" type="warning"/>
2 changes: 1 addition & 1 deletion docs/ru/document/level-1/routing-with-dns.md
Original file line number Diff line number Diff line change
Expand Up @@ -286,4 +286,4 @@ Cloudflare Warp от "кибер-филантропа" Cloudflare идеальн

Поэтому, если ваш клиент не умеет разделять трафик по приложениям (App split tunneling, доступно только на мобильных устройствах), любой метод обхода блокировок приведет к утечке вашего зарубежного IP.

В заключение хочу сказать: при обычных методах обхода блокировок утечка зарубежного IP практически неизбежна. Если вам требуется высокий уровень конфиденциальности, используйте Tor и подобные инструменты. Xray-core — это инструмент противодействия цензуре, ориентированный на пробивание "стен" (Firewall), а его возможности в области защиты приватности весьма ограничены.
В заключение хочу сказать: при обычных методах обхода блокировок утечка зарубежного IP практически неизбежна. Если вам требуется высокий уровень конфиденциальности, используйте Tor и подобные инструменты. Xray-core — это инструмент противодействия цензуре, ориентированный на пробивание "стен" (Firewall), а его возможности в области защиты приватности весьма ограничены.
2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
"medium-zoom": "^1.1.0",
"mermaid": "^11.12.2",
"vitepress": "2.0.0-alpha.15",
"vitepress-plugin-llms": "^1.9.3",
"vitepress-plugin-llms": "^1.10.0",
"vitepress-plugin-mermaid": "^2.0.17"
},
"scripts": {
Expand Down
Loading