Назад к блогу
19 августа 2026Руководства

Как установить панель 3X-UI на VPS

Подробная инструкция: установка панели 3X-UI (Xray) на Ubuntu, защита веб-интерфейса, сертификат TLS, входящий VLESS Reality, пользователи и подключение клиентов на компьютере и телефоне.

Как установить панель 3X-UI на VPS

3X-UI — веб-панель для Xray-core. Через неё можно создавать входящие (VLESS, VMess, Trojan, Shadowsocks и другие), выдавать ссылки подписки, ставить лимиты трафика и срока действия и смотреть, кто сейчас в сети, без ручного редактирования JSON. Если у вас уже есть VPS, это один из самых быстрых способов получить сопровождение, а не «конфиг на один вечер», который через полгода никто не решится трогать.

Руководство рассчитано на чистый Ubuntu 22.04 или 24.04 — типичный образ Linux после первого включения. Установим распространённую сборку MHSanaei 3X-UI, сразу сменим все заводские секреты, закроем панель HTTPS, откроем в брандмауэре только нужные порты, создадим входящий VLESS + Reality и разберём клиенты. Если вы уже ставили Marzban по нашей статье, идея похожая — панель поверх Xray — но путь установки, каталоги и повседневная работа другие. Не ставьте обе панели на один сервер, пока не умеете развести порты.

Зачем панель, если можно править конфиг Xray руками

Сырой конфиг нормален для одного пользователя и одного входящего. Как только появляются друзья, ротация ключей Reality или ссылка подписки, которую телефон импортирует одним касанием, панель экономит часы. 3X-UI хранит пользователей в локальной базе, корректно перезапускает Xray после изменений и даёт компактную сводку по трафику. Сама по себе она не делает вас «невидимыми»: важны локация VPS, отпечаток TLS, тип входящего и то, как вы сами обращаетесь с ссылками и паролями.

  • Веб-интерфейс для входящих, клиентов, трафика и сроков вместо ручного JSON
  • Готовые ссылки подписки для v2rayN, v2rayNG, Streisand, Happ и похожих клиентов
  • Установка одной командой и понятный путь обновления
  • Хватает небольшого VPS (1 vCPU / 1 ГБ ОЗУ для личного использования)
  • Root остаётся у вас: панель не отправляет конфиги в чужое облако

Что нужно до начала

Не пропускайте домен и брандмауэр. Панель на HTTP с портом 2053 и паролем по умолчанию боты находят за часы. Подготовьте пункты ниже и подключитесь по SSH как root (или пользователь с sudo).

  • Linux VPS с публичным IPv4 (рекомендуется Ubuntu 22.04/24.04)
  • Не меньше 1 ГБ ОЗУ и 10 ГБ диска; 2 ГБ удобнее, если на сервере ещё что-то крутится
  • Доступ root или sudo по SSH
  • Домен или поддомен с A-записью на IP сервера (для нормального сертификата панели)
  • 20–30 минут плюс ожидание DNS, если запись только что создали

Шаг 1. Обновите систему и часовой пояс

На новом VPS часто висят обновления безопасности, а часы стоят в UTC. Сначала пакеты, чтобы установщик не спорил со старым OpenSSL или curl. Часовой пояс для самого Xray не критичен, но по логам панели и сроку сертификатов ориентироваться проще.

bash
ssh root@YOUR_VPS_IP

apt update && apt -y upgrade
apt -y install curl wget ca-certificates gnupg socat tar unzip

timedatectl set-timezone UTC
hostnamectl set-hostname panel

# Проверьте DNS поддомена (должен напечатать IP вашего VPS):
dig +short panel.example.com

Шаг 2. Установите 3X-UI

Официальный скрипт сборки MHSanaei качает свежий выпуск, ставит Xray-core, создаёт службу systemd и печатает URL первого входа. Внимательно скопируйте случайный путь, логин и пароль в менеджер паролей. Если спросят порт панели, оставьте 2053 или выберите свободный высокий порт — его же потом укажете в брандмауэре.

bash
bash <(curl -Ls https://raw.githubusercontent.com/mhsanaei/3x-ui/master/install.sh)

# После установки:
x-ui                    # меню: старт/стоп, сброс, обновление
systemctl status x-ui    # служба должна быть active
ss -tulpn | grep x-ui    # на каком порту слушает панель
Не закрывайте эту SSH-сессию. Если вылетите из панели, меню x-ui на сервере сбросит пароль администратора без переустановки.

Шаг 3. Первый вход и сразу усиление защиты

Откройте URL из вывода установщика, обычно http://YOUR_IP:2053/<случайный-путь>. Войдите с выданными данными и откройте настройки панели. Смените логин и пароль на свои уникальные. Если можно сменить базовый путь веб-интерфейса — смените: длинный случайный путь отсекает массу сканеров. При необходимости поменяйте порт. Сохраните, перезапустите панель из интерфейса или через systemctl restart x-ui и войдите уже по новому URL.

Включите двухфакторную проверку, если сборка её предлагает, и выключите шаблоны входящих, которыми не пользуетесь. Ядро Xray лучше оставить тем, что пришло с панелью, пока нет причины фиксировать другую сборку. Не вешайте панель на 80/443, если эти порты потом займёт Reality или обратный прокси — выберите одну схему и придерживайтесь её.

  • Сразу замените выданный логин администратора
  • Секретный путь в URL оставьте, не переносите панель в корень сайта
  • Нестандартный порт панели запишите себе
  • Этот пароль нигде больше не используйте

Шаг 4. Сертификат TLS для панели

Браузер ругается на HTTP, а пароль администратора по открытой сети лучше не гонять. 3X-UI умеет запросить сертификат Let's Encrypt, если порт 80 свободен и домен смотрит на этот VPS. В разделе сертификатов укажите panel.example.com и запросите выпуск. Если 80 уже занят, используйте проверку через DNS или поставьте Caddy/Nginx спереди и проксируйте на 127.0.0.1:2053.

bash
# Проверьте, свободен ли порт 80 до ACME-проверки панели:
ss -tulpn | grep ':80'

# Если TLS снимает Caddy, а панель слушает только localhost:
# panel.example.com {
#     reverse_proxy 127.0.0.1:2053
# }
Сертификат панели — только для веб-интерфейса. У VLESS Reality другая схема TLS (маскировка под чужой сайт), этот файл Let's Encrypt к клиентскому трафику не относится.

Шаг 5. Создайте входящий VLESS Reality

В разделе входящих создайте новый. Для многих сетей устойчивый вариант — VLESS, Reality, TCP. Порт не должен совпадать с портом панели: 443, если ничего другого на нём нет, иначе высокий TCP-порт — и тот же номер в брандмауэре. Сгенерируйте UUID первого клиента и пару ключей Reality в интерфейсе. В dest / serverNames укажите легитимную цель, которую вам допустимо имитировать (известный сайт с TLS 1.3). Сохраните входящий и убедитесь, что Xray перезагрузился без ошибок в логах панели.

Дополнительных клиентов добавляйте на тот же входящий: у каждого свой UUID, при желании метка-email и лимит по трафику или времени. Ссылку подключения или URL подписки копируйте из строки пользователя. Не кидайте их в публичные чаты — это тот же пароль.

bash
# Проверьте, что Xray слушает порт входящего (пример: 443):
ss -tulpn | grep -E ':443|:2053'

# Если клиент не коннектится:
journalctl -u x-ui -f

Шаг 6. Брандмауэр: только нужные порты

На Ubuntu достаточно UFW. Сначала разрешите SSH, чтобы не закрыть себе вход, затем порт панели и порт входящего. Если сертификат панели выпускается через ACME с этого же сервера, на время выпуска нужен 80/tcp. Reality на 443 требует 443/tcp, и панель на этот же порт вешать нельзя.

bash
ufw allow OpenSSH
ufw allow 2053/tcp comment '3x-ui panel (change if you picked another port)'
ufw allow 443/tcp comment 'VLESS Reality inbound'
# ufw allow 80/tcp comment 'only if panel ACME needs it'
ufw enable
ufw status verbose

Подключение клиентов

В Windows v2rayN импортирует ссылку VLESS из буфера. На Android то же делает v2rayNG или другой клиент Xray по QR. На iOS нужен клиент с поддержкой VLESS Reality (например Streisand или Happ — смотрите, что доступно у вас). После импорта включите профиль и проверьте список «онлайн» в панели. Если клиент молчит, чаще всего виноваты порт, UDP на TCP-only Reality, несовпадение serverName и dest или локальный брандмауэр ноутбука.

  • Windows: v2rayN — импорт ссылки VLESS, маршрутизация глобально или по правилам
  • Android: v2rayNG — QR со страницы пользователя в панели
  • macOS / iOS: клиент с VLESS + Reality, та же ссылка
  • URL подписки: добавьте в клиент, чтобы смена UUID не требовала ручного импорта

Обновления, резервная копия и безопасная переустановка

Перед каждым обновлением панели скачайте резервную копию из интерфейса (база и конфиг) и уберите её с VPS. Обновление обычно через меню x-ui или тем же скриптом установки, если он видит уже поставленную панель. После обновления проверьте, что служба активна и входящие слушают порты. Если переустанавливаете ОС, восстановите копию в панели, а не собирайте UUID заново.

bash
x-ui   # пункт обновления, либо:
# bash <(curl -Ls https://raw.githubusercontent.com/mhsanaei/3x-ui/master/install.sh)

# Файлы часто лежат в /etc/x-ui/ — скопируйте их на другой хост:
ls -la /etc/x-ui/
# scp -r /etc/x-ui/ you@backup-host:~/x-ui-backup-$(date +%F)/

Если что-то не работает

В первый день почти всегда виноваты DNS, порты или поля Reality. Пройдите список ниже, прежде чем переустанавливать панель. Переустановка без копии — способ потерять все UUID клиентов.

  • Не открывается веб-интерфейс: systemctl status x-ui, ss -tulpn, UFW. В URL должен быть секретный путь.
  • Забыли пароль администратора: на сервере x-ui и пункт сброса.
  • Клиент цепляется и зависает: закрыт порт входящего или включён UDP на TCP Reality.
  • Ошибки TLS панели: A-запись ещё не смотрит сюда или порт 80 занят во время ACME.
  • Не проходит рукопожатие Reality: dest/serverNames не совпадают или 443 уже занят другой службой.
  • Высокая нагрузка на CPU: слишком много входящих на 1 vCPU или сканирование открытого порта.

Защита, которая реально важна

Панель — это админка: из неё выдают пользователей и читают UUID. Ограничьте, кто достучится до веб-порта: если IP офиса постоянный, в UFW для 2053/tcp оставьте только его. SSH — по ключам, не по паролю. Не крутите посторонние публичные сайты на том же IP, если Reality сидит на 443: два стека TLS на одном порту — классика внезапных падений. Смените пароль администратора, если скрин панели когда-либо утёк в чат.

  • Только SSH-ключи; парольный вход отключите, когда ключи проверены
  • Порт панели в брандмауэре сузьте, если можете
  • Каталог /etc/x-ui регулярно копируйте с сервера
  • Ссылки подписки не публикуйте в открытых группах
  • Следите за диском: логи и статистика трафика растут

Практические советы

  • Один входящий на много клиентов проще, чем десять почти одинаковых
  • Называйте клиентов по устройствам (ноутбук-анна, телефон-бен), иначе графики бессмысленны
  • Сайт с обратным прокси лучше на другой IP или порт — не спорьте с Reality за 443
  • После любого перезапуска x-ui проверьте один клиент, пока SSH ещё открыт
  • Перед обновлением читайте список изменений, не прыгайте на «latest» в пятницу вечером

В итоге 3X-UI стоит как служба systemd, админский URL закрыт, у панели есть TLS, входящий VLESS Reality создан, брандмауэр совпадает с портами, резервная копия лежит не только на этом VPS. Клиентов добавляйте на странице входящего, импортируйте ссылку на каждом устройстве, панель обновляйте только после копии. Если всё сломалось, путь восстановления — меню x-ui на сервере, а не полная переустановка.