Перейти к содержанию

установка и настройка XRay (VLESS + Reality) + 3x-ui

3x-ui - web panel для управления XRay core.

XRay поддерживает:

  • VLESS
  • Reality
  • Trojan
  • Shadowsocks
  • VMess

Reality использует TLS camouflage для обхода DPI/filtering.

Инструкция собиралась и проверялась на Ubuntu 24.04.

По итогу получаем:

  • XRay core
  • VLESS + Reality
  • 3x-ui panel
  • один inbound для всех клиентов
  • TLS camouflage
  • QR и ссылки для клиентов
  • systemd сервис
  • работу через 443/tcp

00. подготовка сервера

Подключаемся:

ssh root@123.45.67.89

Создаем пользователя:

adduser deployuser

Даем sudo:

usermod -aG sudo deployuser

Проверяем вход:

ssh deployuser@123.45.67.89

01. обновление системы

sudo apt update && sudo apt full-upgrade -y

Перезагружаем:

sudo reboot

02. отключение root login

Редактируем:

sudo nano /etc/ssh/sshd_config

Меняем:

PermitRootLogin no

Перезапускаем SSH:

sudo systemctl restart ssh

03. подключение

ssh deployuser@123.45.67.89
sudo -i

04. установка 3x-ui

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

Warning

Установка выполняется через remote install script. Перед использованием рекомендуется проверить содержимое install.sh.

05. настройка при установке

Выбираем:

Do you want to customize the Panel Port? → y
Port → 2053

Choose SSL certificate:
2 (Let's Encrypt for IP Address)

IPv6 → Enter

Port for ACME → 80

Warning

Пункты install script могут отличаться между версиями 3x-ui.

Используйте нестандартный port для 3x-ui panel.

06. данные панели

После установки получаем:

Username: XXXXX
Password: XXXXX
Port: 2053
WebBasePath: XXXXX

07. вход в панель

https://IP:2053/WEBBASEPATH

Warning

3x-ui panel регулярно сканируется ботами и может стать целью:

  • brute-force атак
  • mass scanning
  • попыток подбора стандартных URL/path
  • попыток входа с утекшими паролями

Рекомендуется:

  • использовать нестандартный port
  • использовать сложный password для panel
  • ограничить доступ по IP через firewall
  • не публиковать panel без необходимости
  • использовать reverse proxy/WAF при публичном доступе

08. создание inbound

Создаем inbound только один раз.

Переходим:

Подключения → Создать подключение

Настройки:

Протокол: VLESS
Порт: 443
Примечание: vpn

09. настройка клиента

Внутри inbound:

Добавить клиента

Настройки:

Email → имя устройства
ID → Generate
Flow → оставить пустым

10. transport и security

Network → TCP
Security → Reality

11. Reality настройки

Пример:

Target:
example.com:443

SNI:
example.com

Warning

Reality target должен:

  • поддерживать HTTPS
  • отвечать по TLS
  • соответствовать SNI
  • выглядеть правдоподобно для TLS camouflage

12. генерация Reality keys

В панели:

Get New Keys

Reality использует public/private key pair.

13. Short ID

Short ID обычно содержит 8-16 hex символов.

Можно оставить автоматически сгенерированный.

Или указать свой:

abc123

14. создание inbound

Создать подключение

15. добавление новых пользователей

Новых пользователей добавляем внутрь существующего inbound:

Подключения → inbound → Клиенты → Добавить

Новый inbound создавать не нужно.

16. получение ссылки

Клиенты → QR / ссылка

Импорт через:

  • Import URL
  • Scan QR code

17. клиенты

Windows:

v2rayN

Android:

v2rayNG

iPhone:

Shadowrocket
Streisand

18. firewall

Warning

Перед включением UFW убедитесь, что разрешен OpenSSH, иначе можно потерять SSH доступ.

ufw allow OpenSSH
ufw allow 443/tcp
ufw allow 2053/tcp
ufw enable

19. проверка

ss -tulpen | grep :443
ss -tulpen | grep :2053

systemctl status x-ui
journalctl -u x-ui -n 50 --no-pager

20. проверка подключения

https://ipinfo.io

21. как это работает

  • inbound обычно один (443/tcp)
  • клиентов может быть сколько угодно
  • каждый клиент получает свой ID
  • Reality использует TLS camouflage для обхода DPI/filtering
  • 3x-ui управляет XRay core через web panel

3x-ui не является самим VPN/proxy server.

Панель управляет XRay core.

полезные ссылки

3x-ui GitHub
https://github.com/MHSanaei/3x-ui/

XRay Documentation
https://xtls.github.io/

v2rayN
https://github.com/2dust/v2rayN/