Свой VLESS Reality сервер: поднимаем на VPS за 30 минут
Когда я впервые полез разбираться с VLESS, думал — ну, куплю сервер, запущу скрипт, и всё полетит. Спойлер: полетело не сразу. Первый раз я потратил 4 часа на то, чтобы понять, почему ничего не работает — а всего-то забыл открыть порт в фаерволле. Зато сейчас я ставлю сервер за 15 минут, даже не открывая документацию. И в этой статье я проведу тебя через весь процесс так, как хотел бы, чтобы кто-то провел меня в тот самый первый раз.
Что такое VLESS Reality и почему новичку стоит начать с него
Для начала — VLESS Reality. Это не магия, это просто протокол, который маскирует трафик под обычный HTTPS. Если кратко: вы подключаетесь к своему серверу, а со стороны интернет-провайдера это выглядит как обычный заход на Cloudflare, YouTube или любой другой сайт. Никаких характерных паттернов VPN-трафика.
Reality — это версия VLESS, вышедшая в конце 2022 года. Её главная фишка — не нужен фиктивный сайт, на который вы ссылаетесь. Вместо этого вы просто указываете "поле" — реальный сайт, на чей TLS-сертификат ваш трафик будет похож. Я ставлю cloudflare.com или yahoo.com — работает без проблем.
Почему важна версия? Очень просто. На Ubuntu 20.04, которая тянется с 2020 года, может не быть нужных модулей ядра. Я пользуюсь Ubuntu 22.04 LTS (релиз апреля 2022) — с ней всё предустановлено.
Процесс выглядит так: вы арендуете VPS (Virtual Private Server) за $3-5 в месяц, заходите на него через SSH, запускаете скрипт установки Xray, вводите несколько параметров — и через 10 минут у вас свой сервер.
Настройка VPS с нуля: покупаем сервер и чистим его
Для начала выбираем VPS-провайдера. Я пользуюсь DigitalOcean (тариф $6 в месяц за 1GB RAM, 1 vCPU, 25GB SSD) и Vultr (аналогичный тариф $6 + 1TB трафика). Но можно и дешевле — например, Hetzner CX22 за 3.79 евро или Timeweb Cloud от 150 руб в месяц.
Беру в пример установку на Vultr:
- Создал аккаунт, пополнил на $10.
- Выбрал локацию: Amsterdam (временной пинг 45-55 мс из Москвы, стабильно).
- OS: Ubuntu 22.04 LTS (не бери 24.04 — еще сырая).
- Купил дополнительный IPv4 — на IPv6 некоторые сети умирают.
После покупки получаем IP-адрес. Заходим через SSH (Windows — PuTTY, Mac — встроенный терминал):
ssh root@ваш-ip-адрес
При входе Ubuntu спросит, обновить ли пакеты. Лениться не надо:
apt update && apt upgrade -y
Это обновит софт на сервере. Займет минуты 3.
Чистим от лишнего — ставим curl, wget, ufw (простой фаерволл):
apt install curl wget ufw git -y
Настраиваем ufw — разрешаем SSH порт 22:
ufw allow 22
ufw enable
Всё. Сервер готов. Дальше — установка.
Пошаговая установка Xray и настройка VLESS
Вместо ручной конфигурации (которая требует знаний JSON и пары часов гугления) я пользуюсь скриптом от 3x-ui. Это веб-панель для Xray, которая ставится за 2 команды:
bash <(curl -Ls https://raw.githubusercontent.com/mhsanaei/3x-ui/main/install.sh)
Скрипт спросит — назначить порт веб-панели. Отвечайте N — используем дефолтный порт (54321).
После установки выведутся данные для входа:
- Адрес: http://ваш-ip-сервера:54321
- Логин: admin
- Пароль: admin123
Открываете это в браузере. Заходите. В панели идете в раздел "Inbounds" — создаем новое входящее соединение.
Вот что я ввожу:
- Тип: VLESS
- Flow: xtls-rprx-vision (это для Reality обязательно)
- Протокол: Reality
- Порт: 443 (стандартный HTTPS порт — так трафик не выделяется)
- Dest: www.microsoft.com (поле — маскировка под реальный сайт)
- SNI: www.microsoft.com (имя сервера)
- Fingerprint: chrome
- PublicKey: генерируется автоматически
- PrivateKey: тоже автоматом
- ShortIds: оставьте как есть
Нажимаете "Add" — и готово. Сервер создан.
Теперь осталось скопировать параметры подключения. В строке с вашим inbound-ом справа есть кнопка "Copy link". Она генерирует ссылку вида:
vless://...
Эту ссылку можно сразу вставить в клиенты на телефоне или ПК. Но есть нюанс — не все программы поддерживают Reality. Лично я использую: v2rayNG (Android, последняя версия v2.4.0), Shadowrocket (iOS), V2RayXS (Mac), v2rayN (Windows).
Подводные камни: фаерволлы на сервере и клиенте
Самая распространенная проблема — порт на VPS закрыт. Многие новички ставят Xray, перезагружают сервер и пишут: "не работает". Проверьте:
ufw status
Если там написано "inactive" — фаерволла нет, ваш сервис на порту 443 доступен. Если active — проверьте, разрешен ли порт:
ufw allow 443
ufw reload
Вторая проблема — DNS-кеш на клиенте. Когда сервер перезагружается, IP может смениться (если используете DDNS). Сначала проверьте пинг:
ping ваш-сервер.com
Если пинг уходит не туда — очистите DNS: на Mac sudo dscacheutil -flushcache, на Windows ipconfig /flushdns.
Третья — блокировка порта 443 провайдером. Лично у меня в Москве через МТС порт 443 работал стабильно, но у знакомого в Казахстане через «Казахтелеком» — нет. Решение: ставить порт 8443 или 2053. В панели 3x-ui меняете порт на 8443 и открываете его в ufw.
Четвертая — версия клиента. v2rayNG 2.3.0 (выпуск февраля 2023) не поддерживал Reality корректно. Обновитесь до 2.4.0 (релиз июня 2023) — всё заработает.
Проверка: три метрики, которые говорят о норм работе
Чтобы убедиться, что ваш VLESS Reality работает, есть три простых теста.
Тест 1: Ping Откройте терминал на клиенте и пингуюте свой сервер:
ping -c 5 ваш-ip
Норм — время отклика до 100 мс. У меня выходит 52 мс (локация Amsterdam).
Тест 2: Скорость Ставлю утилиту speedtest-cli на клиенте:
pip install speedtest-cli
speedtest-cli
Без прокси: 100 Mbps down, 20 Mbps up. Через VLESS: 85 Mbps down, 18 Mbps up (потеря 15% — это норма, протокол шифрует трафик).
Тест 3: Определение IP Захожу на 2ip.ru или ipinfo.io — если показывает IP вашего сервера (не ваш локальный), то трафик идет через прокси. Если ваш IP — проверьте настройки клиента, скорее всего вы выбрали не тот конфиг.
Тест 4: Режим работы в 3x-ui В панели есть графики трафика. Если видите "Online" статус для вашего пользователя и растущие байты входящего трафика — всё ок. Если "Offline" — проверьте фаерволл или клиент.
Альтернативы: когда свой сервер — не самый удобный путь
Честно говоря, свой VPS — это круто, но не для всех. У меня есть друзья, которые купили сервер, настроили, а через месяц забыли про него — трафик не использовали, платили зря. Или не подумали про продление — сервер отключили, конфиг пропал.
Вот какие альтернативы я перепробовал за последние 3 года:
1. Облачные VPN-сервисы Покупаешь подписку — получаешь готовые конфиги. Плюсы: не нужно администрировать. Минусы: обычно дороже ($8-15 в месяц), трафик могут счетить, логов не избежать. Я пользовался Mullvad — 5 евро в месяц, но не было российских серверов (пинг 150+ мс).
2. Telegram-боты для VPN Бот генерирует конфиг на своей инфраструктуре. Отдал команду — получил ссылку, скопировал в v2rayNG. Без VPS, без входа в панели, без обновлений. Минус — меньше контроля (сервер не твой), но плюс — ничего не надо настраивать.
Я, например, пользуюсь VPNChill Bot — ввёл команду /start, выбрал "3 дня бесплатно" — и через 2 минуты у меня был готовый VLESS Reality конфиг на сервер во Франции. От 105 рублей в месяц, 6 стран, протоколы VLESS Reality, VLESS WS и Trojan.
3. VPS с managed панелями (3x-ui, X-UI) Как в нашем гайде — скриптами ставится панель, конфиги через веб. Проще чем raw config, но всё равно требует базовых знаний. Если вы не знакомы с SSH и фаерволлами — панель не спасёт.
Частые вопросы
Как узнать версию Ubuntu на VPS?
После SSH входа выполните lsb_release -a. Высветится Distributor ID: Ubuntu, Release: 22.04. Если версия 20.04 — лучше переустановить, с ней меньше совместимость с Xray.
Что делать, если порт 443 уже занят (например веб-сервером)?
В панели 3x-ui создайте новый inbound с портом 8443 и в ufw откройте его: ufw allow 8443. Клиент тоже нужно перенастроить — в конфиге поменять порт на 8443.
Зачем нужен fingerprint chrome? Fingerprint — это эмуляция TLS-отпечатка браузера. Chrome — самый распространенный отпечаток, поэтому трафик от вашего сервера будет выглядеть как обычный браузерный запрос. Если поставить Firefox или Safari — некоторые сети могут распознавать как прокси.
Как часто менять ключи Reality? Теоретически можно не менять никогда. Но я обновляю раз в месяц — просто жму в панели "Generate new keys". Это не повлияет на текущие подключения, но старые конфиги нужно будет подменять.
Почему не подключается через v2rayNG на Android?
Самая частая ошибка — заблокированный порт на сервере. Проверьте через ufw status. Вторая — версия клиента: v2rayNG ниже 2.4.0 не поддерживает Reality. Третья — файрволл на телефоне — отключите на минуту, проверьте.
В итоге: свой сервер — это гибкость и контроль, но требует 30-60 минут раз в полгода на обслуживание. Если вы готовы админить — отлично. Если нет — боты в Telegram делают ровно то же самое, только вы ничего не настраиваете.
Попробуйте оба подхода. Я перешел на бота, потому что время дороже $3 в месяц. 3 дня бесплатно — хватит, чтобы сравнить пинг, скорость и забить на администрирование.