Настройка лучших 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, и которые впоследствии перестали работать из-за блокировки протоколов.
Если, всё-таки, у вас нет своего VPS/VDS сервера, то я рекомендую вам арендовать его у хостинг-провайдера Aeza.
Почему? — (спросите вы) — потому что я сам ещё ни разу не пожалел, когда однажды наткнулся на этого хостинга и с тех пор регулярно пользуюсь их услугами. Конечно, пару раз у них были технические неполадки — но это бывает у всех. Кстати, спасибо поддержке в части оперативного решения этих проблем:)
Говоря о том, что нам там предлагают под наши цели — это виртуальные VPS сервера, расположенные в странах европы, России и США. С реальной скоростью соединения с сервером примерно 500 мбит/с и безлимитным трафиком (что очень важно для VPN сервера) .
Итак, если вы, всё-таки решили арендовать сервер у Аезы, а не пошли писать гневные комментарии под моим постом этому поводу, то алгоритм действий такой:
1. Для начала вам нужно перейти по этой ссылке, зарегистрироваться и перейти в личный кабинет.
Обратите внимание! С 24 октября внутренней валютой сервиса стал Евро.Оплату точно также можно осуществлять в рублях, например, через СБП (комиссия 1%). И все рубли будут автоматически конвертироваться в евро по актуальному курсу ~100 руб.
2. Далее, нажмите на Виртуальный сервер, выберите нужную страну, тариф Shared и минимальную конфигурацию сервера.
3. На наш сервер нужно установить операционную систему Ubuntu 20.04— её и выберите. Отключите бекапы — тут они не нужны (в случае чего всё можно быстро переустановить) . Выберите период оплаты и, собственно, оплатите аренду.
Кстати, после регистрации по моей реферальной ссылке у вас в течении 24 часов будет бонус 15% к пополнению баланса.
Минуты 2-3 сервер будет активироваться и после на почту придут данные для авторизации для подключения к серверу. Либо, ip-адрес и пароль можно будет посмотреть в разделе мои услуги и нажать на название вашего сервера.
Пункт 2. Подключение к серверу по SSH и установка графической панели 3X-UI
1. Откройте командную строку (Windows) или терминал (MacOS) и введите следующую команду:
ssh root@ip_adress
где ip_adress — ip_адрес вашего сервера.
Если что, по SSH можно подключиться ещё в Linux и даже с Android устройства через программу JuiceSSH.
2. У вас спросят "Are you sure you want to continue connecting(yes/no/[fingerprint]) ? " — ответьте yes.
3. Введите пароль от сервера, который вам пришёл на почту. При вводе пароль не будет отображаться, поэтому лучше скопировать и вставить с помощью сочетаний клавиш: Cntl+V (Windows) или Command+V (MacOS)
4. Первым делом, необходимо обновить компоненты операционной системы Ubuntu до последней версии. Для этого введите следующую команду:
apt update && apt upgrade -y
5. Теперь установим Curl — эта утилита нужна для загрузки файлов и пакетов в терминале. Сделаем это с помощью этой команды:
apt install curl -y
6. И, неожиданно, сразу же установим панель 3X-UI. Мы это будем делать напрямую в ОС с помощью скрипта из официального репозитория на GitHub:
bash <(curl -Ls https://raw.githubusercontent.com/mhsanaei/3x-ui/master/inst...)
Этот скрипт можно использовать и для первоначальной установки и для обновления версии графической панели. Каждый раз используется последняя актуальная версия.
7. После завершения установки вам у вас спросят: Хотите ли вы внести дополнительные модификации — ответьте Y (да)
Вводим username - Любой какой вам нравится — я введу Revelix.
Вводим password — Любой более-менее надёжный и запомните его — тут я тоже введу Revelix (Если что, запомните регистр, если также будете вводить)
И наконец, вводим порт, через который будет работать панель 3X-UI. Лучше всего где-нибудь в верхнем конце диапазона, до 65535. Я введу 5580.
8. Готово! Графическая панель 3X-UI установлена на ваш сервер!
Пункт 3. Защита сервера
1. Для защиты нашей системы установим программу fail2ban — она нужна для блокировки IP-адресов при превышении количества попыток совершения какого-либо действия, например, неудачного ввода SSH-пароля.
apt install fail2ban -y && systemctl start fail2ban && systemctl enable fail2ban
2. Теперь, чтоб ещё лучше защитить свой сервер от несакционированно проникновения третьих лиц (или ботов) добавим нового пользователя с правами Root, а после чего отключим учётную запись root.
adduser user
где user - замените на своё имя пользователя. Я создам пользователя с названием Revelix.
3. Введите пароль для своей новой учётной записи. Лучше всего придумайте его с сочетанием верхнего регистра, нижнего регистра и цифр.
4. Далее вам будет предложено ввести информацию о вашем новом пользователе. Вы можете оставить их пустыми:
5. Добавьте новую учетную запись в группу sudo, введя:
usermod -aG sudo user
где user — также замените на своё ранее созданное имя пользователя.
6. Переключитесь на новую учётную запись с помощью команды:
su - user
где user — ваше новое имя пользователя.
7. Теперь заблокируем вход пользователя root по SSH. Для этого нужно отредактировать файл /etc/ssh/sshd_config
sudo nano /etc/ssh/sshd_config
Введите ранее созданный пароль для этой учётной записи и нажмите Enter.
8. Затем, найдите (перемещайтесь с помощью стрелок на клавиатуре) директиву PermitRootLogin и при необходимости раскомментируйте (если она закомментирована)
Установите её значение равным no, как показано на скриншоте ниже:
После ввода изменений нажмите сочетание клавиш Cnrl + X, подвердите сохранение: Y
9. Как только вы закончите, сохраните и закройте файл. У вас должна появиться командная строка.
Затем перезапустите службу sshd, чтобы применить последние изменения в конфигурациях.
sudo service sshd restart
10. После этого можете попробовать подключиться через 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://
2. Если вы всё сделали правильно, перед вами откроется окно ввода. Введите здесь Логин и пароль, который вы создали через командную строку.
3. Логинимся и видим вот такую красивую панель управления 3X-UI
4. Нажимаем на раздел Подключения, далее Добавить подключение.
5. И переходим к настройке VLESS с XTLS-Reality. Сделайте всё так, как я написал ниже и показал на скриншоте.
- Примечание — любое название
- Протокол — vless
- Порт IP — оставляем пустым
- Порт — вместо рандомного ставим 443
6. Далее переходим к настройкам Клиента.
- 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 — оставьте включённым.
8. После того, как всё правильно сделали по инструкции, сравнили с моими скриншотами — нажимайтете кнопку Создать. Ивсё, настройка завершена!
По итогу имеем вот такую картину:
9. Если нажать на меню, то можно изменить, добавить одного или нескольких пользователей, сбросить трафик, экспортировать ключи и т. д.
10. Перед подключением устройств, которые будут использовать VPN соединение с сервером. Рекомендую вам зайти в настройки панели и поменять пароль, если он у вас не слишком сложный. А лучше всего включить ещё и секретный токен для максимальной безопасности(только не забудьте его сохранить в надёжном месте!)
Ну и плюс, сейчас, или после окончательной настройки можете покопаться в настройках, особенно в разделе Конфигурация Xray.
Пункт 5. Подключение клиентов
Чтобы долго не искать, выберите своё устройство, на котором вы хотите настроить VPN подключение:
Вариант 1. Подключение устройств на iOS (но не ниже 16 версии)
1. Скачайте приложение FoXray из AppStore по ссылке ниже:
2. В графической панели 3X-UI создайте нового клиента. Для этого: нажмите на кнопку Меню в ранее созданной конфигурации, далее Добавить пользователя. В поле Email напишите название клиента, например "Мой iPhone", а в пункте Flow выберите xtls-rprx-vision.
3. Раскройте (плюсиком) список клиентов и под «Меню» рядом с только что созданным клиентом «Мой iPhone» нажмите на иконку QR-кода.
4. Запустите приложение FoXray и в левом верхнем углу нажмите значок сканирования QR-кода и отсканируйте его с экрана компьютера.
5. Всё, профиль добавлен! Теперь нажмите на кнопку «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 по ссылке ниже:
2. В графической панели 3X-UI создайте нового клиента. Для этого: нажмите на кнопку Меню в ранее созданной конфигурации, далее Добавить пользователя. В поле Email напишите название клиента, например "Мой MacBook", а в пункте Flow выберите xtls-rprx-vision.
3. Раскройте (плюсиком) список клиентов и под «Меню« рядом с только что созданным клиентом »Мой MacBook» нажмите на иконку Информация.
4. Скопируйте ссылку для подключения под надписью URL, нажав на кнопку копирования.
5. Запустите приложение FoXray и нажмите на иконку вставки текста.
6. Готово, профиль добавлен! Теперь нажмите на кнопку "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. Заключение
Если вам понравился мой гайд — ставьте лайк под этим постом и пишите комментарии — буду очень рад услышать ваше мнение. Спасибо!