Установщики VPN-клиентов, поддержка которых завершилась годы назад, всё ещё запускаются, всё ещё запрашивают профиль и затем завершают вход, который так и не пропускает ни одного пакета. Машина современная, учётные данные верные, но шлюз — то же устройство, которое компания купила десять лет назад. Заменить клиент — правильный шаг, но только после того, как вы узнаете, какой протокол публикует этот шлюз. Четыре снятых с поддержки клиента в этом углу не говорят на одном и том же.

Почему название бренда не сообщает протокол

Одно семейство устройств может обслуживать несколько протоколов удалённого доступа, а маркетинговое название на коробке ничего не говорит о том, какой из них использует ваша учётная запись. Оборудование Cisco одновременно несло IPsec с XAuth и SSL VPN через AnyConnect; устройства SonicWall предлагают Global VPN Client поверх IPsec и NetExtender поверх SSL VPN; развёртывания Juniper могут предоставлять Network Connect или более новый протокол Pulse. Устанавливать преемника, который выглядит самым современным, — это догадка. Неверная догадка либо не даёт подключиться, либо аутентифицирует в сеанс, который не несёт трафика.

Загрузка страницы портала в браузере доказывает, что веб-служба отвечает, а не то, что конкретный клиент будет с ней договариваться. Считайте это двумя отдельными фактами.

Спросите шлюз, на каком протоколе он говорит

Самый дешёвый способ сузить варианты — прочитать, что возвращает конечная точка, а затем явно назвать протокол при попытке клиента. Ни один из шагов ничего не меняет на сервере.

curl -sS -I https://vpn.example.com/ | head -n 5
openconnect --protocol=anyconnect vpn.example.com

Заголовки ответа и путь входа показывают, есть ли на этом адресе портал SSL VPN, что указывает на AnyConnect, NetExtender или Pulse, а не на клиент IPsec. openconnect выносит выбор протокола в командную строку, поэтому сбой называет протокол, а не продукт; замените его на --protocol=npulse, когда развёртывание — Juniper. Остановитесь на первом запросе учётных данных, которые вам не выдавали, потому что работающему туннелю всё равно нужна одобренная учётная запись. Запишите протокол и путь в заявку на изменение для следующей машины.

Взвесьте четырёх кандидатов на замену

Четыре пути покрывают почти все случаи, и они не взаимозаменяемы. Преемник от поставщика — поддерживаемый путь, когда организация владеет шлюзом и собирается его лицензировать. OpenConnect — практичный открытый клиент, потому что он говорит на AnyConnect, Network Connect и Pulse, когда вы называете протокол, вместо того чтобы позволить ему угадывать.

strongSwan обрабатывает случай IPsec с XAuth для организаций, которые разрешают сторонние клиенты, и полностью обходит заброшенный код Cisco IPsec. Клиент Shrew Soft по-прежнему читает файлы профилей Cisco и работает в некоторых сборках Windows, но его последний выпуск был в 2013 году. Считайте его временным решением, пока не будет организован поддерживаемый путь.

Выберите между ремонтом и заменой

Некоторые сбои локальны: отсутствующая библиотека, устаревший виртуальный адаптер или установщик, которому нужен параметр восстановления от поставщика. Они стоят одной попытки, пока клиент поддерживается, потому что занимают минуты. Расчёт меняется, когда двоичный файл вне поддержки и поломка пришла с обновлением операционной системы, так как правила подписи драйверов и расширений ядра изменились с тех пор, как эти клиенты были написаны. Клиент, который подключается, пока счётчик туннеля показывает ноль установленных сеансов, обычно уже за пределами ремонта, а не в одной переустановке от него.

Держите старый клиент установленным ровно столько, сколько нужно для экспорта профиля, затем удалите его. Два VPN-клиента, конкурирующие за одни и те же маршруты, дают симптомы, не похожие ни на один из них.

Запишите порядок в заявке: протокол и одобренный клиент от владельца, поддерживаемый преемник, если он устанавливается, один открытый клиент, проверенный на одной машине, если нет, и поддерживаемый путь доступа, если ни один не работает. Такой порядок не даёт следующему человеку скачать ещё один снятый с поддержки двоичный файл.

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