Настройка Xray VLESS на Ubuntu: полное руководство от VPS до клиента

Пошаговая инструкция по развертыванию защищенного прокси-сервера Xray с протоколом VLESS на Ubuntu. Включает аренду VPS, базовую настройку безопасности, установку Xray-core, настройку Reality и 3X-UI, а также подключение клиентов.

Что такое Xray и VLESS: обзор технологии

Xray — это современное ядро для прокси-соединений, наследник V2Ray. Оно поддерживает множество протоколов, включая VLESS (легковесный протокол без шифрования на транспортном уровне). VLESS в сочетании с технологией Reality позволяет маскировать трафик под обычный HTTPS, делая его неотличимым для систем глубокой инспекции пакетов (DPI).

Reality работает следующим образом: клиент отправляет TLS-запрос с указанием реального домена (например, www.microsoft.com). Сервер Xray получает сертификат этого домена и для неавторизованных запросов просто проксирует соединение к настоящему сайту. Только клиент, знающий публичный ключ и shortId, проходит аутентификацию и получает доступ к туннелю. Это позволяет обходить блокировки без собственного домена и SSL-сертификата.

Дополнительно используется технология XTLS Vision, которая пропускает уже зашифрованные TLS-данные без повторного шифрования, что повышает скорость и снижает нагрузку на сервер.

Выбор и аренда VPS для Xray

Для работы Xray VLESS потребуется виртуальный выделенный сервер (VPS). Минимальные требования: 1 vCPU, 512 МБ RAM, 5 ГБ SSD, операционная система Ubuntu 22.04 или 24.04. Рекомендуется 1–2 vCPU, 1 ГБ RAM и 10 ГБ SSD. Обязательно наличие выделенного IPv4-адреса.

Важно выбирать сервер за пределами РФ, в странах с минимальной интернет-цензурой. Оптимальные локации — Германия, Нидерланды, Финляндия, Латвия. Для технологии Reality важна низкая задержка между VPS и целевым сайтом-маской (dest), поэтому выбирайте дата-центры крупных европейских провайдеров.

Стоимость базового VPS начинается от 1–2 долларов в месяц. При покупке обратите внимание на лимит трафика и возможность оплаты удобным способом. После оплаты вы получите IP-адрес, логин и пароль для подключения по SSH.

Базовая настройка безопасности VPS на Ubuntu

Перед установкой Xray необходимо обеспечить базовую защиту сервера. Подключитесь по SSH: ssh root@ip_адрес_сервера. При первом подключении подтвердите fingerprint и введите пароль.

Смена пароля root: выполните passwd и задайте сложный пароль.

Обновление системы: apt update && apt upgrade -y && reboot. После перезагрузки подключитесь заново.

Создание пользователя: adduser user_name, затем usermod -aG sudo user_name. Для переключения на root используйте su -.

Изменение порта SSH: отредактируйте /etc/ssh/sshd_config: раскомментируйте Port 22 и замените 22 на порт из диапазона 10001–65535. Также измените PermitRootLogin yes на no. Сохраните файл (Ctrl+O, Enter, Ctrl+X) и выполните systemctl restart sshd. Теперь подключение будет по команде ssh user_name@ip -p новый_порт.

Установка Fail2ban: apt install rsyslog fail2ban -y. Создайте конфигурацию /etc/fail2ban/jail.local:

[DEFAULT]
bantime = 10m
findtime = 10m
maxretry = 5

[sshd]
enabled = true
port = ваш_порт
filter = sshd
logpath = /var/log/auth.log
maxretry = 5
bantime = 1h
findtime = 10m

Затем systemctl restart fail2ban && systemctl enable fail2ban.

Настройка UFW: apt install ufw -y. Разрешите порты:

ufw allow OpenSSH
ufw allow 80
ufw allow 443
ufw allow ваш_порт_ssh

Включите firewall: ufw enable. Проверьте статус: ufw status verbose.

Установка Xray-core на Ubuntu

Xray-core можно установить с помощью официального скрипта. Выполните от root:

bash -c "$(curl -L https://github.com/XTLS/Xray-install/raw/main/install-release.sh)" @ install

После установки проверьте версию: xray version. Основные файлы:

  • Бинарник: /usr/local/bin/xray
  • Конфигурация: /usr/local/etc/xray/config.json
  • Геоданные: /usr/local/share/xray/

Для управления через веб-интерфейс удобно использовать панель 3X-UI. Установите её одной командой:

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

Установщик запросит настройки SSL для панели. Рекомендуется выбрать вариант 2 (Let's Encrypt для IP) — для этого должен быть открыт порт 80. Если порт 80 закрыт, заранее сгенерируйте самоподписанный сертификат:

openssl req -x509 -newkey rsa:2048 -nodes -keyout /root/xui-key.pem -out /root/xui-cert.pem -days 3650 -subj "/CN=localhost"

После завершения установки сохраните логин, пароль и URL панели — они выводятся только один раз.

Настройка VLESS Reality inbound в 3X-UI

Войдите в веб-панель 3X-UI по адресу https://IP:ПОРТ/ПУТЬ. Перейдите в раздел Inbounds → Add Inbound. Заполните поля:

  • Protocol: VLESS
  • Port: 443 (или случайный высокий порт, если 443 замедляется)
  • Transmission: TCP (RAW)
  • Security: Reality
  • uTLS: chrome (имитирует отпечаток Chrome)
  • Dest (SNI Target): www.microsoft.com:443 (сайт-маска, должен поддерживать TLS 1.3 и HTTP/2, не за Cloudflare)
  • Server Names: www.microsoft.com (совпадает с Dest)
  • Certificates: нажмите «Get New Cert» — сгенерируется пара ключей x25519 и shortId
  • Flow: xtls-rprx-vision (устанавливается при добавлении клиента)

После сохранения inbound перейдите на вкладку Clients и добавьте клиента. Скопируйте сгенерированную VLESS-ссылку или QR-код для подключения.

Подключение клиентов: Windows, Android, iOS

Для подключения к серверу используйте клиентские приложения, поддерживающие VLESS Reality.

Windows: v2rayN, Nekoray, V2RayXS. Скачайте последнюю версию, импортируйте конфигурацию через буфер обмена или QR-код.

Android: v2rayNG, V2Ray VPN, NekoBox. Установите из магазина или APK, нажмите «+» → «Импорт из буфера обмена».

iOS: Shadowrocket, Stash, V2Box. В приложении добавьте конфигурацию по ссылке или QR-коду.

После импорта активируйте профиль и проверьте IP на сайтах вроде whoer.net или 2ip.ru — он должен измениться на IP вашего VPS. Также проверьте доступ к заблокированным ресурсам.

Дополнительная защита и оптимизация сервера

После настройки прокси рекомендуется усилить безопасность:

  • Ограничьте доступ к веб-панели: в настройках 3X-UI измените адрес прослушивания на 127.0.0.1 и используйте SSH-туннель для доступа.
  • Настройте автоматические обновления: включите unattended-upgrades для критических патчей.
  • Используйте BBR для ускорения: включите алгоритм TCP BBR:
echo "net.core.default_qdisc=fq" >> /etc/sysctl.conf
echo "net.ipv4.tcp_congestion_control=bbr" >> /etc/sysctl.conf
sysctl -p
  • Регулярно обновляйте Xray и 3X-UI: следите за релизами на GitHub.
  • Создавайте снимки LXC/снапшоты VPS перед значительными изменениями.

Если ваш провайдер блокирует стандартный порт 443, смените его на случайный высокий (например, 43821) в настройках inbound и откройте его в UFW и firewall панели провайдера.

Устранение неполадок и частые ошибки

Проблема: не удаётся подключиться к серверу

  • Проверьте, запущен ли Xray: systemctl status x-ui
  • Убедитесь, что порт открыт в UFW и в панели провайдера (Hetzner, DigitalOcean и др.)
  • Проверьте логи: journalctl -u x-ui -f

Проблема: прокси работает, но медленно

  • Попробуйте сменить порт с 443 на высокий (40000+)
  • Измените транспорт на XHTTP (в 3X-UI выберите Transmission: xhttp, режим stream-one)
  • Проверьте задержку до сайта-маски: ping www.microsoft.com

Проблема: панель 3X-UI не открывается

  • Проверьте, что служба активна: systemctl is-active x-ui
  • Убедитесь, что порт панели открыт в firewall
  • Если используете самоподписанный сертификат, браузер может блокировать соединение — нажмите «Продолжить» (unsafe)

Проблема: профиль не активируется

  • В веб-интерфейсе 3X-UI переключите тумблер профиля в положение ON
  • Проверьте, что конфигурация клиента содержит правильные параметры (адрес, порт, UUID, publicKey, shortId)

Альтернативные методы развертывания: v2raya и LXC-контейнеры

Помимо 3X-UI, существует альтернативный способ развертывания Xray с использованием v2raya — веб-интерфейса для управления Xray. Этот метод удобен для изолированных сред, например, LXC-контейнеров на Proxmox.

Установка в LXC-контейнере:

  1. Создайте привилегированный контейнер с Ubuntu 20.04+ (для работы iptables).
  2. Установите Xray-core официальным скриптом.
  3. Скачайте .deb-пакет v2raya с GitHub и установите: apt install ./installer_debian_x64_*.deb
  4. Запустите службу: systemctl start v2raya && systemctl enable v2raya
  5. Откройте порты: 2017 (веб-интерфейс), 20170 (SOCKS5), 20171 (HTTP).

Настройка v2raya:

  • Откройте браузер по адресу http://IP_контейнера:2017
  • Создайте аккаунт, импортируйте VLESS-ссылку через кнопку Import
  • Активируйте профиль переключателем

Прокси на хосте: Настройте переменные окружения:

export ALL_PROXY=socks5h://IP_контейнера:20170
export http_proxy=http://IP_контейнера:20171
export https_proxy=http://IP_контейнера:20171

Или используйте proxychains для отдельных приложений.

Этот подход удобен для тестирования и изоляции прокси-сервиса от основной системы.

Вопросы и ответы

Нужен ли собственный домен для VLESS Reality?

Нет, для VLESS Reality не требуется собственный домен. Технология использует реальный сайт-маску (например, www.microsoft.com) для маскировки трафика. Сервер получает TLS-сертификат этого сайта, и DPI видит обычное HTTPS-соединение. Однако для веб-панели 3X-UI можно использовать Let's Encrypt сертификат по IP или самоподписанный сертификат.

Какой минимальный VPS нужен для Xray VLESS?

Минимальные требования: 1 vCPU, 512 МБ RAM, 5 ГБ SSD, Ubuntu 22.04/24.04, выделенный IPv4. Рекомендуется 1–2 vCPU, 1 ГБ RAM, 10 ГБ SSD. Сервер должен находиться за пределами РФ, желательно в Европе (Германия, Нидерланды). Стоимость базового VPS — от 1–2 долларов в месяц.

Что делать, если провайдер блокирует порт 443?

Смените порт в inbound на случайный высокий (например, 43821). Затем откройте этот порт в UFW (ufw allow 43821) и в firewall панели провайдера. После этого пересоздайте VLESS-ссылку в 3X-UI и обновите конфигурацию клиента. Также можно использовать транспорт XHTTP, который более устойчив к поведенческому анализу.

Как проверить, что прокси работает корректно?

После подключения клиента проверьте IP на сайтах whoer.net или 2ip.ru — он должен измениться на IP вашего VPS. Также проверьте доступ к заблокированным ресурсам. Для диагностики используйте команды на сервере: curl -x socks5h://127.0.0.1:20170 https://api.ip.sb/ip (если используете v2raya) или проверьте статус службы systemctl status x-ui.

Можно ли использовать Xray VLESS на мобильных устройствах?

Да, для Android доступны приложения v2rayNG, NekoBox; для iOS — Shadowrocket, Stash, V2Box. Импортируйте конфигурацию через QR-код или ссылку из панели 3X-UI. Убедитесь, что приложение поддерживает протокол VLESS и технологию Reality.

Как обновить Xray-core и 3X-UI?

Для обновления Xray-core используйте официальный скрипт: bash -c "$(curl -L https://github.com/XTLS/Xray-install/raw/main/install-release.sh)" @ install. Для обновления 3X-UI выполните команду установщика повторно: bash <(curl -Ls https://raw.githubusercontent.com/mhsanaei/3x-ui/master/install.sh). Перед обновлением рекомендуется создать снимок VPS.

Что такое XHTTP и чем он лучше TCP+Reality?

XHTTP — это транспортный протокол, который разделяет входящий и исходящий трафик на отдельные HTTP-транзакции. Это делает его более устойчивым к поведенческому анализу DPI, так как паттерн трафика сложнее детектировать. В 3X-UI выберите Transmission: xhttp (режим stream-one) для сохранения XTLS Vision. XHTTP рекомендуется использовать, если TCP+Reality замедляется или блокируется.