Что такое порт в контексте VLESS и зачем он нужен
В любой ссылке формата vless://UUID@host:port?параметры#имя порт — это обязательный элемент, который указывает, на какой сетевой порт сервера клиент должен отправить запрос. Порт — это число от 1 до 65535, и он определяет, какое приложение или служба на сервере будет обрабатывать входящее соединение. В случае VLESS порт обычно совпадает с портом, на котором слушает Xray-сервер (inbound).
Порт не является частью протокола VLESS как такового — это фундаментальная концепция TCP/IP. Однако в контексте VLESS выбор порта имеет особое значение: он влияет на маскировку трафика, совместимость с CDN, вероятность блокировки DPI-системами и даже на производительность. Например, порт 443 традиционно ассоциируется с HTTPS-трафиком, поэтому соединение на этот порт выглядит естественно для наблюдателя. Порт 80 — с HTTP, но он часто блокируется или перехватывается провайдерами.
Важно понимать разницу между портом подключения (в ссылке) и внутренним портом назначения, который указывается в заголовке VLESS при пересылке трафика. Порт в ссылке — это точка входа на ваш прокси-сервер, а порт назначения — это порт конечного сайта или сервиса, к которому вы обращаетесь. Клиент VLESS сам разбирает адрес назначения и передаёт его серверу, поэтому вам не нужно вручную указывать порт для каждого сайта.
Стандартные порты для VLESS: 443, 80, 8443 и другие
На практике для VLESS-серверов чаще всего используются порты 443 и 80, а также некоторые альтернативные, например 8443, 2053, 2083, 2087, 2096 (эти порты поддерживаются Cloudflare CDN). Выбор порта зависит от сценария использования и транспортного протокола.
Порт 443 — самый популярный выбор для VLESS с TLS или Reality. Он имитирует HTTPS-трафик, что делает его практически неотличимым от обычного веб-сёрфинга. DPI-системы редко блокируют порт 443 целиком, так как это нарушило бы работу половины интернета. Однако именно поэтому на порту 443 часто применяется активное зондирование — DPI пытается определить, является ли сервер реальным HTTPS-хостом или прокси. Для защиты от этого используются fallbacks и маскировка под настоящий сайт.
Порт 80 — используется для HTTP-трафика. Он тоже может быть замаскирован, но HTTP не шифруется, поэтому VLESS без TLS на порту 80 будет легко обнаружен. Обычно порт 80 применяется для редиректа на HTTPS или для WebSocket-транспорта без TLS, но это рискованно. Многие провайдеры блокируют или перехватывают порт 80, поэтому он не рекомендуется для постоянного использования.
Альтернативные порты (8443, 2053, 2083 и т.д.) часто используются при подключении через CDN, например Cloudflare. Эти порты поддерживают TLS и WebSocket, и они менее засорены, чем 443, что может дать небольшой прирост скорости. Однако они также могут быть заблокированы в некоторых сетях, если DPI настроен агрессивно.
Выбор порта — это компромисс между маскировкой, совместимостью и производительностью. Для большинства пользователей оптимален порт 443 с TLS или Reality. Если вы используете CDN, стоит проверить, какие порты поддерживает ваш CDN-провайдер.
Как порт связан с транспортом: TCP, WebSocket, gRPC
Порт в ссылке VLESS должен соответствовать транспортному протоколу (type), который используется для передачи данных. Разные транспорты имеют свои особенности, и порт должен быть выбран с учётом этого.
TCP (RAW) — базовый транспорт, работает напрямую по TCP. Для него обычно используется порт 443 с TLS или Reality. Это самый простой и быстрый вариант, но он наиболее уязвим для активного зондирования, если не настроены fallbacks. Порт 443 здесь обязателен для маскировки под HTTPS.
WebSocket (WS) — транспорт, который работает поверх HTTP. Он часто используется в связке с CDN, так как CDN умеет проксировать WebSocket-запросы. Для WebSocket обычно выбирают порт 443 (TLS) или 80 (без TLS). При использовании CDN порт должен быть тем, который поддерживает CDN (например, 443, 2053, 2083). WebSocket добавляет небольшую накладную нагрузку, но позволяет скрыть трафик за легитимным веб-сервером.
gRPC — транспорт на основе HTTP/2, также часто используется с CDN. Он требует порт 443 и поддержку HTTP/2 на сервере. gRPC обеспечивает хорошую производительность и маскировку, но его сложнее настраивать. Порт для gRPC обычно 443, но можно использовать и другие порты, поддерживающие TLS.
XHTTP — новый транспорт, который пришёл на смену h2/SplitHTTP. Он также работает поверх HTTP и может использовать CDN. Порт выбирается аналогично WebSocket.
Важно, чтобы порт в ссылке совпадал с портом, на котором настроен inbound на сервере. Если вы используете CDN, то порт в ссылке должен быть портом CDN (например, 443), а не портом вашего origin-сервера. CDN сам перенаправит трафик на нужный порт сервера.
Порт и безопасность: почему 443 лучше, чем случайный порт
Безопасность VLESS-подключения во многом зависит от того, насколько трафик выглядит естественно для DPI-систем. Порт играет здесь ключевую роль.
Использование нестандартного порта (например, 12345) сразу выделяет ваш трафик из общей массы. DPI-системы могут анализировать не только сигнатуры протоколов, но и порты, с которых идёт трафик. Если на нестандартном порту обнаруживается TLS-соединение, которое не похоже на обычный HTTPS, это может вызвать подозрение и привести к блокировке.
Порт 443, напротив, является самым распространённым портом для HTTPS-трафика. Миллионы сайтов используют его, поэтому DPI не может просто заблокировать все соединения на 443. Однако это не значит, что порт 443 гарантирует безопасность. DPI может анализировать TLS-рукопожатие, SNI, тайминги и размеры пакетов. Чтобы VLESS на порту 443 был действительно незаметен, необходимо использовать правильные настройки: TLS 1.3, современные шифры, корректный SNI, а также fallbacks для защиты от активного зондирования.
Использование порта 80 (HTTP) менее безопасно, так как HTTP-трафик не шифруется. Если вы используете VLESS без TLS на порту 80, DPI легко увидит заголовки VLESS внутри HTTP-запроса. Поэтому порт 80 рекомендуется только для редиректа на HTTPS или для WebSocket без TLS в связке с CDN, где внешний трафик шифруется самим CDN.
Также стоит избегать портов, которые часто используются другими протоколами (например, 22 для SSH, 53 для DNS). Трафик на этих портах может быть заблокирован или перехвачен. Лучше придерживаться стандартных веб-портов: 443, 8443, 2053 и т.д.
Как порт влияет на обход блокировок: опыт России и других стран
В странах с развитой системой интернет-цензуры, таких как Россия, Китай и Иран, выбор порта может быть критическим для обхода блокировок. DPI-системы постоянно совершенствуются, и то, что работало вчера, может перестать работать сегодня.
В России с 2025 года наблюдается массовая блокировка традиционных VPN-протоколов (OpenVPN, WireGuard, Shadowsocks, Trojan). VLESS с правильной конфигурацией (TLS + WebSocket + CDN) показывает выживаемость более 95% в течение длительного времени. Ключевым фактором является использование порта 443 и маскировка под HTTPS-трафик.
Однако даже на порту 443 DPI может применять активное зондирование. Если сервер отвечает на невалидные TLS-запросы характерным для прокси образом, он будет заблокирован. Для защиты от этого используются fallbacks, которые перенаправляют подозрительные запросы на реальный веб-сервер. В этом случае порт 443 на сервере обслуживает и прокси, и настоящий сайт, что делает сервер неотличимым от обычного хостинга.
Использование CDN (например, Cloudflare) также помогает обходить блокировки, так как пользователь подключается к IP-адресам CDN, которые используются миллионами легитимных сайтов. Заблокировать их невозможно без нарушения работы значительной части интернета. При этом порт в ссылке должен быть портом CDN (обычно 443), а не портом вашего origin-сервера.
В Китае и Иране ситуация аналогична, но с некоторыми особенностями. Например, в Китае активно блокируются порты, не связанные с веб-трафиком, поэтому использование 443 обязательно. В Иране также применяются агрессивные методы DPI, и VLESS с Reality на порту 443 показывает хорошие результаты.
Практические примеры: как порт выглядит в ссылках vless://
Чтобы лучше понять, как порт используется в реальных ссылках, рассмотрим несколько примеров. Все примеры используют фиктивные данные и не предназначены для подключения.
Пример 1: VLESS + Reality + TCP vless://00000000-0000-4000-8000-000000000000@example.com:443?encryption=none&security=reality&type=tcp&flow=xtls-rprx-vision&sni=www.example.org&fp=chrome&pbk=PUBLIC_KEY&sid=abcd#demo-reality
Здесь порт 443, что стандартно для Reality. Параметр sni указывает на домен, который используется для маскировки. Порт в ссылке должен совпадать с портом, на котором слушает сервер.
Пример 2: VLESS + TLS + WebSocket vless://00000000-0000-4000-8000-000000000000@edge.example.com:443?encryption=none&security=tls&type=ws&sni=edge.example.com&path=%2Fws&host=edge.example.com#demo-ws-tls
Здесь порт 443, транспорт WebSocket. Параметр path — это путь WebSocket, а host — HTTP Host. Если вы используете CDN, то порт должен быть портом CDN, а не origin-сервера.
Пример 3: VLESS + TLS + gRPC vless://00000000-0000-4000-8000-000000000000@grpc.example.com:443?encryption=none&security=tls&type=grpc&sni=grpc.example.com&serviceName=demoService&authority=grpc.example.com#demo-grpc
Порт 443, транспорт gRPC. Параметр serviceName — это имя службы gRPC, которое должно совпадать с серверной конфигурацией.
Во всех примерах порт 443, так как это наиболее универсальный и безопасный выбор. Однако в некоторых случаях может использоваться порт 8443 или другие, если это необходимо для CDN или особых условий сети.
Ошибки при указании порта и как их избежать
Неправильно указанный порт — одна из самых частых причин, почему VLESS-подключение не работает. Вот типичные ошибки и способы их избежать.
Ошибка 1: Порт не совпадает с серверным inbound. Если в ссылке указан порт 443, а сервер слушает на порту 8443, соединение не установится. Всегда проверяйте конфигурацию сервера и ссылку.
Ошибка 2: Порт вне допустимого диапазона. Порт должен быть числом от 1 до 65535. Некоторые клиенты могут не принимать порт 0 или порты больше 65535. Убедитесь, что порт корректен.
Ошибка 3: Использование порта, заблокированного провайдером. Некоторые провайдеры блокируют порты, не связанные с веб-трафиком (например, 22, 25, 53). Если вы используете такой порт, соединение может быть заблокировано. Выбирайте порты 443, 8443, 2053 и т.д.
Ошибка 4: Несоответствие порта и транспорта. Например, если вы используете WebSocket, порт должен быть 443 или 80, а не 12345. Некоторые транспорты (gRPC, XHTTP) требуют поддержки HTTP/2, которая есть только на определённых портах.
Ошибка 5: Опечатки в ссылке. При копировании ссылки легко потерять одну цифру в порте. Всегда проверяйте ссылку перед импортом. Если клиент пишет "invalid URL" или "import failed", скорее всего, проблема в порте или других параметрах.
Чтобы избежать ошибок, используйте готовые ссылки от вашего VPN-провайдера и не редактируйте их вручную, если не уверены в своих действиях. Если нужно изменить порт, убедитесь, что сервер настроен на этот порт.
Порт и CDN: как правильно указать порт при использовании Cloudflare
При использовании CDN (например, Cloudflare) порт в ссылке VLESS должен быть портом CDN, а не портом вашего origin-сервера. Это связано с тем, что клиент подключается к CDN, а CDN уже перенаправляет трафик на ваш сервер.
Cloudflare поддерживает несколько портов для HTTPS-трафика: 443, 2053, 2083, 2087, 2096, 8443. Вы можете использовать любой из них, но порт 443 является самым распространённым и реже всего блокируется. Если вы используете другой порт, убедитесь, что он поддерживается Cloudflare и не заблокирован в вашей сети.
При настройке VLESS через Cloudflare важно, чтобы транспорт был WebSocket или gRPC, так как Cloudflare не поддерживает проксирование произвольного TCP-трафика. В конфигурации сервера inbound должен слушать на порту, который вы указали в ссылке (например, 443), но фактически трафик будет приходить от Cloudflare на ваш origin-сервер через внутренний порт (например, 8080). Это достигается с помощью Nginx или другого reverse proxy.
Пример конфигурации Nginx для WebSocket:
server {
listen 8080;
server_name example.com;
location /api/v1/stream {
proxy_pass http://127.0.0.1:10000;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_set_header Host $host;
proxy_read_timeout 3600s;
}
}В этом случае в ссылке VLESS указывается порт 443 (порт Cloudflare), а Nginx слушает на порту 8080 и перенаправляет трафик на Xray (порт 10000). Fallback на реальный сайт также настраивается в Nginx, чтобы сервер выглядел как обычный веб-хостинг.
Как проверить, что порт открыт и работает
Прежде чем настраивать VLESS, полезно убедиться, что выбранный порт открыт на сервере и доступен извне. Это можно сделать несколькими способами.
Проверка с помощью telnet или nc:
telnet example.com 443Если порт открыт, вы увидите сообщение о подключении. Если нет — соединение будет отклонено или зависнет.
Проверка с помощью онлайн-сервисов: Существуют сайты, которые проверяют доступность портов, например, portchecker.co. Введите адрес сервера и порт, и сервис покажет, открыт ли порт.
Проверка с помощью nmap:
nmap -p 443 example.comnmap покажет состояние порта: open, closed или filtered.
Важно помнить, что порт может быть открыт на сервере, но заблокирован файрволом или провайдером. Если порт закрыт, проверьте настройки файрвола (iptables, ufw) и убедитесь, что Xray слушает на нужном порту.
Также стоит проверить, что порт не используется другим приложением. Если порт занят, Xray не сможет запуститься. Используйте команду netstat -tulpn или ss -tulpn, чтобы увидеть, какие порты заняты.
После настройки VLESS вы можете проверить подключение, импортировав ссылку в клиент и попробовав открыть какой-нибудь сайт. Если соединение не устанавливается, проверьте логи Xray на сервере — они часто содержат информацию об ошибках.
Будущее портов и протокола VLESS: что ожидать
Протокол VLESS продолжает развиваться, и выбор портов может измениться в будущем. Уже сейчас появляются новые технологии, которые влияют на использование портов.
VLESS Encryption — встроенное пост-квантовое шифрование, которое появилось в Xray-core v25.9.5 (сентябрь 2025). Оно позволяет использовать VLESS без внешнего TLS, что может снизить зависимость от порта 443. Однако VLESS Encryption не предназначен для обхода цензуры напрямую, и для маскировки всё равно нужен внешний слой (TLS, Reality).
XHTTP — новый транспорт, который приходит на смену h2/SplitHTTP. Он поддерживает CDN и может использовать различные порты. Возможно, в будущем появятся новые стандартные порты для XHTTP.
Изменения в DPI — системы цензуры постоянно совершенствуются. Возможно, в будущем порт 443 перестанет быть безопасным, и придётся использовать другие порты или методы маскировки. Однако пока порт 443 остаётся наиболее надёжным выбором.
Рост использования CDN — всё больше VPN-сервисов переходят на CDN для маскировки трафика. Это означает, что порты, поддерживаемые CDN (443, 2053, 2083 и т.д.), будут становиться всё более популярными.
В целом, выбор порта останется важным аспектом настройки VLESS. Рекомендуется следить за обновлениями Xray-core и рекомендациями сообщества, чтобы быть в курсе новых тенденций.
Вопросы и ответы
Какой порт лучше всего использовать для VLESS?
Лучший порт для VLESS — 443, так как он имитирует HTTPS-трафик и редко блокируется DPI. Если вы используете CDN, можно также использовать порты 8443, 2053, 2083, 2087, 2096, которые поддерживаются Cloudflare. Избегайте нестандартных портов, так как они привлекают внимание DPI.
Можно ли использовать порт 80 для VLESS?
Порт 80 можно использовать, но он менее безопасен, так как HTTP-трафик не шифруется. Если вы используете VLESS без TLS на порту 80, DPI легко обнаружит протокол. Рекомендуется использовать порт 80 только для редиректа на HTTPS или для WebSocket без TLS в связке с CDN, где внешний трафик шифруется самим CDN.
Что делать, если VLESS не подключается из-за порта?
Проверьте, что порт в ссылке совпадает с портом, на котором слушает сервер. Убедитесь, что порт открыт в файрволе и не заблокирован провайдером. Также проверьте, что порт не занят другим приложением. Если всё в порядке, посмотрите логи Xray на сервере — они могут указать на конкретную ошибку.
Как порт влияет на скорость соединения?
Порт сам по себе не влияет на скорость, но некоторые порты могут быть перегружены или заблокированы провайдером. Порт 443 обычно не перегружен, так как используется миллионами сайтов. Если вы замечаете низкую скорость, попробуйте использовать альтернативный порт, например 8443 или 2053, но убедитесь, что он поддерживается вашим сервером и CDN.
Можно ли использовать один порт для нескольких протоколов?
Да, можно, если настроить fallbacks на сервере. Например, на порту 443 можно одновременно обслуживать VLESS, Trojan и обычный HTTPS-сайт. Xray использует fallbacks для перенаправления «неправильного» трафика на другие службы. Это позволяет маскировать прокси под легитимный веб-сервер и защищаться от активного зондирования.
Какой порт выбрать для VLESS через Cloudflare?
Для Cloudflare используйте порт 443, так как он наиболее универсален и редко блокируется. Также можно использовать порты 2053, 2083, 2087, 2096, 8443, которые поддерживаются Cloudflare. В ссылке VLESS указывайте порт CDN, а не порт вашего origin-сервера.