Помилка з’являється під час імпорту, ще до будь-яких перемовин, і називає директиву, яку клієнт відмовляється прийняти. 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 у тій самій мережі, перш ніж робити будь-які висновки про сервер.

Тримайте робочий профіль і версію клієнта поруч із нотаткою. Майбутній випуск клієнта може додати підтримку директиви, і це змінює відповідь, не торкаючись сервера.

Схожі статті