logo

Современные методы для VPN

Настройка лучших VPN протоколов! VLESS с XTLS-Reality на сервере XRay с установкой через 3X-UI панель

Современные методы для VPN
Источник - Современные методы для VPN

Настройка лучших VPN протоколов! VLESS с XTLS-Reality на сервере XRay с установкой через 3X-UI панель

VLESS с XTLS-Reality — используют уникальный метод идентификации на этапе TLS-рукопожатия по принципу свой/чужой. Если сервер определяет клиента как «своего», он просто работает как прокси.

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

При этом, в реальном времени, ваш прокси-трафик скрывается под обычным браузерным трафиком в виде HTTPS соединения, используя реальный TLS-сертификат.

В случае неузнаваемого трафика, соединение перенаправляется на реальный сайт (например, google.com) и имитирует его поведение. Это обеспечивает высокую степень маскировки и делает практически невозможным детектирование прокси.

Более подробно про эти протоколы можете почитать, например на хабре. Не буду перегружать этот пост теорией — это, всё-таки, пошаговый гайд, а не лекция по принципам работы протоколов. Более подробно про эти протоколы можете почитать, например на хабре. Не буду перегружать этот пост теорией — это, всё-таки, пошаговый гайд, а не лекция по принципам работы протоколов.

Вы наверное спросите: а лучше ли этот вариант настройки, чем тот же WireGuard или Outline с Shadowsocks? — Да! В разы лучше!

Как минимум, потому что WG – уже научились блокировать, а SS – достаточно устаревший протокол.

Таким образом, VLESS с XTLS-Reality являются самыми современными протоколами обфускации и шифрования. Вычислить которые сторонние инструменты не смогут ещё ближайшие пару лет.

Плюс ко всему, после установки графической панели 3X-UI на сервере также можно будет настроить такие протоколы VPN, как: VMESS, Trojan, Shadowsocks-2022, Transparent Proxy, Dokodemo-Door и Socks.

Окей, давайте приступим к установке и настройке сервера.

Пункт 1. Про VPS/VDS сервер

*Данный этап можно пропустить, если у вас уже есть VPS/VDS сервер. Например, на который ранее был установлен OpenVPN или WireGuard, и которые впоследствии перестали работать из-за блокировки протоколов.

Как вариант один из провайдеров AEZA. Его плюсы:

  • нет цензуры и ограничений по торрентам (исключение в локации США)
  • скорость до 500 мб/с
  • можно оплачивать с карт РФ, СБП
  • не требуются документы для регистрации

Пункт 2. Подключение к серверу по SSH и установка графической панели 3X-UI

  1. Откройте командную строку (Windows) или терминал (MacOS) и введите следующую команду:
ssh root@ip_adress

Если что, по SSH можно подключиться ещё в Linux и даже с Android устройства через программу JuiceSSH.

  1. У вас спросят "Are you sure you want to continue connecting(yes/no/[fingerprint]) ? " — ответьте yes.

  2. Введите пароль от сервера, который вам пришёл на почту. При вводе пароль не будет отображаться, поэтому лучше скопировать и вставить с помощью сочетаний клавиш: Cntl+V (Windows) или Command+V (MacOS)

  3. Первым делом, необходимо обновить компоненты операционной системы Ubuntu до последней версии. Для этого введите следующую команду:

apt update && apt upgrade -y
  1. Теперь установим Curl — эта утилита нужна для загрузки файлов и пакетов в терминале. Сделаем это с помощью этой команды:
apt install curl -y
  1. И, неожиданно, сразу же установим панель 3X-UI. Мы это будем делать напрямую в ОС с помощью скрипта из официального репозитория на GitHub:
bash <(curl -Ls https://raw.githubusercontent.com/mhsanaei/3x-ui/master/install.sh)

Этот скрипт можно использовать и для первоначальной установки и для обновления версии графической панели. Каждый раз используется последняя актуальная версия.

  1. После завершения установки вам у вас спросят: Хотите ли вы внести дополнительные модификации — ответьте Y (да)

Вводим username - Любой какой вам нравится — я введу Revelix. Вводим password — Любой более-менее надёжный и запомните его — тут я тоже введу Revelix (Если что, запомните регистр, если также будете вводить) И наконец, вводим порт, через который будет работать панель 3X-UI. Лучше всего где-нибудь в верхнем конце диапазона, до 65535. Я введу 5580.

  1. Готово! Графическая панель 3X-UI установлена на ваш сервер!

Пункт 3. Защита сервера

  1. Для защиты нашей системы установим программу fail2ban — она нужна для блокировки IP-адресов при превышении количества попыток совершения какого-либо действия, например, неудачного ввода SSH-пароля.

Введите эту команду:

apt install fail2ban -y && systemctl start fail2ban && systemctl enable fail2ban
  1. Теперь, чтоб ещё лучше защитить свой сервер от несакционированно проникновения третьих лиц (или ботов) добавим нового пользователя с правами Root, а после чего отключим учётную запись root.
adduser user

где user - замените на своё имя пользователя. Я создам пользователя с названием Revelix.

  1. Введите пароль для своей новой учётной записи. Лучше всего придумайте его с сочетанием верхнего регистра, нижнего регистра и цифр.

  2. Далее вам будет предложено ввести информацию о вашем новом пользователе. Вы можете оставить их пустыми.

  3. Добавьте новую учетную запись в группу sudo, введя:

usermod -aG sudo user

где user — также замените на своё ранее созданное имя пользователя.

  1. Переключитесь на новую учётную запись с помощью команды:
su - user
  1. Теперь заблокируем вход пользователя root по SSH. Для этого нужно отредактировать файл /etc/ssh/sshd_config
sudo nano /etc/ssh/sshd_config

Введите ранее созданный пароль для этой учётной записи и нажмите Enter.

  1. Затем, найдите (перемещайтесь с помощью стрелок на клавиатуре) директиву PermitRootLogin и при необходимости раскомментируйте (если она закомментирована).

После ввода изменений нажмите сочетание клавиш Cnrl + X, подтвердите сохранение: Y

Затем перезапустите службу sshd, чтобы применить последние изменения в конфигурациях.

sudo service sshd restart
  1. После этого можете попробовать подключиться через ssh root@ip-адрес, но у вас ничего не получится.

Поэтому, теперь вам можно будет подключится к серверу только с помощью новой учётной записи, так же в формате: ssh user@ip-адрес, где user — ваше ранее созданное имя пользователя, а ip_adress — ip-адрес вашего сервера.

###Пункт 4. Создание протоколов в графической панели 3X-UI

  1. Чтобы войти в веб версию панели, в браузере идём по адресу:
http://xxx.xxx.xxx.xxx:PORT/panel/

где xxx.xxx.xxx.xxx — IP-адрес вашего сервера, а PORT - номер вашего порта. В моём случае это порт 5580.

Обратите внимание, протокол http://, а не https://

  1. Если вы всё сделали правильно, перед вами откроется окно ввода. Введите здесь Логин и пароль, который вы создали через командную строку.
  2. Логинимся и видим вот такую красивую панель управления 3X-UI
  3. Нажимаем на раздел Подключения, далее Добавить подключение. Логинимся и видим вот такую красивую панель управления 3X-UI
  4. И переходим к настройке VLESS с XTLS-Reality. Сделайте всё так, как я написал ниже и показал на скриншоте.
  • Примечание — любое название
  • Протокол — vless
  • Порт IP — оставляем пустым
  • Порт — вместо рандомного ставим 443

переходим к настройке VLESS с XTLS-Reality

  1. Далее переходим к настройкам Клиента.
  • Email - Напишите название клиента. У меня это Revelix.
  • Flow — надо выбрать xtls-rprx-vision. И, обратите внимание, поле Flow (см. скриншот) появится только после того, как чуть ниже вы поставите галочку на пункте Reality

Flow — надо выбрать xtls-rprx-vision. И, обратите внимание, поле Flow (см. скриншот) появится только после того, как чуть ниже вы поставите галочку на пункте Reality

  1. Далее настроим транспорт.
  • Протокол передачи: TCP
  • AcceptProxyProtocol, HTTP Маскировка, Transparent Proxy, TLS — всё это должно быть выключено
  • xVer — оставьте значение 0
  • Reality — должно быть включено
  • XTLS — наоборот, должно быть выключено. Возможно тут вам стало не понятно, так как Reality тоже относится к XTLS. Но, здесь под XTLS подразумеваются только устаревшие версии протокола. А переключатели XTLS и Reality в панели являются взаимоисключающими.
  • uTLS — тут надо выбрать то, под какой браузер будет маскироваться наше VPN соединение. Но, можете выбрать chrome - так будет лучше всего.
  • Домен — на самом деле это адрес для подключения к вашему серверу. Оставьте пустым, и тогда туда автоматически подставится IP-адрес сервера.
  • Dest — это destination, то есть «назначение» — тут указываем домен и порт для переадресации google.com:443
  • Server names — это домен, под который вы будете маскироваться. Меням на google.com, www.google.com
  • ShortIds — это приватный ключ, сгенерируется автоматически.
  • Public Key, Private Key — нажмите на кнопку Get new keys, и ключи сгенерируются автоматически.
  • Sniffing, HTTP, TLS, QUIC, fakedns — оставьте включённым.

Sniffing, HTTP, TLS, QUIC, fakedns — оставьте включённым.

  1. После того, как всё правильно сделали по инструкции, сравнили с моими скриншотами — нажимайте кнопку Создать. И всё, настройка завершена!

По итогу имеем вот такую картину:

ShortIds — это приватный ключ, сгенерируется автоматически

  1. Если нажать на меню, то можно изменить, добавить одного или нескольких пользователей, сбросить трафик, экспортировать ключи и т. д.

  2. Перед подключением устройств, которые будут использовать VPN соединение с сервером. Рекомендую вам зайти в настройки панели и поменять пароль, если он у вас не слишком сложный. А лучше всего включить ещё и секретный токен для максимальной безопасности(только не забудьте его сохранить в надёжном месте!)

Ну и плюс, сейчас, или после окончательной настройки можете покопаться в настройках, особенно в разделе Конфигурация Xray.

Пункт 5. Подключение клиентов

Чтобы долго не искать, выберите своё устройство, на котором вы хотите настроить VPN подключение:

iOS (iPhone или iPad)

Android

MacOS (MacBook или iMac)

Windows

Вариант 1. Подключение устройств на iOS (но не ниже 16 версии)
  1. Скачайте приложение FoXray из AppStore по ссылке ниже:

FoXray

  1. В графической панели 3X-UI создайте нового клиента. Для этого: нажмите на кнопку Меню в ранее созданной конфигурации, далее Добавить пользователя. В поле Email напишите название клиента, например "Мой iPhone", а в пункте Flow выберите xtls-rprx-vision.

  2. Раскройте (плюсиком) список клиентов и под «Меню» рядом с только что созданным клиентом «Мой iPhone» нажмите на иконку QR-кода.

  3. Запустите приложение FoXray и в левом верхнем углу нажмите значок сканирования QR-кода и отсканируйте его с экрана компьютера.

  4. Всё, профиль добавлен! Теперь нажмите на кнопку «Play», далее разрешите добавление конфигурации VPN, введите пароль и можете пользоваться VPN соединением.

Вариант 2. Подключение устройств на Android.
  1. Скачайте приложение NekoBox c GitHub по этой ссылке (там будет самая актуальная версия, останется только выбрать архитектуру вашего процессора, но скорее всего это arm64-v8a — самая верхняя строчка)

  2. В графической панели 3X-UI создайте нового клиента. Для этого: нажмите на кнопку Меню в ранее созданной конфигурации, далее Добавить пользователя. В поле Email напишите название клиента, например "Мой Android", а в пункте Flow выберите xtls-rprx-vision.

  3. Раскройте (плюсиком) список клиентов и под «Меню» рядом с только что созданным клиентом «Мой Android» нажмите на иконку QR-кода.

  4. Установите Apk файл (ранее скаченный с GitHub) и запустите приложение NekoBox и в правом верхнем углу нажмите на иконку добавления нового подключения.

  5. Далее нажмите на Отсканировать QR-код и отсканируйте QR-код, который мы только что создали в графической панели. В списке профилей у вас должен появиться новый профиль.

  6. Для активации VPN подключения нажмите на соответствующую кнопку на главном экране NekoBox и подтвердите подключение.

Вариант 3. Подключение устройств на MacOS
  1. Скачайте приложение FoXray из AppStore по ссылке ниже:

FoXray

  1. В графической панели 3X-UI создайте нового клиента. Для этого: нажмите на кнопку Меню в ранее созданной конфигурации, далее Добавить пользователя. В поле Email напишите название клиента, например "Мой MacBook", а в пункте Flow выберите xtls-rprx-vision.

  2. Раскройте (плюсиком) список клиентов и под «Меню« рядом с только что созданным клиентом »Мой MacBook» нажмите на иконку Информация.

  3. Скопируйте ссылку для подключения под надписью URL, нажав на кнопку копирования.

  4. Запустите приложение FoXray и нажмите на иконку вставки текста.

  5. Готово, профиль добавлен! Теперь нажмите на кнопку "Play", далее разрешите добавление конфигурации VPN и можете пользоваться VPN соединением.

Вариант 4. Подключение устройств на Windows
  1. Скачайте архив с программой Invisible Man XRay c GitHub по этой ссылке и распакуйте его (скачается сразу актуальная версия на момент написания этого поста, а вот по этой ссылке можете уже сами выбрать нужную вам версию и скачать её)

  2. В графической панели 3X-UI создайте нового клиента. Для этого: нажмите на кнопку Меню в ранее созданной конфигурации, далее Добавить пользователя. В поле Email напишите название клиента, например "Мой Windows", а в пункте Flow выберите xtls-rprx-vision.

  3. Раскройте (плюсиком) список клиентов и под «Меню", рядом с только что созданным клиентом "Мой Windows» и нажмите на иконку Информация.

  4. Скопируйте ссылку для подключение под надписью URL, нажав на кнопку копирования.

  5. Отправьте любым удобным способом данную ссылку на ваш компьютер, и там также её скопируйте.

  6. Запустите программу Invisible Man XRay и перейдите в Manage server configuration.

  7. Нажмите на кнопку "плюс" в правом нижнем углу окна.

  8. Выберите Import from link и вставьте вашу ссылку, которую вы ранее скопировали в поле.

  9. Если вы всё правильно сделали, должна добавиться новая конфигурация. Закройте этот менеджер и нажмите кнопку Run.

  10. Готово! VPN на компьютере под управлением операционной системы Windows мы тоже настроили без проблем.

Пункт 6. Тесты скорости Скорость на скачивание 450 мбит/с, а на загрузку 280 мбит/с - думаю, это очень даже хороший результат, учитывая уровень шифрования и маскировки прокси-трафика.

Тесты скорости

Пункт 7. Заключение

Этот гайд найден на пикабу, есть еще несколько подобных статей которые можно прочитать на хабре только с VPN:

  1. Обход блокировок: настройка сервера XRay для Shadowsocks-2022 и VLESS с XTLS-Vision, Websockets и фейковым веб-сайтом
  2. 3X-UI: Shadowsocks-2022 & XRay (XTLS) сервер с простой настройкой и приятным интерфейсом

Всем удачи в настройке!