Современные методы для VPN
Настройка лучших VPN протоколов! VLESS с XTLS-Reality на сервере XRay с установкой через 3X-UI панель
Настройка лучших 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
- Откройте командную строку (Windows) или терминал (MacOS) и введите следующую команду:
ssh root@ip_adress
Если что, по SSH можно подключиться ещё в Linux и даже с Android устройства через программу JuiceSSH.
-
У вас спросят "Are you sure you want to continue connecting(yes/no/[fingerprint]) ? " — ответьте yes.
-
Введите пароль от сервера, который вам пришёл на почту. При вводе пароль не будет отображаться, поэтому лучше скопировать и вставить с помощью сочетаний клавиш: Cntl+V (Windows) или Command+V (MacOS)
-
Первым делом, необходимо обновить компоненты операционной системы Ubuntu до последней версии. Для этого введите следующую команду:
apt update && apt upgrade -y
- Теперь установим Curl — эта утилита нужна для загрузки файлов и пакетов в терминале. Сделаем это с помощью этой команды:
apt install curl -y
- И, неожиданно, сразу же установим панель 3X-UI. Мы это будем делать напрямую в ОС с помощью скрипта из официального репозитория на GitHub:
bash <(curl -Ls https://raw.githubusercontent.com/mhsanaei/3x-ui/master/install.sh)
Этот скрипт можно использовать и для первоначальной установки и для обновления версии графической панели. Каждый раз используется последняя актуальная версия.
- После завершения установки вам у вас спросят: Хотите ли вы внести дополнительные модификации — ответьте Y (да)
Вводим username - Любой какой вам нравится — я введу Revelix. Вводим password — Любой более-менее надёжный и запомните его — тут я тоже введу Revelix (Если что, запомните регистр, если также будете вводить) И наконец, вводим порт, через который будет работать панель 3X-UI. Лучше всего где-нибудь в верхнем конце диапазона, до 65535. Я введу 5580.
- Готово! Графическая панель 3X-UI установлена на ваш сервер!
Пункт 3. Защита сервера
- Для защиты нашей системы установим программу fail2ban — она нужна для блокировки IP-адресов при превышении количества попыток совершения какого-либо действия, например, неудачного ввода SSH-пароля.
Введите эту команду:
apt install fail2ban -y && systemctl start fail2ban && systemctl enable fail2ban
- Теперь, чтоб ещё лучше защитить свой сервер от несакционированно проникновения третьих лиц (или ботов) добавим нового пользователя с правами Root, а после чего отключим учётную запись root.
adduser user
где user - замените на своё имя пользователя. Я создам пользователя с названием Revelix.
-
Введите пароль для своей новой учётной записи. Лучше всего придумайте его с сочетанием верхнего регистра, нижнего регистра и цифр.
-
Далее вам будет предложено ввести информацию о вашем новом пользователе. Вы можете оставить их пустыми.
-
Добавьте новую учетную запись в группу sudo, введя:
usermod -aG sudo user
где user — также замените на своё ранее созданное имя пользователя.
- Переключитесь на новую учётную запись с помощью команды:
su - user
- Теперь заблокируем вход пользователя root по SSH. Для этого нужно отредактировать файл /etc/ssh/sshd_config
sudo nano /etc/ssh/sshd_config
Введите ранее созданный пароль для этой учётной записи и нажмите Enter.
- Затем, найдите (перемещайтесь с помощью стрелок на клавиатуре) директиву PermitRootLogin и при необходимости раскомментируйте (если она закомментирована).
После ввода изменений нажмите сочетание клавиш Cnrl + X, подтвердите сохранение: Y
Затем перезапустите службу sshd, чтобы применить последние изменения в конфигурациях.
sudo service sshd restart
- После этого можете попробовать подключиться через ssh root@ip-адрес, но у вас ничего не получится.
Поэтому, теперь вам можно будет подключится к серверу только с помощью новой учётной записи, так же в формате: ssh user@ip-адрес, где user — ваше ранее созданное имя пользователя, а ip_adress — ip-адрес вашего сервера.
###Пункт 4. Создание протоколов в графической панели 3X-UI
- Чтобы войти в веб версию панели, в браузере идём по адресу:
http://xxx.xxx.xxx.xxx:PORT/panel/
где xxx.xxx.xxx.xxx — IP-адрес вашего сервера, а PORT - номер вашего порта. В моём случае это порт 5580.
Обратите внимание, протокол http://, а не https://
- Если вы всё сделали правильно, перед вами откроется окно ввода. Введите здесь Логин и пароль, который вы создали через командную строку.
- Логинимся и видим вот такую красивую панель управления 3X-UI
- Нажимаем на раздел Подключения, далее Добавить подключение.
- И переходим к настройке VLESS с XTLS-Reality. Сделайте всё так, как я написал ниже и показал на скриншоте.
- Примечание — любое название
- Протокол — vless
- Порт IP — оставляем пустым
- Порт — вместо рандомного ставим 443
- Далее переходим к настройкам Клиента.
- Email - Напишите название клиента. У меня это Revelix.
- Flow — надо выбрать xtls-rprx-vision. И, обратите внимание, поле Flow (см. скриншот) появится только после того, как чуть ниже вы поставите галочку на пункте Reality
- Далее настроим транспорт.
- Протокол передачи: 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 — оставьте включённым.
- После того, как всё правильно сделали по инструкции, сравнили с моими скриншотами — нажимайте кнопку Создать. И всё, настройка завершена!
По итогу имеем вот такую картину:
-
Если нажать на меню, то можно изменить, добавить одного или нескольких пользователей, сбросить трафик, экспортировать ключи и т. д.
-
Перед подключением устройств, которые будут использовать VPN соединение с сервером. Рекомендую вам зайти в настройки панели и поменять пароль, если он у вас не слишком сложный. А лучше всего включить ещё и секретный токен для максимальной безопасности(только не забудьте его сохранить в надёжном месте!)
Ну и плюс, сейчас, или после окончательной настройки можете покопаться в настройках, особенно в разделе Конфигурация Xray.
Пункт 5. Подключение клиентов
Чтобы долго не искать, выберите своё устройство, на котором вы хотите настроить VPN подключение:
iOS (iPhone или iPad)
Android
MacOS (MacBook или iMac)
Windows
Вариант 1. Подключение устройств на iOS (но не ниже 16 версии)
- Скачайте приложение FoXray из AppStore по ссылке ниже:
-
В графической панели 3X-UI создайте нового клиента. Для этого: нажмите на кнопку Меню в ранее созданной конфигурации, далее Добавить пользователя. В поле Email напишите название клиента, например "Мой iPhone", а в пункте Flow выберите xtls-rprx-vision.
-
Раскройте (плюсиком) список клиентов и под «Меню» рядом с только что созданным клиентом «Мой iPhone» нажмите на иконку QR-кода.
-
Запустите приложение FoXray и в левом верхнем углу нажмите значок сканирования QR-кода и отсканируйте его с экрана компьютера.
-
Всё, профиль добавлен! Теперь нажмите на кнопку «Play», далее разрешите добавление конфигурации VPN, введите пароль и можете пользоваться VPN соединением.
Вариант 2. Подключение устройств на Android.
-
Скачайте приложение NekoBox c GitHub по этой ссылке (там будет самая актуальная версия, останется только выбрать архитектуру вашего процессора, но скорее всего это arm64-v8a — самая верхняя строчка)
-
В графической панели 3X-UI создайте нового клиента. Для этого: нажмите на кнопку Меню в ранее созданной конфигурации, далее Добавить пользователя. В поле Email напишите название клиента, например "Мой Android", а в пункте Flow выберите xtls-rprx-vision.
-
Раскройте (плюсиком) список клиентов и под «Меню» рядом с только что созданным клиентом «Мой Android» нажмите на иконку QR-кода.
-
Установите Apk файл (ранее скаченный с GitHub) и запустите приложение NekoBox и в правом верхнем углу нажмите на иконку добавления нового подключения.
-
Далее нажмите на Отсканировать QR-код и отсканируйте QR-код, который мы только что создали в графической панели. В списке профилей у вас должен появиться новый профиль.
-
Для активации VPN подключения нажмите на соответствующую кнопку на главном экране NekoBox и подтвердите подключение.
Вариант 3. Подключение устройств на MacOS
- Скачайте приложение FoXray из AppStore по ссылке ниже:
-
В графической панели 3X-UI создайте нового клиента. Для этого: нажмите на кнопку Меню в ранее созданной конфигурации, далее Добавить пользователя. В поле Email напишите название клиента, например "Мой MacBook", а в пункте Flow выберите xtls-rprx-vision.
-
Раскройте (плюсиком) список клиентов и под «Меню« рядом с только что созданным клиентом »Мой MacBook» нажмите на иконку Информация.
-
Скопируйте ссылку для подключения под надписью URL, нажав на кнопку копирования.
-
Запустите приложение FoXray и нажмите на иконку вставки текста.
-
Готово, профиль добавлен! Теперь нажмите на кнопку "Play", далее разрешите добавление конфигурации VPN и можете пользоваться VPN соединением.
Вариант 4. Подключение устройств на Windows
-
Скачайте архив с программой Invisible Man XRay c GitHub по этой ссылке и распакуйте его (скачается сразу актуальная версия на момент написания этого поста, а вот по этой ссылке можете уже сами выбрать нужную вам версию и скачать её)
-
В графической панели 3X-UI создайте нового клиента. Для этого: нажмите на кнопку Меню в ранее созданной конфигурации, далее Добавить пользователя. В поле Email напишите название клиента, например "Мой Windows", а в пункте Flow выберите xtls-rprx-vision.
-
Раскройте (плюсиком) список клиентов и под «Меню", рядом с только что созданным клиентом "Мой Windows» и нажмите на иконку Информация.
-
Скопируйте ссылку для подключение под надписью URL, нажав на кнопку копирования.
-
Отправьте любым удобным способом данную ссылку на ваш компьютер, и там также её скопируйте.
-
Запустите программу Invisible Man XRay и перейдите в Manage server configuration.
-
Нажмите на кнопку "плюс" в правом нижнем углу окна.
-
Выберите Import from link и вставьте вашу ссылку, которую вы ранее скопировали в поле.
-
Если вы всё правильно сделали, должна добавиться новая конфигурация. Закройте этот менеджер и нажмите кнопку Run.
-
Готово! VPN на компьютере под управлением операционной системы Windows мы тоже настроили без проблем.
Пункт 6. Тесты скорости Скорость на скачивание 450 мбит/с, а на загрузку 280 мбит/с - думаю, это очень даже хороший результат, учитывая уровень шифрования и маскировки прокси-трафика.
Пункт 7. Заключение
Этот гайд найден на пикабу, есть еще несколько подобных статей которые можно прочитать на хабре только с VPN:
- Обход блокировок: настройка сервера XRay для Shadowsocks-2022 и VLESS с XTLS-Vision, Websockets и фейковым веб-сайтом
- 3X-UI: Shadowsocks-2022 & XRay (XTLS) сервер с простой настройкой и приятным интерфейсом
Всем удачи в настройке!