Перейти к основному содержимому

Нода Remnawave

Нода Remnawave — это лёгкий контейнер, включающий Xray-core.

примечание

Панель Remnawave не включает Xray-core, поэтому вам нужно установить ноду Remnawave на отдельный сервер для использования всех функций Remnawave.

Установка Docker

Установите Docker, если он ещё не установлен.

sudo curl -fsSL https://get.docker.com | sh

Шаг 1 — Создание директории проекта

Создание директории проекта
mkdir /opt/remnanode && cd /opt/remnanode

Шаг 2 - Добавление ноды

Перейдите в Nodes -> Management и нажмите кнопку + для добавления новой ноды.

Заполните форму.

Обратите внимание на поле Node Port. Оно будет использоваться нодой Remnawave для прослушивания внутренних API-запросов от панели Remnawave. В других целях оно не используется.

Нажмите кнопку Copy docker-compose.yml, чтобы скопировать конфигурацию в буфер обмена.

Создание ноды

Шаг 3 — Создание файла docker-compose.yml

Создание файла docker-compose.yml
cd /opt/remnanode && nano docker-compose.yml

Вставьте конфигурацию из буфера обмена и сохраните.

Шаг 4 — Запуск контейнеров

Запустите контейнеры, выполнив следующую команду:

Запуск контейнеров
docker compose up -d && docker compose logs -f -t

Шаг 5 - Завершение

В карточке создания ноды нажмите Next, выберите нужный Config Profile, затем нажмите кнопку Create.

Важное примечание

Не забудьте закрыть NODE_PORT в фаерволе ноды только для IP панели.

Расширенное использование

Загрузка изменённых файлов geosite и geoip

Важное примечание
  1. В этом примере используются имена-заглушки для файлов *-zapret.dat и категорий :zapret. Реальные имена файлов и категорий будут отличаться.
  2. Маршрутизация, настроенная на сервере (ноде), управляет трафиком на стороне сервера и не влияет на прямые (DIRECT) соединения клиента. Для управления маршрутизацией клиентского трафика настройте маршрутизацию на стороне клиента.

Вы можете добавить дополнительные файлы geosite и geoip, примонтировав их в директорию /usr/local/share/xray/ внутри контейнера.

предупреждение

Не монтируйте папку целиком — это перезапишет стандартные файлы geosite и geoip Xray. Вместо этого монтируйте каждый файл отдельно.

Добавьте следующее в файл docker-compose.yml:

services:
remnanode:
container_name: remnanode
hostname: remnanode
image: remnawave/node:latest
restart: always
network_mode: host
environment:
- NODE_PORT=2222
- SECRET_KEY="supersecretkey"
volumes:
- './geo-zapret.dat:/usr/local/share/xray/geo-zapret.dat'
- './ip-zapret.dat:/usr/local/share/xray/ip-zapret.dat'

Использование в конфигурации Xray:

  "routing": {
"rules": [
// Другие правила
{
"type": "field",
"domain": [ // Обращение к файлу geosite
"ext:geo-zapret.dat:zapret"
],
"inboundTag": [ // Опционально
"VLESS_TCP_REALITY"
],
"outboundTag": "NOT_RU_OUTBOUND"
},
{
"type": "field",
"ip": [ // Обращение к файлу geoip
"ext:ip-zapret.dat:zapret"
],
"inboundTag": [ // Опционально
"VLESS_TCP_REALITY"
],
"outboundTag": "NOT_RU_OUTBOUND"
}
// Другие правила
]
}

Логи ноды

Вы можете получить доступ к логам ноды, примонтировав их в файловую систему хоста.

предупреждение

Вы обязаны настроить ротацию логов, иначе они заполнят весь диск!

Добавьте следующее в файл docker-compose.yml:

services:
remnanode:
container_name: remnanode
hostname: remnanode
image: remnawave/node:latest
restart: always
network_mode: host
environment:
- NODE_PORT=2222
- SECRET_KEY="supersecretkey"
volumes:
- '/var/log/remnanode:/var/log/remnanode'

Использование в конфигурации Xray:

  "log": {
"error": "/var/log/remnanode/error.log",
"access": "/var/log/remnanode/access.log",
"loglevel": "warning"
}

На сервере, на котором размещена нода, создайте папку /var/log/remnanode, выполнив:

mkdir -p /var/log/remnanode

Установите logrotate (если ещё не установлен):

sudo apt update && sudo apt install logrotate

Создайте конфигурационный файл logrotate:

nano /etc/logrotate.d/remnanode

Вставьте следующую конфигурацию logrotate для RemnaNode:

/var/log/remnanode/*.log {
size 50M
rotate 5
compress
missingok
notifempty
copytruncate
}

Запустите logrotate для проверки конфигурации:

logrotate -vf /etc/logrotate.d/remnanode

SSL-сертификат XRay для ноды

осторожно

Этот шаг необходим, если вы используете TLS-транспорт, например 'VLESS-Vision-TLS'. Для транспорта Reality это не требуется.

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

к сведению

Примонтируйте папку с помощью Docker volumes и укажите внутренний путь в вашей конфигурации. Внутри контейнера есть специальная (пустая) директория для сертификатов: /var/lib/remnawave/configs/xray/ssl/

Добавьте следующее в файл docker-compose.yml:

remnawave:
image: remnawave/backend:latest
container_name: 'remnawave'
hostname: remnawave
restart: always
ports:
- '127.0.0.1:3000:3000'
env_file:
- .env
networks:
- remnawave-network
volumes:
- '/opt/remnawave/nginx:/var/lib/remnawave/configs/xray/ssl'
depends_on:
remnawave-db:
condition: service_healthy
remnawave-redis:
condition: service_healthy
к сведению

Когда панель отправляет конфигурацию на ноду, она автоматически читает примонтированные файлы и передаёт сертификаты на ноду.

Использование в конфигурации Xray:

  "certificates": [
{
"keyFile": "/var/lib/remnawave/configs/xray/ssl/privkey.key",
"certificateFile": "/var/lib/remnawave/configs/xray/ssl/fullchain.pem"
// Другие поля
}
]
предупреждение

Обратите внимание на расширения .key и .pem.