> ## Documentation Index
> Fetch the complete documentation index at: https://docs.axottle.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Маршрутизация

> Как задать основной выход, условные ветки и каскады между нодами в Connection Unit.

Маршрутизация определяет, куда пойдёт трафик после входной или транзитной ноды. Основной путь задаётся обычной связью между блоками. Дополнительная ветка создаётся второй связью с условием.

<Info>Для кого: администратор панели, SRE. Требуемые права: управление Connection Units.</Info>

## Выход по умолчанию

У входной или транзитной ноды может быть один выход без условий. Он используется для всего трафика, который не попал в условную ветку.

Возможные выходы:

* **Internet** — прямой выход;
* **Транзитная нода** — следующий управляемый сервер-мост в каскаде;
* **Внешняя транзитная нода** — внешний сервер-мост по VLESS-ключу;
* **WARP** — выход через Cloudflare WARP;
* **Внешний прокси** — выход через заданный прокси;
* **Blackhole** — отбросить трафик.

## Условия на связях

Отдельного блока «Правило маршрута» нет. Чтобы направить часть трафика по другому пути:

1. создайте дополнительную связь от входной или транзитной ноды к нужному выходу;
2. откройте параметры связи;
3. добавьте условия;
4. сохраните и проверьте схему.

Доступные типы условий зависят от конфигурации и могут включать:

* домен или суффикс домена;
* IP-адрес или CIDR;
* категорию `geosite`;
* категорию `geoip`;
* категорию **GeoAssets GeoSite** из выбранного профиля и GeoSet;
* категорию **GeoAssets GeoIP** из выбранного профиля и GeoSet;
* протокол;
* порт;
* входной tag.

Несколько значений внутри одного условия образуют список совпадений. Комбинацию условий проверяйте в JSON Preview перед применением.

<Warning>Поле `geosite` или `geoip` принимает имя категории, а не обычный домен или IP-адрес.</Warning>

### Встроенные категории и GeoAssets

Remnawave Node получает базовые файлы `geoip.dat` и `geosite.dat` из release-архива Xray-core при сборке образа. Состав и синтаксис категорий описаны в [документации маршрутизации Xray](https://xtls.github.io/en/config/routing): например, `geoip:de` означает IP-диапазоны Германии, а `geosite:google` — домены категории Google.

В Axottle эти файлы можно заменить или дополнить через **Инфраструктура → GeoAssets**. Создайте профиль, добавьте `geoip.dat` или `geosite.dat`, назначьте профиль ноде и синхронизируйте его. В условии маршрута указывается категория из файла, а не имя самого файла. Как Remnawave включает базовые файлы в образ ноды, видно в [официальном Dockerfile Remnawave Node](https://github.com/remnawave/node/blob/main/Dockerfile).

Разница между типами условий:

* **GeoSite / GeoIP** используют категории из базовых файлов Remnawave Node;
* **GeoAssets GeoSite / GeoAssets GeoIP** сначала предлагают выбрать профиль и GeoSet Axottle, а затем категорию, найденную внутри выбранного файла.

## Транзитная нода

Транзитная нода — это управляемый Axottle сервер-мост. У неё есть собственный конфиг и привязка к физической ноде. Она принимает трафик с предыдущего участка и передаёт его дальше.

Пример каскада:

`Gateway → Входная нода → Транзитная нода → Internet`

Транзитных нод может быть несколько, если топология и конфигурация проходят проверку.

## Внешняя транзитная нода

Внешняя транзитная нода — готовый сервер-мост за пределами текущего Connection Unit. Axottle не разворачивает на нём собственный управляемый конфиг: оператор передаёт VLESS-ключ, а панель создаёт исходящее подключение к этому серверу.

Такой блок подходит, когда нужно продолжить каскад через уже существующий внешний сервер. Он не является просто «точкой выхода»: это отдельный транзитный участок со своим адресом, транспортом и параметрами безопасности.

Панель разбирает из `vless://`-ключа:

* UUID;
* хост и порт;
* транспорт;
* TLS или REALITY;
* SNI;
* дополнительные параметры выбранного транспорта.

После внешней транзитной ноды трафик выходит в Internet.

## Пример условной ветки

Пусть основной трафик должен идти напрямую, а выбранные домены — через WARP:

1. соедините входную ноду с **Internet** без условия;
2. добавьте связь от входной ноды к **WARP**;
3. задайте на второй связи условие по домену;
4. сохраните, скомпилируйте и проверьте JSON Preview;
5. примените схему.

## Проверка

<Check>Маршрутизация настроена корректно, когда у каждой входной и транзитной ноды есть не более одного выхода без условий, все условные связи имеют цель, а компиляция и линтер проходят без блокирующих ошибок.</Check>

После применения откройте вкладку **Здоровье** и убедитесь, что все участки нужного пути доступны.

## Откат

* До применения нажмите **Сбросить черновик**.
* После применения вернитесь на предыдущую рабочую версию Connection Unit.

## Типовые ошибки

<AccordionGroup>
  <Accordion title="Два выхода без условий">
    Оставьте один основным, а на второй связи задайте условие.
  </Accordion>

  <Accordion title="Домен или IP указан как geo-категория">
    Перенесите значение в условие «Домен» или «IP / CIDR». В `geosite` и `geoip` указывается имя категории.
  </Accordion>

  <Accordion title="Неверный ключ внешнего транзита">
    Ключ должен начинаться с `vless://` и содержать UUID, хост и обязательные параметры выбранного режима безопасности.
  </Accordion>
</AccordionGroup>

Связанные страницы: <a href="/ru/connection-units/constructor">Конструктор</a>, <a href="/ru/connection-units/diagnostics">Диагностика и пробы</a>, <a href="/ru/connection-units/lifecycle">Жизненный цикл и версии</a>.

<Note>Проверено для версии Axottle текущей ветки. Дата проверки: 2026-07-11.</Note>
