Ошибка появляется при импорте, до любых переговоров, и называет директиву, которую клиент отказывается принять. OpenVPN Connect выполняет библиотечный код OpenVPN 3, который вовсе не реализует опцию fragment общественного клиента. Это делает вопрос вопросом совместимости двух концов, а не вопросом настройки размера пакета.

Удаление строки даёт файл, который клиент разберёт, и сервер, который может всё ещё ждать формат, описанный этой строкой. Пройдите это от экрана импорта наружу, прежде чем что-либо менять.

Где останавливается импорт

Импортёр разбирает директивы, прежде чем связаться с сервером, поэтому отказ там — локальное решение о синтаксисе, а не сетевой результат, и список неподдерживаемых директив OpenVPN фиксирует то же ограничение. Это объясняет, как один файл может работать в общественном клиенте и не сработать в Connect на той же машине. Прочитайте в сообщении имя директивы и сохраните исходный файл, потому что этот текст — единственное доказательство того, против чего возражал клиент. Ошибка импорта и тайм-аут соединения приходят с разных этапов и заслуживают разных ответов.

Если сообщение называет fragment, остаётся вопрос, зависит ли от него и сервер. Ответьте на это, прежде чем трогать выданный вам профиль.

Что fragment меняет в общественном клиенте

В общественном клиенте директива включает собственную фрагментацию датаграмм OpenVPN, которая делит полезную нагрузку, прежде чем она достигнет внешнего уровня IP. Она существует, чтобы переживать пути, отбрасывающие крупные датаграммы UDP, и чтобы туннель оставался пригодным там, где обнаружению MTU пути нельзя доверять. Это не синоним снижения MTU интерфейса и не фрагментация на уровне IP, выполняемая операционной системой. Клиент без этого механизма не получит его, снизив число.

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

Попросите профиль, созданный для этого клиента

Чистый путь — второй профиль, документированный для OpenVPN Connect, если сервис публикует такой. Многие провайдеры так делают, и разница обычно в директивах, которые они опускают, а не в конечной точке, на которую они указывают. Просите его по имени клиента, а не описывайте ошибку, потому что служба поддержки может сопоставить профиль с клиентом гораздо быстрее, чем диагностировать обрезанный файл.

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

Проверьте соединение, а не только импорт

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

openvpn --config client.ovpn --verb 3
ip -4 addr show tun0
curl -sS --interface tun0 -o /dev/null -w '%{http_code}\n' --max-time 8 https://example.com/

Журнал показывает, где остановилась попытка: ошибка опции появляется до любого обмена TLS, а ошибка аутентификации или шифрования — после него. Если туннель поднимается, а запрос всё равно не проходит, проблема перешла от совместимости к маршрутизации. Сравните это с поведением Connect в той же сети, прежде чем делать какие-либо выводы о сервере.

Держите рабочий профиль и версию клиента рядом с заметкой. Будущий выпуск клиента может добавить поддержку директивы, и это меняет ответ, не касаясь сервера.

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