Установка и настройка 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 с логином и паролем.
Открываем ссылку, авторизуемся и переходим в раздел »Подключения». Далее жмем »Добавить подключение» и во всплывающем окне выполняем следующие действия:
Протокол указываем как vless, порт меняем на 443
В строке »Безопасность» выбираем Reality и нажимаем кнопку »Get New Cert»
В секции »Клиент» заменим Email на любое понятное название, а для Flow выберем xtls-rprx-vision
Больше ничего не меняем, кликаем »Создать» и убеждаемся, что новая конфигурация добавлена и доступна в виде QR кода или URL ссылки (иконка «Информация»)
Для наглядности, покажу это на видео:
Создание нового 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
Шаг 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://@: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-код, просканировать который можно любым совместимым клиентом.