Настройка VLESS-прокси: практическое руководство по развертыванию

В данной статье я исправил все ошибки, который допустил в предыдущей статье.

Настройка персонального VPN-сервера на базе VLESS

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

Важно понимать: VLESS является прокси-протоколом. Это означает, что некоторые типы трафика (например, ICMP) через него не пройдут.

Более подробно о различиях VPN и прокси можно прочитать в статье FAQ по Shadowsocks/XRay/XTLS/Reality/Nekobox/etc и Руководство по настройке XRay с XTLS-Reality.

Почему VLESS?

На данный момент представлено множество VPN-протоколов, каждый со своими особенностями, я опишу 3 протокола:

  • VLESS предоставляет оптимальный баланс между функциональностью и производительностью

  • WireGuard хорош в производительности, но имеет ограничения в настройке и не только

  • Outline прост в использовании, но недостаточно гибок

Основные преимущества VLESS:

  • Низкие накладные расходы при обработке пакетов

  • Широкие возможности кастомизации

  • Эффективная работа даже в сложных сетевых условиях

Выбор хостинг-провайдера

При выборе хостинга для VLESS стоит учитывать несколько факторов:

  • Географическое расположение серверов

  • Стабильность работы провайдера

  • Отзывы пользователей

  • Ценовую политику

Приведу примеры доступных вариантов хостинга:

Хостинг

Локации

Цена

Особенности

U1HOST

Германия

119 ₽/месяц

Хостинг с mipped

HSHP

Германия

179 ₽/месяц

Хостинг с PoiskVPS

AEZA

Швеция

1.04 €/месяц

Хостинг с PoiskVPS
Часто нет в наличии тарифа*

Xorek Cloud

Германия

149 ₽/месяц

Хостинг из Яндекс Рекламы

VDSKA

Нидерланды, США

245 ₽/месяц

Хостинг с PoiskVPS

IPHOSTER

Великобритания, Германия, Канада, Польша, США, Франция

290 ₽/месяц

Хостинг с PoiskVPS

weasel.cloud

Великобритания, Германия, Нидерланды

294 ₽/месяц

Хостинг с PoiskVPS

timeweb

Нидерланды

500 ₽/месяц

Известный ресурс

pq.hosting

Нидерланды

504 ₽/месяц

Хостинг с PoiskVPS

ishosting

Великобритания, Германия, Канада, Австрия, Бельгия, Венгрия

490 ₽/месяц

Хостинг с PoiskVPS

Рекомендуется использовать проверенных хостинг-провайдеров с положительной историей и отзывами. Для поиска и сравнения можно использовать сервисы poiskvps.ru или vps.today.

Подготовка к установке

Минимальные требования для сервера:

Характеристики:

  • Процессор: 1 ядро (1 cpu)

  • ОЗУ (оперативная память): 1 ГБ (1 gb)

  • Диск (любое кол-во): от 10 ГБ (10 gb)

Дополнительно (обязательно):

  • OС: Debian 12

Автоматическая установка

Для быстрого развертывания сервера можно использовать следующий скрипт:

Заранее укажите на 35 и 36 строчке IP сервера и Пароль для входа в Marzan (VLESS панель).

Установка занимает в среднем до 5-ти минут. В конце установке вам отобразятся данные для входа, пожалуйста дождитесь окончания установки.

#!/bin/sh

RNAME=Marzban

set -x

LOG_PIPE=/tmp/log.pipe.$$                                                                                                                                                                                                                    
mkfifo ${LOG_PIPE}
LOG_FILE=/root/${RNAME}.log
touch ${LOG_FILE}
chmod 600 ${LOG_FILE}

tee < ${LOG_PIPE} ${LOG_FILE} &

exec > ${LOG_PIPE}
exec 2> ${LOG_PIPE}

killjobs() {
	jops="$(jobs -p)"
	test -n "${jops}" && kill ${jops} || :
}
trap killjobs INT TERM EXIT

echo
echo "=== Recipe ${RNAME} started at $(date) ==="
echo

apt update -y
apt install tmux curl nginx python3 python3-pip -y

pip install marzpy --break-system-packages

export HOME=/root

serverip="ТУТ АЙПИ СЕРВЕРА"
password="ТУТ ПАРОЛЬ ДЛЯ MARZBAN"

cd /root

tmux new -d -s "marzban"
sleep 2
tmux send-keys -t "marzban" 'bash -c "$(curl -sL https://github.com/Gozargah/Marzban-scripts/raw/master/marzban.sh)" @ install > /tmp/marzban_log.txt' Enter
while sleep 1; do cat /tmp/marzban_log.txt | grep -q "Press CTRL+C" && echo true && rm -f /tmp/marzban_log.txt && tmux kill-session -t "marzban" && break || echo false; done

tmux new -d -s "marzban2"
sleep 3
tmux send-keys -t "marzban2" "marzban cli admin create --sudo" Enter
sleep 5
tmux send-keys -t "marzban2" "admin" Enter
sleep 3
tmux send-keys -t "marzban2" "$password" Enter
sleep 3
tmux send-keys -t "marzban2" "$password" Enter
sleep 1
tmux send-keys -t "marzban2" Enter
sleep 1
tmux send-keys -t "marzban2" Enter
sleep 3
tmux kill-session -t "marzban2"

wget https://raw.githubusercontent.com/netshield-uk/vm6-repo/refs/heads/main/marzban/nginx.conf -O /etc/nginx/nginx.conf
service nginx restart

privatekey=$(docker exec marzban-marzban-1 xray x25519 | grep 'Private key' | awk '{print $3}')
openssl_hex=$(openssl rand -hex 8)

wget https://raw.githubusercontent.com/netshield-uk/vm6-repo/refs/heads/main/marzban/marzban-config.py -O /tmp/marzban-config.py
python3 /tmp/marzban-config.py --password $password --privatekey $privatekey --openssl_hex $openssl_hex

echo "ENG:" > /root/marzban.txt
echo "Marzban Control Panel (https://github.com/Gozargah/Marzban) was successfully installed:\r\nURL - http://$serverip:7575/dashboard/\nLogin - admin\nPassword - $password" >> /root/marzban.txt
echo "\r\nRUS:" >> /root/marzban.txt
echo "Панель управления Marzban (https://github.com/Gozargah/Marzban) доступна по следующим данным:\r\nСсылка - http://$serverip:7575/dashboard/\nЛогин - admin\nПароль - $password" >> /root/marzban.txt
echo "" >> /root/marzban.txt

Если вы впервые устанавливаете VPN, то советую для подключения Putty, Termius и другие.

Введите свои данные и подключитесь к серверу.

Введите команду:
cd /home

Затем введите команду:
nano

Вставьте ваш скрипт (о том как вставить в программу скрипт можете спросить в Google).

Для сохранения нажмите CTRL+O и укажите название файла в формате имя.sh (пример, vl.sh)

Нажмите Y для согласия на сохранение.

CTRL+X для выхода из редактирования файла.

Для запуска установки напишите:
bash vl.sh

Далее ожидаем установки и отображения данных для входа.

Установка начало

Установка начало

Конец установки

Конец установки

Скрипт автоматизирует:

  • Установку системных зависимостей

  • Развертывание Marzban

  • Да и в целом установку VLESS на сервере

Скрипт предназначен для чистой установки на Debian 12. Убедитесь, что порт 7575 свободен и система соответствует минимальным требованиям.

Работа с Marzban

После установки доступ к панели управления осуществляется через веб-интерфейс. Базовые операции включают:

Создание пользователей

  1. Переход в раздел управления пользователями

  2. Создание нового пользователя

  3. Выбор протокола VLESS

  4. Настройка ограничений (опционально)

Создание пользователя (профиля)

Создание пользователя (профиля)

dfd60220cf2fb2e4e904336e88ab1dff.pngСкопировать данные для переноса в приложение

Скопировать данные для переноса в приложение

  • Копирование конфигураций

  • Генерация QR-кодов для мобильных устройств

  • Мониторинг активных сессий

Клиентские приложения

Платформа

Рекомендуемый клиент

Комментарий

Windows

NekoBox

Стабильная работа

MacOS

V2Box

Нативное решение

iOS

V2Box

App Store

Кроссплатформенное решение

Hiddify

Универсальное решение

Примечание: V2Box содержит рекламу при подключении, поэтому рекомендуется использовать альтернативы.

Дополнительную информацию о настройке клиентов можно найти в Telegram-каналах:

Безопасная конфигурация

Базовая установка VLESS требует дополнительных мер защиты:

  • Обязательное использование TLS-шифрования

  • Настройка XTLS-Reality для маскировки трафика

  • Правильная конфигурация маршрутизации трафика

  • Использование уникальных UUID для каждого пользователя

Дополнительная информация по безопасной настройке доступна в статье «Настройка XRay с XTLS-Reality».

Troubleshooting

При возникновении проблем с производительностью:

  • Проверьте настройки IPv6 (подробнее)

  • Убедитесь в корректности настроек маскировочного домена при использовании XTLS-Reality

  • Включите BBR на сервере для оптимизации TCP

Заключение

Персональный VPN-сервер на базе VLESS — это надёжное решение для обеспечения безопасного доступа к сети. При правильной настройке он обеспечивает стабильное соединение и высокую степень контроля над системой.

Дополнительную информацию можно найти в официальной документации Marzban и спецификации протокола VLESS.

© Habrahabr.ru