Гайды
Как настроить VLESS Reality пошагово: гайд 2026
§ в этой статье — 17 разделов
- Что нужно перед началом
- Шаг 1. Базовая подготовка VPS
- Шаг 2. Установка xray-core
- Шаг 3. Генерация ключевой пары X25519
- Шаг 4. Выбор fallback-домена
- Шаг 5. Конфиг сервера xray
- Шаг 6. Запуск и автозагрузка
- Шаг 7. Конфиг клиента
- Шаг 8. Импорт в клиенты
- Hiddify (мульти-платформенный)
- NekoBox (Android / Windows)
- v2rayN (Windows)
- v2rayNG (Android)
- Шаг 9. Проверка работы
- Шаг 10. Безопасность и hardening
- Частые проблемы
- Связанные материалы
VLESS Reality к 2026 году стал стандартом для российского self-host VPN. Этот гайд проведёт от пустого VPS до работающего туннеля за 30-40 минут. Без сторонних панелей, без скриптов «одной строкой» — только официальный xray-core, ручной конфиг и понимание каждого шага.
Подходит для тех, кто хочет владеть инфраструктурой целиком и понимать, что именно происходит на сервере. Если хотите быстрее и с панелью — смотрите гайд по 3x-ui или как поднять VPN на VPS.
Что нужно перед началом
Краткий чек-лист до запуска команд:
- VPS в подходящей юрисдикции. Нидерланды, Германия, Финляндия, Сингапур — годятся. Если важна низкая задержка для Москвы и Питера — Финляндия (Hetzner Helsinki) или Нидерланды (Hetzner Falkenstein, технически в Германии, но трасса короткая). США и Канада — выше пинг.
- Ubuntu 22.04 или Debian 12 — оба в LTS, xray работает на обоих. Centos и Fedora не рассматриваем, репозиторные пакеты xray там устаревшие.
- Доступ по SSH с ключом, sudo. Пароль на root отключите после установки ключа.
- Открытые порты 443/tcp и 80/tcp в firewall провайдера. 443 — для самого Reality, 80 — на случай если решите получать Let’s Encrypt для отдельного домена (Reality сам по себе сертификат не использует — он крадёт чужой во время handshake).
- 15-20 минут на конфиг и 5-10 минут на тесты с клиентов.
Если про VLESS Reality слышите впервые — сначала прочтите обзор протокола и краткое объяснение Reality.
Шаг 1. Базовая подготовка VPS
Подключаемся по SSH и обновляем систему:
ssh root@<IP-вашего-VPS>
apt update && apt upgrade -y
apt install -y curl wget ca-certificates gnupg lsb-release ufw
Настроим firewall. Сейчас открываем минимум — 22 (SSH), 80 и 443:
ufw allow 22/tcp
ufw allow 80/tcp
ufw allow 443/tcp
ufw --force enable
ufw status verbose
Создаём системного пользователя для xray (xray умеет работать от root, но это плохая практика):
useradd -r -s /usr/sbin/nologin -d /var/lib/xray xray
mkdir -p /var/lib/xray /etc/xray /var/log/xray
chown -R xray:xray /var/lib/xray /var/log/xray
Шаг 2. Установка xray-core
Берём официальный скрипт от XTLS — он ставит свежий бинарь, systemd unit и не лезет в системные конфиги:
bash -c "$(curl -L https://github.com/XTLS/Xray-install/raw/main/install-release.sh)" @ install -u xray
Проверяем версию:
xray version
В 2026 году актуальные релизы — это 1.8.x ветка с поддержкой Vision
и Reality. Если вышел 1.9.x — тоже подойдёт, обратная совместимость
сохраняется.
Если хотите версию из репозитория Debian — она устарела на 1-2 года, не подходит. Только официальный бинарь.
Шаг 3. Генерация ключевой пары X25519
Reality использует X25519 для собственного key exchange внутри TLS. Пара ключей генерируется командой xray:
xray x25519
Получите два значения:
Private key: aBcD...EfGh
Public key: ZyXw...VuTs
Private key идёт в конфиг сервера. Public key — в конфиг каждого клиента. Сохраните оба, public раздавайте свободно, private — никогда. Скомпрометирован private — компрометируется вся конфигурация, нужно генерировать новую пару и обновлять всех клиентов.
Сгенерируйте также shortId — 0-16 hex-символов, идентификатор конкретного клиента/сессии:
openssl rand -hex 8
Получите что-то вроде 7f4a9c2e1b3d5f86. Это будет общий shortId для
всех ваших клиентов или индивидуальный на каждое устройство (рекомендуется
второе — так проще отозвать).
Шаг 4. Выбор fallback-домена
Это критически важный шаг. Fallback в Reality — это публичный сайт, параметры TLS которого ваш сервер будет «красть» во время handshake. С точки зрения ТСПУ ваш трафик к VPS неотличим от трафика к этому публичному сайту.
Требования к fallback:
- TLS 1.3 обязательно. Reality работает только поверх 1.3.
- X25519 в ECDHE. Большинство современных сайтов это умеют.
- HTTP/2 или HTTP/3 на ALPN.
- Не заблокирован в РФ (иначе ваш Reality-туннель тоже будет выглядеть подозрительно).
- Высокий объём трафика глобально. Чем популярнее сайт, тем меньше шансов, что DPI на нём триггернёт «странный паттерн».
Хорошие варианты для РФ:
yandex.ru— TLS 1.3, X25519, H2, не блокируется, миллиарды запросов в день. Топовый выбор.www.microsoft.com— TLS 1.3, X25519, H2/H3, глобальный CDN.dl.google.com— TLS 1.3, X25519, H3, не блокируется.www.cloudflare.com— TLS 1.3, H2/H3. Минус: CF-IP частично в блок-листах ТСПУ, может тригернуть лишние эвристики.
Проверяем что fallback годится:
openssl s_client -connect yandex.ru:443 -tls1_3 -groups X25519 -alpn h2,http/1.1 </dev/null 2>/dev/null | grep -E "Protocol|Cipher|ALPN"
Должно быть Protocol: TLSv1.3, Cipher: TLS_AES_* и
ALPN protocol: h2.
Шаг 5. Конфиг сервера xray
Создаём /etc/xray/config.json:
{
"log": {
"loglevel": "warning",
"access": "/var/log/xray/access.log",
"error": "/var/log/xray/error.log"
},
"inbounds": [
{
"tag": "vless-reality",
"listen": "0.0.0.0",
"port": 443,
"protocol": "vless",
"settings": {
"clients": [
{
"id": "ВАШ-UUID-СЮДА",
"flow": "xtls-rprx-vision",
"email": "phone@local"
}
],
"decryption": "none"
},
"streamSettings": {
"network": "tcp",
"security": "reality",
"realitySettings": {
"show": false,
"dest": "yandex.ru:443",
"xver": 0,
"serverNames": ["yandex.ru", "www.yandex.ru"],
"privateKey": "ВАШ-PRIVATE-KEY",
"shortIds": ["7f4a9c2e1b3d5f86"]
}
}
}
],
"outbounds": [
{
"tag": "direct",
"protocol": "freedom"
},
{
"tag": "block",
"protocol": "blackhole"
}
],
"routing": {
"rules": [
{
"type": "field",
"ip": ["geoip:private"],
"outboundTag": "block"
}
]
}
}
Сгенерируйте UUID для клиента:
xray uuid
Получите что-то вроде 7c4e8a91-2f5d-4b3e-9c1a-8e5f7d2b4a91 — вставьте
в поле clients[0].id.
Замените ВАШ-PRIVATE-KEY на private key из шага 3.
Проверяем синтаксис конфига перед запуском:
xray run -test -c /etc/xray/config.json
Если ошибок нет — должно вывести Configuration OK.
Шаг 6. Запуск и автозагрузка
Запускаем сервис:
systemctl restart xray
systemctl enable xray
systemctl status xray
Должно быть active (running). Если нет — смотрим логи:
journalctl -u xray -n 50 --no-pager
tail -n 50 /var/log/xray/error.log
Типичные ошибки:
- Permission denied на /var/log/xray —
chown -R xray:xray /var/log/xray. - Bind: address already in use — на 443 уже что-то слушает (nginx?). Остановите конфликтующий сервис.
- Invalid private key — опечатка в конфиге, regenerate через
xray x25519.
Шаг 7. Конфиг клиента
Клиент-конфиг можно собрать в виде VLESS URI-ссылки:
vless://UUID@SERVER-IP:443?security=reality&sni=yandex.ru&fp=chrome&pbk=PUBLIC-KEY&sid=7f4a9c2e1b3d5f86&type=tcp&flow=xtls-rprx-vision#MyVPN
Где:
UUID— из шага 5SERVER-IP— публичный IP вашего VPSsni— fallback-домен из шага 4fp=chrome— fingerprint utls (имитация Chrome TLS)pbk— public key из шага 3sid— shortId из шага 3
Подробнее про uTLS fingerprint — в статье uTLS и JA3.
Шаг 8. Импорт в клиенты
Hiddify (мульти-платформенный)
Hiddify — для Windows / macOS / Linux / iOS / Android.
- Скопируйте VLESS-ссылку в буфер.
- Откройте Hiddify → меню → «Добавить из буфера».
- Включите свежий профиль свайпом по тумблеру.
NekoBox (Android / Windows)
NekoBox умеет xray и sing-box ядра.
- Главный экран → меню «+» → «Импорт из буфера обмена».
- Профиль появится в списке, нажмите на него и затем «Старт».
- В настройках протокола убедитесь что выбран
xray-core(не sing-box — в sing-box XTLS Vision реализован чуть иначе, для гарантированной совместимости первый раз тестируйте на xray).
v2rayN (Windows)
- Серверы → Импорт URL из буфера обмена.
- Правой кнопкой по записи → Установить как активный сервер.
- Системное меню → Системный прокси → «Установить системный прокси».
v2rayNG (Android)
- «+» → Импорт конфигурации → Импорт из буфера.
- Тапните на сервер → значок самолёта запустит туннель.
Шаг 9. Проверка работы
После запуска клиента проверьте:
curl -s https://api.ipify.org
Должен показать IP вашего VPS, не вашего домашнего провайдера.
Проверьте DNS-leak:
curl -s https://dnsleaktest.com/api
Запросы должны идти через DNS-резолверы VPS, не вашего ISP.
Проверьте скорость через speedtest.net или fast.com. На приличном VPS ожидаемые цифры: 80-90% скорости вашего канала до VPS, минус 10-20% на overhead TLS+xray.
Шаг 10. Безопасность и hardening
Несколько дополнительных мер:
-
fail2ban на SSH:
apt install fail2ban, дефолтный jail включён. -
Отключите password auth в
/etc/ssh/sshd_config:PasswordAuthentication no+systemctl restart sshd. -
Ротация логов xray уже настроена через systemd, но проверьте что
/var/log/xray/access.logне растёт бесконтрольно — добавьте в/etc/logrotate.d/xray:/var/log/xray/*.log { weekly rotate 4 compress missingok notifempty sharedscripts postrotate systemctl reload xray > /dev/null 2>&1 || true endscript } -
Резервный fallback-домен: добавьте второй serverName в массив на случай если основной залипнет — Reality будет ротировать.
-
Мониторинг доступности через uptime-kuma или просто cron
curlраз в 5 минут — оповещение если 443 перестал отдавать TLS.
Частые проблемы
«Подключение есть, но интернет не идёт». Чаще всего — клиент не включил режим VPN/proxy на уровне системы. На Android нужно явно «принять VPN-запрос» при первом запуске. На Windows v2rayN требует «Установить системный прокси».
«Скорость медленнее ожидаемой». Проверьте не упёрся ли VPS в network quota. Хостеры Hetzner / aeza этого почти не лимитируют, но мелкие провайдеры могут отдавать 100 Mbit в пиках.
«ТСПУ через несколько часов начал резать». Маловероятно для Reality, но возможно если ваш IP попал в чёрный список после массовых параллельных сессий с разных клиентов. Меняйте IP сервера или ставьте второй VPS на другую подсеть.
«Reality работает только из дома, на работе/мобильном — нет». На корпоративных Wi-Fi / 3G/4G/5G у мобильных операторов часто свой дополнительный DPI поверх ТСПУ. Если есть проблемы на сети МТС — смотрите специфические рекомендации.
Связанные материалы
§ FAQ
Частые вопросы
[ + ] Какой fallback-домен выбрать для VLESS Reality в России?
[ + ] Чем XTLS Vision отличается от обычного TLS-туннеля?
[ + ] Нужен ли домен для VLESS Reality или можно работать на голом IP?
читать дальше
Похожие статьи
-
Гайды
Asus Merlin firmware + VPN 2026: продвинутая настройка
Прошивка Asuswrt-Merlin на роутерах Asus RT-AX: OpenVPN-клиент, WireGuard, policy routing. Что работает в России 2026, почему xray-роутер всё равно нужен.
-
Гайды
ChatGPT, Claude, Gemini из России 2026: VPN и обход геоблокировок
OpenAI и Anthropic блокируют российские IP, Gemini ограничен частично. Разбираем, какой VPN нужен для каждого LLM-сервиса и почему важна гео сервера.
-
Гайды
AmneziaWG настройка: сервер и клиент для России 2026
Гайд по AmneziaWG в 2026: установка сервера на Linux VPS, генерация конфигов через AmneziaVPN GUI, импорт в мобильные клиенты Android и iOS. С нюансами обхода ТСПУ.