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

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

Введение

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

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

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

Установка

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

  1. Открываем настройка узлов screenshot
  2. Переходим в меню добавление нового узла
  3. Скачиваем сертификат
    screenshot
  4. Или, копируем его значение из меню. screenshot

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

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

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

    Terminal window
    sudo apt-get update && sudo apt-get upgrade
  2. Устанавливаем нужный софт

    Terminal window
    sudo apt install socat -y && sudo apt install curl socat -y && apt install git -y
  3. Клонируем репозиторий

    Terminal window
    git clone https://github.com/Gozargah/Marzban-node
  4. Входим в рабочую папку узла

    Terminal window
    cd Marzban-node
  5. Устанавливаем Docker

    Terminal window
    sudo curl -fsSL https://get.docker.com | sh
  6. Создаем папку, куда поместим наш сертификат

    Terminal window
    sudo mkdir -p /var/lib/marzban-node/
  7. Устанавливаем Docker

    Terminal window
    sudo curl -fsSL https://get.docker.com | sh
  8. Создаем папку, куда поместим наш сертификат

    Terminal window
    sudo mkdir -p /var/lib/marzban-node/
  9. Копируем ранее полученный ключ

    Terminal window
    sudo nano /var/lib/marzban-node/ssl_client_cert.pem

    screenshot

  10. Редактируем файл docker-compose.yml

    Terminal window
    sudo 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
  11. Запускаем узел

    Terminal window
    sudo docker compose up -d

Теперь вернемся в основную панель

Настройка панели

  1. Открываем настройки узлов

    screenshot

  2. Заполняем данные узла:

    • Name - Имя узла;
    • Adress - IP адрес узла.
    • Port - Оставляем по умолчанию, если не изменяли их.

    Оставляем галку, если хотим добавить узел в качестве нового хоста во все входящие

  3. Жмем Добавить узел Если Вы не нажали галку добавить узел в качестве нового хоста во все входящие, Вы всегда сможете добавить узел в любой inbound, после ее подключения, просто указав ее адрес (IP или домен/суб-домен)

Дополнительные советы

Совет первый Если для лучшего управления узлами вы хотите назначить каждому узлу отдельный inbound, вам нужно добавить новый inbound с уникальным тегом и портом в настройках ядра (Core Settings).

Совет второй Если вы планируете использовать конфигурации с TLS, вам нужно получить сертификат для вашего суб-домена узла. Кроме того, вместо нескольких сертификатов для разных субдоменов, вы можете получить один Wildcard сертификат для основного домена, чтобы использовать его для всех субдоменов.

Совет третий Файл docker-compose.yml чувствителен к выравниванию строк и пробелам. Для проверки правильности настройки вы можете использовать инструмент yamlchecker.

Совет четвертый Если вы внесли изменения в файл docker-compose.yml, перезапустите узлы с помощью следующей команды:

Terminal window
cd ~/Marzban-node
docker compose down --remove-orphans; docker compose up -d