Marzban: установка, настройка панели и VLESS (REALITY/TLS) на сервере Print

  • marzban, vless, vpn, debian, ubuntu, dedicated, vps, ipv4
  • 0

Marzban — веб-панель и REST-API поверх Xray-core для управления прокси-учётками и нодами. Поддерживает VLESS, VMess, Trojan, Shadowsocks, множественные протоколы у одного пользователя, подписки, мульти-нодовую схему (Marzban-node), TLS и REALITY. 


Быстрый старт: устанавливаем Marzban на чистый Debian/Ubuntu

0) Подготовка сервера (UFW, hostname)

sudo apt update && sudo apt -y full-upgrade
sudo apt install -y curl wget ca-certificates ufw lsb-release

sudo hostnamectl set-hostname panel.example.com

sudo ufw default deny incoming
sudo ufw default allow outgoing
sudo ufw allow 22/tcp comment 'SSH'
sudo ufw allow 80,443/tcp comment 'Web/SSL'
sudo ufw --force enable

1) Marzban установка (рекомендованный автоскрипт, Docker)

Команда поставит Docker, создаст marzban-CLI, сложит данные в /var/lib/marzban, файлы стека — в /opt/marzban, и запустит панель на :8000. 

sudo bash -c "$(curl -sL https://github.com/Gozargah/Marzban-scripts/raw/master/marzban.sh)" @ install
marzban cli admin create --sudo


# Панель: http://203.0.113.10:8000/dashboard/

Где что лежит и как править .env: см. раздел «Installation». 


Включаем SSL для панели и подписок (два рабочих способа)

Чтобы подписки и панель Marzban открывались по https, используйте один из вариантов из официальных гайдов.

Caddy (самый простой — сам выдаст сертификат)


В /opt/marzban/docker-compose.yml добавьте сервис caddy (пример в доке).

Создайте /opt/marzban/Caddyfile:

panel.example.com {
reverse_proxy unix//var/lib/marzban/marzban.socket
}

В .env пропишите:

UVICORN_UDS=/var/lib/marzban/marzban.socket
XRAY_SUBSCRIPTION_URL_PREFIX=https://panel.example.com

Перезапуск:

marzban restart

SSL включится автоматически, панель и подписка будут доступны по https. 

Uvicorn c готовым сертификатом (acme.sh)

Выпустите сертификат (standalone через acme.sh) прямо в путь Marzban:

apt install -y curl socat
curl https://get.acme.sh | sh -s [email protected]
mkdir -p /var/lib/marzban/certs
~/.acme.sh/acme.sh --issue --force --standalone -d panel.example.com \
--fullchain-file "/var/lib/marzban/certs/panel.example.com.cer" \
--key-file "/var/lib/marzban/certs/panel.example.com.cer.key"

Укажите SSL-файлы и префикс подписки в /opt/marzban/.env:

UVICORN_PORT=443
UVICORN_SSL_CERTFILE=/var/lib/marzban/certs/panel.example.com.cer
UVICORN_SSL_KEYFILE=/var/lib/marzban/certs/panel.example.com.cer.key
XRAY_SUBSCRIPTION_URL_PREFIX=https://panel.example.com

Перезапуск:

marzban restart

Готово: панель и подписка по https. 

Если хотите разнести домены панели и подписки — в .env используйте свой XRAY_SUBSCRIPTION_URL_PREFIX (порт указывать обязательно, если не 443). 

«Панель Marzban»: базовая работа и где править конфиги

Главные настройки ядра Xray — в Core Settings (панель → Core Settings). Тут описываются Inbounds — какие протоколы слушать, на каких портах, TLS/REALITY и т. д. 

Готовые «рецепты» инбаундов (VLESS REALITY, VLESS WS/TLS, gRPC, SplitHTTP и пр.) приведены в «Xray Inbounds». Путь к сертификатам, пример тега, короткий shortId/ключи REALITY — там. 

Чтобы включить подписки, достаточно иметь валидный SSL и (при необходимости) проставить XRAY_SUBSCRIPTION_URL_PREFIX в .env. 


Настройка VLESS в Marzban: два практических варианта

Вариант 1. VLESS + REALITY (невидимый HTTPS-трафик без своего серта)


1. Сгенерируйте ключи и shortId в контейнере (или на хосте):

docker exec marzban-marzban-1 xray x25519
openssl rand -hex 8

2.В Core Settings добавьте VLESS TCP REALITY (пример из дока). Задайте:

port: 443
dest/serverNames: реальный TLS-хост (например, google.com:443 / www.cloudflare.com)
privateKey: из шага выше
shortIds: из openssl rand -hex 8

Пошаговый пример и пояснения полей — в официальном разделе Core Settings/Inbounds. 

publicKey можно не прописывать — Marzban сгенерирует его из privateKey. 

Вариант 2. VLESS + WS + TLS (классика под свой домен)


1. Выпустите SSL для домена (см. выше).
2. В Core Settings добавьте VLESS WS TLS (порт 443, path: "/", в tlsSettings.certificates укажите файлы в /var/lib/marzban/certs/...). Пример блоков VLESS XHTTP/HTTPUpgrade/SplitHTTP/WS TLS — в «Xray Inbounds». 

После сохранения перезапустите ядро (кнопка Restart/Xray в панели). Клиентские ссылки/QR появятся в карточке пользователя и в Subscription. 

Marzban протоколы: что доступно «из коробки»
VLESS (TCP/REALITY, TLS: WS/HTTPUpgrade/SplitHTTP/XHTTP, gRPC и др.)
VMess, Trojan, Shadowsocks — добавляются как инбаунды в Core Settings, после чего становятся доступны для пользователей/подписок. Обширные примеры JSON — в «Xray Inbounds». 

Если в выпадающем списке протоколов что-то «пропало» — просто проверьте, что соответствующий Inbound есть в конфиге ядра (после рестарта всё появится). 

Подписки (все конфиги одним URL)


1. Убедитесь, что SSL активирован (см. шаги выше).
2. Если домен подписки отличный от домена панели — пропишите XRAY_SUBSCRIPTION_URL_PREFIX=https://sub.example.com:443 в .env и marzban restart.
3. Дальше подписка генерится автоматически для каждого пользователя (через панель/бот/CLI). 

 

Marzban сервер + ноды (Marzban-node) — масштабируемся

Чтобы распределить нагрузку и иметь сервера в разных регионах, поднимайте Marzban-node и подключайте к панели:

Установка Marzban-node на рабочей ноде

# Быстрая установка/обновление (рекомендовано доками)
sudo bash -c "$(curl -sL https://github.com/Gozargah/Marzban-scripts/raw/master/marzban-node.sh)" @ install

Дальше в панели: Nodes → Add New Marzban Node → Show Certificate — скопируйте клиентский сертификат на ноду (обычно /var/lib/marzban-node/ssl_client_cert.pem) и запустите ноду. Полный гайд — в «Marzban node». 

Полезные твики и диагностика

Открываем порты и проверяем службы

sudo ufw allow 8000/tcp # если панель без обратного прокси
sudo ufw allow 443/tcp # TLS/REALITY/панель под SSL
sudo ss -ltnup | grep -E ':8000|:443'

Логи и статус

marzban logs # логи панели (Docker)
journalctl -u docker -e --no-pager


Нужна marzban установка под ключ или настройка vless marzban (REALITY/WS+TLS), интеграция Marzban-node по регионам, выпуск и автопродление SSL, подписки, Telegram-бот, мониторинг и бэкапы? HSTQ развернёт, укрепит и сопроводит вашу панель Marzban на проде.


Короткий чеклист команд

# 1) Установка панели
sudo bash -c "$(curl -sL https://github.com/Gozargah/Marzban-scripts/raw/master/marzban.sh)" @ install
marzban cli admin create --sudo # логин в http://IP:8000/dashboard/

# 2) SSL (быстро через Caddy)
# Caddyfile: panel.example.com { reverse_proxy unix//var/lib/marzban/marzban.socket }
echo 'UVICORN_UDS=/var/lib/marzban/marzban.socket
XRAY_SUBSCRIPTION_URL_PREFIX=https://panel.example.com' | sudo tee -a /opt/marzban/.env
marzban restart

# 3) VLESS REALITY: x25519 + shortId и добавьте inbound в Core Settings
docker exec marzban-marzban-1 xray x25519
openssl rand -hex 8

# 4) Нода
sudo bash -c "$(curl -sL https://github.com/Gozargah/Marzban-scripts/raw/master/marzban-node.sh)" @ install


Was this answer helpful?

« Back

Powered by WHMCompleteSolution


Knowledgebase