Поднимаем V2Ray-сервер с протоколами VMESS и VLESS
BLESS Store
В данной статье я расскажу, как поднять V2Ray с протоколами VMESS и VLESS на своем сервере. Данная инструкция будет полезна в случае организации жесткой интернет-цензуры на территории какой-либо страны, либо при посещении таких стран, как Иран и Китай, где уже внедрена жесткая цензура и ограничения.
Стоит отметить, что VMESS и VLESS работают не в связке, а параллельно, т.е. можно подключиться к любому из этих протоколов в зависимости от скорости работы и эффективности противодействия блокировкам
Начнем с описания этих протоколов:
VMESS - это протокол, используемый прокси-сервером V2Ray для обеспечения зашифрованной связи между клиентом и сервером. Это один из самых передовых протоколов, предоставляющий множество функций и опций для настройки сетевого трафика.
VMESS использует комбинацию симметричного шифрования AES и ассиметричного шифрования RSA для защиты трафика между клиентом и сервером. Протокол также использует технику, называемую обфускацией трафика, чтобы затруднить обнаружение и блокирование трафика.
Одной из ключевых особенностей VMESS является поддержка множества входящих и исходящих протоколов, таких как TCP, UDP, HTTP, HTTPS и DNS.
Еще одной важной особенностью VMESS является поддержка нескольких транспортных протоколов, включая mKCP, TCP, WS, HTTP/2 и QUIC. Это позволяет протоколу адаптироваться к различным условиям сети и обеспечивать стабильное и быстрое соединение.
VMESS также поддерживает расширенные функции, такие как динамическое распределение портов, балансировка нагрузки и маршрутизация на основе доменных имен. Эти функции позволяют настраивать и оптимизировать сетевой трафик для различных случаев использования и сценариев.
VLESS - это более новый протокол, который был представлен в версии v2ray 4.23.0, и расшифровывается как "VMESS-less". VLESS разработан как более легкая и безопасная версия VMESS, без ущерба для гибкости и возможностей, которые пользователи привыкли получать от V2Ray.
Одно из основных отличий между VLESS и VMESS заключается в том, что VLESS по умолчанию использует шифрование TLS, что обеспечивает дополнительный уровень безопасности по сравнению с VMESS. Это означает, что сервер и клиент VLESS обмениваются данными через зашифрованное соединение, что предотвращает подслушивание и несанкционированное вмешательство третьих лиц. Кроме того, VLESS разработан как более эффективный протокол, чем VMESS, что означает, что он может обрабатывать больше трафика при меньших ресурсах.
Еще одной ключевой особенностью VLESS является упрощенная конфигурация. VLESS требует только один UUID для аутентификации клиента, в то время как VMESS требует как ID, так и alterID. Это упрощает его настройку и использование, особенно для пользователей, которые только начинают работать с V2Ray. Тем не менее, VLESS по-прежнему поддерживает расширенные возможности, такие как несколько пользователей и правила маршрутизации, поэтому он остается мощным и гибким протоколом.
В целом, VLESS обладает рядом преимуществ по сравнению с VMESS, включая повышенную безопасность, эффективность и простоту использования. Однако важно отметить, что VLESS все еще относительно новый протокол, и не все клиенты и серверы V2Ray могут его поддерживать.
Теперь приступим к настройке, все действия я буду производить на выделенном сервере под управлением Debian 11. Поскольку в репозиториях Debian старая версия V2Ray, использовать будем Docker-контейнер. Для начала подключаемся к серверу по SSH командой:
Код:
ssh root@ip_сервера
Устанавливаем Docker по инструкции с официального сайта Docker - https://docs.docker.com/engine/install/debian/
Скачиваем необходимый Docker-контейнер командой
Код:
docker pull teddysun/v2ray
Теперь необходимо сгенерировать UUID для конфигурации через сайт https://www.uuidgenerator.net/version4
Копируем этот UUID, он понадобится для подключения к нашему серверу по этим протоколам
Теперь создаем конфигурационный файл V2Ray (в пункте id вписываем сгенерированный UUID для обоих протоколов):
Код:
cat > /etc/v2ray/config.json <<EOF
{
"inbounds": [
{
"port": 9000,
"protocol": "vmess",
"settings": {
"clients": [
{
"id": "2aec9185-49a5-4aef-bf7e-1f486a9ac919",
"level": 1,
"alterId": 64
}
]
}
},
{
"port": 9000,
"protocol": "vless",
"settings": {
"clients": [
{
"id": "2aec9185-49a5-4aef-bf7e-1f486a9ac919",
"level": 1
}
],
"decryption": "none",
"fallbacks": [
{
"dest": 9000
}
]
},
"streamSettings": {
"network": "tcp"
}
}
],
"outbounds": [
{
"protocol": "freedom",
"settings": {}
},
{
"protocol": "blackhole",
"settings": {},
"tag": "blocked"
}
]
}
EOF
Устанавливаем Docker-контейнер командой:
Код:
docker run -d -p 9000:9000 --name v2ray --restart=always -v /etc/v2ray:/etc/v2ray teddysun/v2ray
После этого контейнер работает, проверить работоспособность можно через мобильное приложение V2RayNG (https://github.com/2dust/v2rayNG)
При подключении выбирайте нужный протокол, указывайте название, порт и UUID для подключение, остальные настройки по умолчанию.
В данной инструкции была показана простейшая конфигурация, её можно настроить и более тонко для различных сценариев использования.