Установка и настройка VPN с VLESS и Reality

от автора

В статье рассмотрим 3 способа настройки VPN-подключения с VLESS и Reality.

VLESS — это современный протокол передачи данных, разработанный для обеспечения высокой скорости и конфиденциальности в интернете. Его часто называют VLESS VPN, хотя строго говоря, речь пойдет об установке прокси с протоколом VLESS на базе сервера XRay с Reality.

Начнем с самого простого и универсального варианта, не требующего технических знаний.

Подготовка

Для начала нам нужен виртуальный сервер (VPS), на котором будем всё настраивать. Арендовать можно самый дешевый у любого хостинг провайдера. После оформления заказа получим данные для доступа к нему — IP-адрес и root-пароль.

Способ 1. Простая установка

Самый быстрый и удобный вариант настройки VLESS — с помощью Амнезии, инструкция здесь.

Устанавливаем на компьютер или телефон приложение AmneziaVPN, запускаем его, жмем на «Self-hosted VPN» (настроить VPN на собственном сервере) и вводим IP-адрес и root-пароль виртуального сервера. На следующем шаге кликаем на «Выберите VPN-протокол» и выбираем «XRay» (XRay with Reality).

Затем программа настроит всё на сервере и предложит подключиться к своему VPN. По умолчанию используется протокол VLESS.

Способ 2. Виртуальный сервер с 3X-UI

У некоторых хостинг-провайдеров при заказе сервера можно выбрать установку 3X-UI — удобного графического интерфейса для настройки XRay с VLESS. Когда сервер будет готов, вы получите ссылку для входа в 3X-UI с логином и паролем.

Открываем ссылку, авторизуемся и переходим в раздел «Подключения». Далее жмем «Добавить подключение» и во всплывающем окне выполняем следующие действия:

  1. Протокол указываем как vless, порт меняем на 443

  2. В строке «Безопасность» выбираем Reality и нажимаем кнопку «Get New Cert»

  3. В секции «Клиент» заменим Email на любое понятное название, а для Flow выберем xtls-rprx-vision

  4. Больше ничего не меняем, кликаем «Создать» и убеждаемся, что новая конфигурация добавлена и доступна в виде QR кода или URL ссылки (иконка «Информация»)

Для наглядности, покажу это на видео:

Создание нового VLESS подключения в 3X-UI

Создание нового VLESS подключения в 3X-UI

Сервер настроен, и чтобы к нему подключиться, нужно установить программу-клиент.
Вот наиболее популярные клиенты:

Для подключения большинства клиентов достаточно отсканировать QR-код конфигурации или вставить соответствующую URL ссылку. В отдельных случаях, если в клиенте нет функции импорта, конфигурационные данные из URL ссылки нужно переносить вручную.

Способ 3. Самостоятельная установка

Этот вариант самый трудозатратный и включает несколько шагов.

Шаг 1. Заходим на сервер от имени root, обновляем списки пакетов и запускаем установочный скрипт XRay:

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

Шаг 2. Создаем необходимые учетные данные для конфигурации и сохраняем их где-то, позже они понадобятся:

xray uuid xray x25519

Шаг 3. Для работы VLESS нужен сайт, поддерживающий HTTP/2, TLS 1.3 и сертификат X25519. Проверить это можно так:

curl -I --tlsv1.3 --http2 https://example.com openssl s_client -connect example.com:443 -brief

Пример проверки Хабра:

Как проверить поддержку HTTP/2, TLS 1.3 и X25519

Как проверить поддержку HTTP/2, TLS 1.3 и X25519

Шаг 4. Содержимое файла /usr/local/etc/xray/config.json заменяем шаблоном конфига ниже. Шаблон нужно отредактировать и дополнить в соответствии с комментариями в нем:

config.json
{     "log": {         "loglevel": "warning"     },     "inbounds": [         {             "port": 443,              "protocol": "vless",             "settings": {                 "clients": [                     {                         "id": "",          // здесь вставить uuid, сгенерированный на шаге №2                         "flow": "xtls-rprx-vision"                     }                 ],                 "decryption": "none"             },             "streamSettings": {                 "network": "tcp",                 "security": "reality",                 "realitySettings": {                     "dest": "example.com:443",// здесь заменить `example.com` на ваш сайт из шага №3, порт оставляем                     "serverNames": [                         "example.com",// заменить на ваш сайт из шага №3                         "www.example.com"   // и добавить альтернативные имена (если есть)                     ],                     "privateKey": "",// вставить приватный ключ (Private key), созданный на шаге №2                     "shortIds": [                            "0a381e1fa219",// Список уникальных коротких идентификаторов, доступных клиентам, чтобы их различать                         "be0ce04754dc",// Длина: от 2 до 16 символов. Используемые символы: 0-f.                          "41beec74f4bc" // Для удобства, значения можно сгенерировать командой `openssl rand -hex 6`                     ]                 }             },             "sniffing": {                 "enabled": true,                 "destOverride": [                     "http",                     "tls"                 ]             }         }     ],     "outbounds": [         {             "protocol": "freedom",             "tag": "direct"         }     ] }

Шаг 5. Перезагружаем XRay и убеждаемся, что всё работает:

systemctl restart xray systemctl status xray

Сервер готов. Список приложений-клиентов для подключения мы рассматривали в предыдущем способе настройки, используйте их.

Подготавливаем URL-строку конфигурации, чтобы вставить ее в клиент, вот шаблон:

vless://<uuid из шага 2>@<IP-адрес сервера>:443?type=tcp&security=reality&pbk=<публичный ключ из шага 2>&fp=chrome&sni=<домен из serverNames в конфиге>&sid=<одно из значений shortIds в конфиге>&flow=xtls-rprx-vision#<произвольное название, под которым профиль будет сохранён в приложении>

Из этой строки любым QR-генератором можно сделать графический код для удобного импорта конфигурации в дальнейшем. Например так:

apt install qrencode -y qrencode -o qr.png 'vless://...'

В результате мы получим файл qr.png содержащий QR-код, просканировать который можно любым совместимым клиентом.


ссылка на оригинал статьи https://habr.com/ru/articles/869340/