🪆Remnawave
# Каскад VLESS: RU → DE через Remnawave
### Инструкция для тех, кто делает это впервые
---
## Что мы делаем и зачем
Обычная схема VPN: **Телефон → DE сервер → Интернет**
Наша схема: **Телефон → RU сервер → DE сервер → Интернет**
---
## Что нужно перед началом
- Панель **Remnawave** уже установлена
- **DE нода** уже добавлена в панель
- **RU сервер** — чистая Ubuntu 24, SSH доступ есть
- Доступ к панели Remnawave
---
## Схема того, что настроим
```
Телефон
├── Сайты RU (VK, Яндекс...) → RU сервер (443)
└── Всё остальное → RU сервер (443) → DE сервер (8080) → Интернет
```
---
## Шаг 1 — Config Profile для DE ноды
Идём в панель: **Config Profiles → Create**
Название: DE Bridge Profile
Вставляем этот конфиг:
```json
{
"log": { "loglevel": "warning" },
"inbounds": [
{
"tag": "BRIDGE_DE_IN",
"port": 8080,
"listen": "0.0.0.0",
"protocol": "vless",
"settings": {
"clients": [],
"decryption": "none"
},
"sniffing": {
"enabled": true,
"destOverride": ["http", "tls", "quic"]
},
"streamSettings": {
"network": "tcp",
"security": "none"
}
}
],
"outbounds": [
{ "tag": "DIRECT", "protocol": "freedom" },
{ "tag": "BLOCK", "protocol": "blackhole" }
],
"routing": { "rules": [] }
}
```
Нажимаем **Сохранить**.
> **Что это делает:** открывает на DE сервере порт 8080, который будет принимать трафик с RU сервера.
---
## Шаг 2 — Назначить профиль на DE ноду
**Nodes → DE нода → Edit**
- Config Profile = DE Bridge Profile
- Inbound = BRIDGE_DE_IN
Сохраняем.
---
## Шаг 3 — Internal Squad
**Squads → Create**
- Тип: **Internal**
- Название: Bridge Squad
- Включить inbound: BRIDGE_DE_IN
Сохраняем.
---
## Шаг 4 — Сервисный пользователь
Это специальный пользователь-"ключ", которым RU сервер будет стучаться в DE.
**Users → Create**
- Имя: bridge_user
- Data Limit: **0** (без лимита)
- Expiry Date: **01.01.2099**
- Squad: **Bridge Squad**
После создания:
**Открываем пользователя → More Actions → Detailed Info**
Копируем **VLESS UUID** (не просто UUID, а именно VLESS UUID из раздела Connection Information). Сохраняем — он понадобится позже.
---
## Шаг 5 — Установка remnawave-node на RU сервере
Подключаемся по SSH к RU серверу и выполняем:
```bash
curl -Ls https://raw.githubusercontent.com/eGamesAPI/remnawave-reverse-proxy/refs/heads/main/install_remnawave.sh -o install.sh
sudo bash install.sh
```
Следуем инструкциям установщика.
---
## Шаг 6 — Добавить RU ноду в панель
**Nodes → Add Node**
- Name: RU Node
- Address: IP RU сервера
- Token: токен из установщика
Сохраняем. Нода должна появиться онлайн.
---
## Шаг 7 — Генерация Reality ключей
Выполняем на DE сервере:
```bash
sudo docker exec remnanode xray x25519
openssl rand -hex 8
```
Сохраняем три значения:
- PrivateKey — приватный ключ
- Password — публичный ключ (Public Key)
- Результат openssl — это Short ID
---
## Шаг 8 — Config Profile для RU ноды
**Config Profiles → Create**
Название: RU Public Profile
Вставляем конфиг, подставив свои значения:
```json
{
"log": { "loglevel": "none" },
"inbounds": [
{
"tag": "PUBLIC_RU_INBOUND",
"port": 443,
"listen": "0.0.0.0",
"protocol": "vless",
"settings": {
"clients": [],
"decryption": "none"
},
"sniffing": {
"enabled": true,
"destOverride": ["http", "tls", "quic"]
},
"streamSettings": {
"network": "raw",
"security": "reality",
"realitySettings": {
"target": "www.microsoft.com:443",
"show": false,
"xver": 0,
"shortIds": ["ВАШ_SHORT_ID"],
"privateKey": "ВАШ_PRIVATE_KEY",
"serverNames": ["www.microsoft.com"]
}
}
}
],
"outbounds": [
{ "protocol": "freedom", "tag": "DIRECT" },
{ "protocol": "blackhole", "tag": "BLOCK" },
{
"tag": "VLESS_OUTBOUND_TO_DE",
"protocol": "vless",
"settings": {
"vnext": [
{
"address": "IP_DE_СЕРВЕРА",
"port": 8080,
"users": [
{
"id": "VLESS_UUID_СЕРВИСНОГО_ПОЛЬЗОВАТЕЛЯ",
"encryption": "none"
}
]
}
]
},
"streamSettings": {
"network": "tcp",
"security": "none"
}
}
],
"routing": {
"rules": [
{ "ip": ["geoip:private"], "outboundTag": "BLOCK" },
{ "domain": ["geosite:private"], "outboundTag": "BLOCK" },
{ "protocol": ["bittorrent"], "outboundTag": "BLOCK" },
{ "ip": ["geoip:ru"], "outboundTag": "DIRECT" },
{ "domain": ["geosite:category-ru"], "outboundTag": "DIRECT" },
{ "inboundTag": ["PUBLIC_RU_INBOUND"], "outboundTag": "VLESS_OUTBOUND_TO_DE" }
]
}
}
```
Заменяем:
- ВАШ_SHORT_ID → результат openssl
- ВАШ_PRIVATE_KEY → PrivateKey из x25519
- IP_DE_СЕРВЕРА → IP немецкого сервера
- VLESS_UUID_СЕРВИСНОГО_ПОЛЬЗОВАТЕЛЯ → VLESS UUID из шага 4
Сохраняем.
---
## Шаг 9 — Назначить профиль на RU ноду
**Nodes → RU нода → Edit**
- Config Profile = RU Public Profile
- Inbound = PUBLIC_RU_INBOUND
Сохраняем.
---
## Шаг 10 — Создать Host для RU ноды
**Hosts → Create**
| Поле | Значение |
|------|----------|
| Address | IP RU сервера |
| Port | 443 |
| Inbound | PUBLIC_RU_INBOUND |
| SNI | www.microsoft.com |
| Fingerprint | chrome |
| Public Key | Password из x25519 (шаг 7) |
| Short ID | результат openssl (шаг 7) |
| Reality | включить |
Сохраняем.
---
## Шаг 11 — Проверка
Открываем подписку в Happ — должна появиться RU нода.
Подключаемся и проверяем:
- **2ip.ru** → должен показать немецкий IP ✅
- **vk.com** → должен открываться ✅
- **sberbank.ru** → должен открываться ✅
---
## Частые ошибки
**Ошибка: SPAWN_ERROR: xray**
Xray не может стартовать. Скорее всего неверный путь к сертификату или ошибка в конфиге. Проверь конфиг на опечатки.
**Ошибка: EOF в Happ**
Проверь что VLESS UUID в конфиге RU ноды — это именно **VLESS UUID** из Detailed Info пользователя, а не просто UUID.
**Ошибка: BRIDGE_DE_IN has no users**
Сервисный пользователь не попал в inbound. Пересоздай пользователя и убедись что Squad назначен правильно.
---
## Итог
После всех шагов трафик идёт так:
```
Телефон → RU:443 (VLESS+Reality)
↓
geoip:ru / geosite:category-ru → DIRECT (с RU сервера напрямую)
всё остальное → DE:8080 (VLESS) → Интернет
```
Пользователи получают RU ноду автоматически через подписку.
