# Настройки узла

# Введение

Marzban Node - это приложение на Python, предоставляющее сервис для управления экземпляром ядра Xray. Приложение разработано с учетом требований безопасности и использует взаимную аутентификацию самоподписанными SSL-сертификатами, для связи между панелью и ее клиентами(узлами).

В зависимости от Вашего выбора, приложение может использовать или RPyC для удаленных вызовов процедур, или REST, используя стандартные HTTP-методы (GET, POST, PUT, DELETE и т.д.) для выполнения различных операций.

С помощью этого руководства вы можете создать узел Marzban Node на дополнительном сервере и подключить его к панели.

# Установка

# Получение ключа

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

Скачиваем сертификат в файловую систему вашего устройства по нажатию на кнопку скачать сертификат

или, как еще один вариант, вы можете нажать значок просмотреть и скопировать полученное значение.

Теперь переходим на наш узел.

# Настройка узла

Обновляем сервер

sudo apt-get update && sudo apt-get upgrade

Устанавливаем нужный софт

sudo apt install socat -y && sudo apt install curl socat -y && apt install git -y

Клонируем репозиторий

git clone https://github.com/Gozargah/Marzban-node

Входим в рабочую папку узла

cd Marzban-node

Устанавливаем Docker

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

Создаем папку, куда поместим наш сертификат

sudo mkdir -p /var/lib/marzban-node/

Теперь нам необходимо разместить ключ центальной панели на узле, для этого мы можем скопировать ранее полученный ключ по пути /var/lib/marzban-node/ssl_client_cert.pem

если Вы скопировали значение ключа ранее просто вставив его в нужный файл.

nano /var/lib/marzban-node/ssl_client_cert.pem

Обьявляем в docker-compose.yml файле нашего проекта, о используемых сертификатах, открыв его через nano

nano docker-compose.yml

приведя его к такому виду:

services:
  marzban-node:
    image: gozargah/marzban-node:latest
    restart: always
    network_mode: host

    volumes:
      - /var/lib/marzban-node:/var/lib/marzban-node

    environment:
      SSL_CLIENT_CERT_FILE: "/var/lib/marzban-node/ssl_client_cert.pem"
      SERVICE_PROTOCOL: rest

После этого, теперь, Вы сможете запустить узел.

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-node
docker compose down --remove-orphans; docker compose up -d