Оба варианта могут стоять за TCP 443, поэтому люди считают их взаимозаменяемыми конечными точками. Это не так: SSTP сервер говорит PPP внутри HTTPS, а сервер OpenVPN говорит собственным протоколом поверх TLS или через необработанный поток UDP. Направить один клиент на порт другого — значит получить соединение, которое так и не дойдёт до приглашения на вход. Выбор касается того, какой клиент и какой транспорт вы можете поддержать, а не номера.

Общий порт не делает протокол общим

Рукопожатие TLS может завершиться и всё равно никуда не привести, потому что дальше клиент и сервер расходятся в том, что говорить. В записи пакетов видно чистое рукопожатие, за которым идут данные приложения, отвергаемые или игнорируемые другой стороной. Этот образец — подпись несовпадения протоколов, а не блокировки межсетевым экраном.

Ни переименованный профиль, ни другой пункт меню не превращают одно в другое. Соединение SSTP создаётся в настройках VPN Windows с адресом сервера и данными аутентификации оператора, тогда как соединению OpenVPN нужны клиент и подходящий файл конфигурации. Спецификация SSTP от Microsoft описывает первое и не описывает рукопожатие OpenVPN.

Порт 443 — это удобство политики. Он проходит через сети, где разрешено мало что ещё, и это реальное преимущество, но он ничего не говорит о том, какой протокол работает за ним.

SSTP туннелирует PPP внутри HTTPS

Название описывает конструкцию: кадры PPP, переносимые в сеансе HTTPS, то есть TLS снизу и сертификат, который клиент может проверить. Windows включает это как встроенный тип VPN, поэтому управляемый ноутбук часто подключается без дополнительного программного обеспечения, кроме профиля от оператора.

Другие платформы — другая история. Клиенту Linux или macOS нужна поддерживаемая реализация, а они различаются тем, что поддерживают и как сообщают об ошибках. Проверьте клиент, который действительно собираетесь использовать, вместо того чтобы предполагать перенос встроенной возможности Windows, и убедитесь, что имя сервера в профиле совпадает с сертификатом, который предъявляет сервер.

SSTP обычно только TCP. Этот единственный транспорт влияет на поведение на линии с потерями, потому что повторная передача происходит и внутри туннеля, и под ним.

OpenVPN приносит собственный клиент и выбор транспорта

OpenVPN поставляет собственный клиент и профиль, что даёт диагностику, которую встроенный диалог Windows не показывает. Сервер может слушать на UDP или TCP, и конфигурация оператора решает, какой из них должен использовать ваш клиент. Профиль, нацеленный на неверный транспорт, отказывает ещё до аутентификации.

Аутентификация в равной степени зависит от конфигурации. Развёртывание может требовать только сертификаты, сертификаты вместе с именем пользователя и паролем или второй фактор сверху, и клиент должен точно соответствовать этой схеме. То, что соединение доходит до этапа TLS, не говорит, какие учётные данные оно запросит дальше.

UDP — обычный вариант по умолчанию, потому что избегает вложения надёжного потока в другой надёжный поток. Режим TCP существует для сетей, блокирующих UDP, и он работает, но сильные потери могут сделать его хуже по ощущениям, чем заменённый путь UDP. Выбирайте TCP, когда нужно, а не потому, что он звучит надёжнее.

Выбирайте по клиенту, транспорту и поддержке

Три вопроса решают большинство таких выборов. Нужно ли каждому клиентскому устройству соединение, работающее без дополнительного программного обеспечения? Разрешает ли сеть, на которую вы полагаетесь, UDP, или TCP 443 — единственный выход? И кто поддерживает клиент, его обновления и восстановление, когда профиль истекает?

Сравнивая эти два, тестируйте на одном и том же устройстве и в одной и той же сети доступа. Если конечная точка SSTP и конечная точка OpenVPN — разные серверы или разные площадки, ваш результат включает эти маршруты и машины вместо изоляции протокола. Это самый частый способ, которым такие сравнения дают уверенный, но неверный ответ.

Затем убедитесь, какое именно вы установили, прежде чем отлаживать что-либо ещё:

> Get-VpnConnection -Name "Office SSTP" | Select-Object TunnelType, ServerAddress
> openvpn --config office.ovpn --verb 4

В любом случае завершите проверкой ресурса и DNS, которые вам нужны, вместо объявления успеха по состоянию туннеля. Оба протокола можно настроить на передачу только выбранного частного трафика, а подключённый туннель без работающего разрешения имён выглядит как сломанный VPN, хотя на самом деле это схема раздельного туннеля или DNS.

В управляемом парке распространение профилей и поддержка обновлений обычно решают вопрос гораздо раньше любого измерения транспорта.

Похожие статьи