Настройки узла
Введение
Marzban Node - это приложение на Python, предоставляющее сервис для управления экземпляром ядра Xray. Приложение разработано с учетом требований безопасности и использует взаимную аутентификацию самоподписанными SSL-сертификатами, для связи между панелью и ее клиентами(узлами).
В зависимости от Вашего выбора, приложение может использовать или RPyC для удаленных вызовов процедур, или REST, используя стандартные HTTP-методы (GET, POST, PUT, DELETE и т.д.) для выполнения различных операций.
С помощью этого руководства вы можете создать узел Marzban Node на дополнительном сервере и подключить его к панели.
Установка
Получение ключа
- Открываем настройка узлов

- Переходим в меню добавление нового узла
- Скачиваем сертификат

- Или, копируем его значение из меню.

Теперь переходим на наш узел.
Настройка узла
-
Обновляем сервер
Terminal window sudo apt-get update && sudo apt-get upgrade -
Устанавливаем нужный софт
Terminal window sudo apt install socat -y && sudo apt install curl socat -y && apt install git -y -
Клонируем репозиторий
Terminal window git clone https://github.com/Gozargah/Marzban-node -
Входим в рабочую папку узла
Terminal window cd Marzban-node -
Устанавливаем Docker
Terminal window sudo curl -fsSL https://get.docker.com | sh -
Создаем папку, куда поместим наш сертификат
Terminal window sudo mkdir -p /var/lib/marzban-node/ -
Устанавливаем Docker
Terminal window sudo curl -fsSL https://get.docker.com | sh -
Создаем папку, куда поместим наш сертификат
Terminal window sudo mkdir -p /var/lib/marzban-node/ -
Копируем ранее полученный ключ
Terminal window sudo nano /var/lib/marzban-node/ssl_client_cert.pem
-
Редактируем файл
docker-compose.ymlTerminal window sudo nano docker-compose.ymlприведя его к такому виду:
services:marzban-node:image: gozargah/marzban-node:latestrestart: alwaysnetwork_mode: hostvolumes:- /var/lib/marzban-node:/var/lib/marzban-nodeenvironment:SSL_CLIENT_CERT_FILE: "/var/lib/marzban-node/ssl_client_cert.pem"SERVICE_PROTOCOL: rest -
Запускаем узел
Terminal window sudo docker compose up -d
Теперь вернемся в основную панель
Настройка панели
-
Открываем настройки узлов

-
Заполняем данные узла:
- Name - Имя узла;
- Adress - IP адрес узла.
- Port - Оставляем по умолчанию, если не изменяли их.
Оставляем галку, если хотим добавить узел в качестве нового хоста во все входящие
-
Жмем
Добавить узелЕсли Вы не нажали галкудобавить узел в качестве нового хоста во все входящие, Вы всегда сможете добавить узел в любой inbound, после ее подключения, просто указав ее адрес (IP или домен/суб-домен)
Дополнительные советы
Совет первый Если для лучшего управления узлами вы хотите назначить каждому узлу отдельный inbound, вам нужно добавить новый inbound с уникальным тегом и портом в настройках ядра (Core Settings).
Совет второй Если вы планируете использовать конфигурации с TLS, вам нужно получить сертификат для вашего суб-домена узла. Кроме того, вместо нескольких сертификатов для разных субдоменов, вы можете получить один Wildcard сертификат для основного домена, чтобы использовать его для всех субдоменов.
Совет третий
Файл docker-compose.yml чувствителен к выравниванию строк и пробелам. Для проверки правильности настройки вы можете использовать инструмент yamlchecker.
Совет четвертый
Если вы внесли изменения в файл docker-compose.yml, перезапустите узлы с помощью следующей команды:
cd ~/Marzban-nodedocker compose down --remove-orphans; docker compose up -d