Что такое 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-контейнере:
- Создайте привилегированный контейнер с Ubuntu 20.04+ (для работы iptables).
- Установите Xray-core официальным скриптом.
- Скачайте .deb-пакет v2raya с GitHub и установите:
apt install ./installer_debian_x64_*.deb - Запустите службу:
systemctl start v2raya && systemctl enable v2raya - Откройте порты: 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 замедляется или блокируется.