Шлюз Juniper или Pulse: какой протокол OpenConnect использовать
Флаг протокола определяет обмен при входе. Сравните поддержку Network Connect и Pulse, затем подберите клиент под то, что шлюз действительно предоставляет.
Выбор протокола для OpenConnect — упражнение по сопоставлению, а не поиск бренда. Шлюз, который на странице входа говорит Juniper, может предоставлять Network Connect, Pulse или оба, а значение по умолчанию у клиента — ни то ни другое. Догадка обходится в неудачный вход и, что хуже, в ветку поддержки, которая винит учётные данные в несовпадении протокола. Подтвердите услугу, прежде чем вводить имя хоста в профиль.
OpenConnect называет старый протокол nc, а новый pulse, и оба живут в одном двоичном файле. Выбранный флаг меняет обмен при входе, а не маршрутизацию после успешного подключения.
Два названия протоколов делят одну историю продукта
Network Connect от Juniper и более поздний клиент Pulse Secure — разные протоколы, которые одно семейство устройств предлагало со временем. OpenConnect получил обработчик nc для первого и обработчик pulse для второго. Это отдельные пути кода с отдельными форматами запросов, поэтому поддержка одного ничего не говорит о другом.
Разница сразу видна в разговоре при входе: конечные точки, поля формы и то, как клиент сообщает об отклонённом втором факторе, различаются у двух обработчиков.
Выбор в командной строке — изменение на одно слово: openconnect --protocol=nc vpn.example.com для Network Connect или openconnect --protocol=pulse vpn.example.com для Pulse. Обе попытки — настоящие попытки подключения, которые могут перенастроить маршруты и DNS, поэтому запускайте их осознанно. Никогда не помещайте пароль в командную строку и не отключайте проверки сертификатов, чтобы обойти ошибку протокола: это скрывает несовпадение, а не исправляет его. Если нужно увидеть, что отправляет клиент, --dump-http-traffic печатает обмен, что обычно определяет обработчик, которого ожидает шлюз.
Сопоставьте протокол с тем, что предоставляет шлюз
Устройство отвечает только на тот протокол, для которого настроено. Служба только с Pulse отклоняет вход nc даже с действительными учётными данными, а старая служба Network Connect не имеет конечной точки pulse, которая бы ответила. Спросите администратора, какой включён и какой клиент они поддерживают. Переименованное устройство, устаревшая wiki-страница и знакомый веб-портал — всё это слабые доказательства.
Когда протокол известен, подтвердите окружающие требования: аутентификацию по сертификату или токену, выбор группы аутентификации и любую проверку соответствия конечной точки. Они решают, сможет ли клиент командной строки вообще завершить вход.
Аутентификация может решить вопрос раньше протокола
Развёртывание может требовать клиентского сертификата, обхода SAML через браузер или проверяющего хоста, который осматривает машину перед выдачей доступа. Обработчик pulse в OpenConnect документирует ограничения совместимости для некоторых из этих потоков, а у обработчика nc есть свои пробелы. Пароль, работающий в браузере, доказывает, что учётная запись действительна; он не доказывает, что произвольный CLI или настольный плагин может пройти ту же последовательность. Когда задействован проверяющий хоста, клиенту нужен скрипт-обёртка от администратора. Без него вход застревает после первого ответа и выглядит как сбой протокола, хотя на самом деле это недостающий шаг соответствия.
Выбор группы аутентификации — другая частая преграда, потому что шлюз с несколькими группами ожидает, что клиент назовёт одну.
В командной строке --authgroup="Employees" задаёт этот выбор, а его пропуск может поместить сеанс в группу по умолчанию, которая отклоняет учётную запись. С сертификатами --certificate указывает на клиентский сертификат и ключ, и шлюз может после этого всё ещё требовать токен. Проверьте всю последовательность один раз с подробным выводом, прежде чем автоматизировать что-либо вокруг неё.
Когда настольный интерфейс не может выразить выбор
Графические интерфейсы несут свои наборы функций, и старый плагин может быть старше нужного вам протокола. Интеграция OpenConnect в NetworkManager хранит выбор в данных подключения, поэтому nmcli connection modify "Office VPN" vpn.data "protocol=pulse" может задать то, чего не показывает редактор. Проверьте, поддерживает ли установленная версия плагина этот ключ, прежде чем считать, что изменение вступило в силу.
Если меню предлагает только PPTP или L2TP, выбор одного из них не превращает службу Pulse в этот протокол. Установите одобренную интеграцию вместо перехода на то, что меню случайно перечисляет.
Что записывать, когда вход всё ещё не удаётся
Запишите четыре вещи: выбранный протокол, версии клиента и плагина, ожидаемый поток аутентификации и первую ошибку, вернувшуюся с кодом состояния, а не с тайм-аутом. Этот набор отделяет неверный обработчик от отсутствующего сертификата, отклонённой группы аутентификации или заблокированной проверки соответствия. Подробный вывод стоит сохранять по той же причине: он показывает неудачный запрос, а не только симптом.
Держите рабочую команду или профиль рядом с именем шлюза, когда всё получится. Иначе следующий подключающийся повторит ту же догадку бренда против протокола.