---
title: Исходящие соединения и маршрутизация
description: Управляйте исходящим трафиком в 3x-ui — outbound-соединения WARP и NordVPN, подписки на исходящие соединения (пулы серверов), правила маршрутизации и балансировщики нагрузки.
icon: Route
---

Inbound-соединения принимают клиентов; **outbound-соединения** определяют, куда
дальше пойдёт их трафик. 3x-ui может направлять трафик через Cloudflare WARP,
NordVPN или произвольные пулы исходящих соединений, импортированные из подписки,
а также выбирать между ними с помощью правил маршрутизации и балансировщиков.

## Редактирование исходящих соединений и маршрутизации

Outbound-соединения, правила маршрутизации, балансировщики, DNS и логирование —
всё это находится в **конфигурации Xray** (шаблоне конфигурации, который вы
редактируете в разделе Xray Settings). Отдельного интерфейса для каждого правила
нет — вы редактируете JSON, а панель перезагружает Xray. Панель также предлагает
**тест связности исходящего соединения** и **тест маршрута** (запрос к
работающему ядру о том, какое исходящее соединение будет использовано для
заданного назначения).

## Построение исходящего соединения

Каждое исходящее соединение — это JSON-объект, состоящий не более чем из четырёх
частей: **`tag`** (на него ссылаются правила маршрутизации и балансировщики),
**`protocol`**, специфичные для протокола **`settings`** и — для прокси-протоколов —
**`streamSettings`**, которые должны совпадать с транспортом и безопасностью
удалённого inbound-соединения. Почти всегда присутствуют два исходящих соединения:

- **`freedom`** отправляет трафик напрямую к его назначению — исходящее соединение
  по умолчанию. При необходимости задайте `domainStrategy` (например, `UseIP`),
  чтобы управлять разрешением имён хостов.
- **`blackhole`** отбрасывает трафик. Направляйте сюда нежелательные назначения
  (реклама, торренты).

```json title="freedom + blackhole"
{
  "outbounds": [
    { "tag": "direct", "protocol": "freedom", "settings": {} },
    { "tag": "block", "protocol": "blackhole", "settings": {} }
  ]
}
```

Прокси-исходящее соединение (VLESS, VMess, Trojan, Shadowsocks) пересылает трафик
на другой сервер — удобно для цепочек или отправки выборочного трафика за рубеж.
Учитывайте форматы, которые использует 3x-ui: **VLESS — плоская форма**
(`address`/`port`/`id`/`flow`/`encryption`), **VMess использует
`settings.vnext[]`**, а **Trojan/Shadowsocks используют `settings.servers[]`**.
`streamSettings` должны отражать [транспорт и безопасность](/docs/config/transports)
назначения.

Соберите любое исходящее соединение ниже и вставьте JSON в **Xray Settings → Outbounds**:

<OutboundGenerator />

## Cloudflare WARP

WARP позволяет вашему серверу направлять исходящий трафик через сеть Cloudflare.
3x-ui может зарегистрировать для вас аккаунт WARP и подключить его к
WireGuard-соединению с тегом **`warp`**:

<Steps>

<Step>
### Добавьте исходящее соединение с тегом `warp`

Создайте WireGuard-соединение с тегом `warp` в вашей конфигурации Xray.
</Step>

<Step>
### Зарегистрируйте WARP

В элементах управления WARP на панели зарегистрируйте аккаунт. 3x-ui автоматически
заполнит ключи соединения, адреса, зарезервированные байты и конечную точку пира.
</Step>

<Step>
### (Опционально) автоматическая ротация IP

Задайте интервал обновления WARP (в **днях**) для периодической ротации IP-адреса
WARP. Также можно применить бесплатную лицензию.
</Step>

</Steps>

Направьте нужный трафик (например, определённые домены) на исходящее соединение
`warp` с помощью правила маршрутизации.

## NordVPN

3x-ui может получать учётные данные NordVPN (NordLynx/WireGuard) из токена доступа
(или принимать приватный ключ напрямую) и выводить список стран/серверов, чтобы вы
могли построить outbound-соединение NordVPN.

## Подписки на исходящие соединения (пулы серверов)

**Подписка на исходящие соединения** импортирует удалённую подписку со
ссылками-share и внедряет её серверы в качестве **исходящих соединений** в
работающую конфигурацию Xray — не затрагивая ваш сохранённый шаблон. Это
рекомендуемый способ подписаться на *пул* серверов.

| Поле             | По умолчанию | Значение                                                       |
| ---------------- | ------------ | -------------------------------------------------------------- |
| `url`            | —            | URL удалённой подписки (с защитой от SSRF).                    |
| `tagPrefix`      | auto         | Префикс для генерируемых тегов исходящих соединений (например, `hk-`); пусто = `subN-`. |
| `updateInterval` | `600`        | Интервал обновления в **секундах**.                            |
| `prepend`        | `false`      | Размещать эти исходящие соединения перед вашими ручными.       |
| `priority`       | `0`          | Порядок слияния (меньшие значения первыми).                    |

Импортированные исходящие соединения получают **стабильные теги**: один и тот же
сервер сохраняет один и тот же тег между обновлениями, поэтому селекторы
маршрутизации/балансировщиков по точному тегу остаются привязанными — в то время
как селекторы по префиксу/шаблону (например, `hk-*`) автоматически подхватывают
новые серверы по мере изменения пула. Поддерживаемые схемы ссылок: `vmess`,
`vless`, `trojan`, `ss`, `hysteria2` (`hy2`) и `wireguard` (`wg`). Панель
обновляет включённые подписки по таймеру и перезагружает Xray при любых
изменениях.

## Правила маршрутизации

**Правила маршрутизации** определяют, какое исходящее соединение (или
балансировщик) использует каждое подключение. Каждое правило — это сопоставитель
типа `field`: задайте любое из `domain`, `ip`, `port`, `network`, `protocol`,
`inboundTag`, `sourceIP`, … и направьте его на **`outboundTag`** или
**`balancerTag`**. Правила вычисляются **сверху вниз — побеждает первое
совпадение**, поэтому размещайте конкретные правила выше общих.

```json title="route ads to blackhole, private IPs direct"
{
  "routing": {
    "domainStrategy": "IPIfNonMatch",
    "rules": [
      { "type": "field", "domain": ["geosite:category-ads-all"], "outboundTag": "block" },
      { "type": "field", "ip": ["geoip:private"], "outboundTag": "direct" }
    ]
  }
}
```

## Балансировщики

**Балансировщик** группирует исходящие соединения по **селектору** (префиксы
тегов, включая wildcard-пулы из подписок на исходящие соединения) и распределяет
или перенаправляет трафик по ним при сбоях с помощью **стратегии**:

| Стратегия     | Выбирает…                                       | Нужен монитор            |
| ------------- | ----------------------------------------------- | ------------------------ |
| `random`      | случайного участника на каждое подключение      | нет                      |
| `roundRobin`  | участников по очереди                           | нет                      |
| `leastPing`   | участника с наименьшей задержкой                | **`observatory`**        |
| `leastLoad`   | наиболее стабильного участника по измеренной нагрузке | **`burstObservatory`**   |

Ссылайтесь на балансировщик из правила через `balancerTag`. `leastPing` и
`leastLoad` требуют монитора состояния, который Xray размещает на **верхнем
уровне** конфигурации (`observatory` / `burstObservatory`, **не** внутри
`routing`). Панель может сообщать статус балансировщика и **переопределять**
балансировщик на конкретное исходящее соединение для тестирования.

Постройте блок маршрутизации — правила, балансировщики и соответствующий
observatory — здесь:

<RoutingBuilder />

<Callout type="warn">
  Исходящие соединения, обращающиеся к внешним сервисам, получаются с защитой от
  SSRF — по умолчанию частные/внутренние адреса блокируются, если вы явно не
  разрешите их для каждого источника.
</Callout>
