Два файли, які обидва виглядають як конфігурація VPN, потрапляють в одну теку, і працює лише один із них. Профіль OpenVPN описує тунель TLS з директивами, які розуміє цей клієнт, а з’єднання SoftEther описує сеанс із віртуальним концентратором за іншим договором автентифікації. Перетворити одне на інше — не вправа з форматування, бо два клієнти не реалізують той самий протокол. Визначення того, яку службу оператор насправді опублікував, вирішує все подальше.

Два файли, два договори

Профіль OpenVPN — це конфігурація клієнта: віддалена кінцева точка, транспорт, матеріал TLS і директиви для маршрутизації та повторних переговорів. З’єднання SoftEther — це нативний сеанс клієнта з віртуальним концентратором, до якого приєднано віртуальний адаптер.

Вони можуть описувати доступ до однієї мережі, не будучи взаємозамінними. Прослуховувач OpenVPN — це функція сумісності, яку сервер може опублікувати на окремому порту, і він говорить OpenVPN, а не нативним протоколом. Нативний клієнт говорить нативним протоколом і очікує власний профіль. Один сервер, двоє дверей, і кожні двері мають свій ключ.

Розширення файлу майже нічого не каже, тому відповідь оператора важливіша за назву файлу.

Прочитайте сервер, перш ніж торкатися блоку сертифіката

Запитайте оператора про три речі: який порт і транспорт, який метод автентифікації і який клієнт вони очікують. Ці відповіді прибирають більшість здогадок.

Потім підтвердьте, що насправді слухає, а не що стверджує посібник. Вимкнений прослуховувач сумісності нічого не показує на своєму порту, а ввімкнений показує сокет, навіть якщо ніхто ніколи не підключався. Різниця між закритим портом і відхиленим входом — перша корисна діагностика. Усе подальше залежить від того, до яких дверей постукали.

ss -lunp | grep -E ':1194|:443'
sudo ss -ltnp | grep -E ':992|:5555'
grep -nE '^(remote|proto|auth-user-pass|ca |cert |key )' profile.ovpn

Порт UDP, якого немає в списку прослуховувачів, — це вимкнена функція, а не проблема брандмауера.

Що потрібно нативному клієнту і чого профіль дати не може

Нативний клієнт встановлює віртуальний мережевий адаптер і прив’язує до нього з’єднання. Без цього адаптера немає інтерфейсу для маршрутизації, тому нативне з’єднання може пройти автентифікацію і все одно не передавати трафік.

Нативна автентифікація виконується з віртуальним концентратором, використовуючи об’єкт користувача, створений адміністратором концентратора. Блоки сертифікатів, скопійовані з профілю OpenVPN, не стають користувачами концентратора, а користувач концентратора не стає сертифікатом клієнта. Дві системи зберігають різне, і профілю нікуди подіти запис користувача концентратора. Це структурна різниця, а не проблема синтаксису.

Тримайте приватний ключ подалі від будь-якої служби перетворення, бо ключ, що залишив машину, треба вважати розкритим.

Що приймає сумісний з OpenVPN прослуховувач

Прослуховувач сумісності з погляду клієнта — справжній сервер OpenVPN: він очікує клієнта OpenVPN і директиви, які той підтримує. Вбудовані блоки сертифікатів — це функція OpenVPN, і вони належать тому боку паркану.

Чого він не зробить — не прийме нативний профіль SoftEther, бо цей профіль не є конфігурацією OpenVPN. Прослуховувач також не перетворює нативний клієнт на клієнт OpenVPN. Якщо оператор пропонує лише нативну службу, відповідь — нативний клієнт; якщо він пропонує прослуховувач сумісності, відповідь — OpenVPN і його власний матеріал.

Попросіть підтриманий оператором експорт замість того, щоб збирати його з фрагментів, бо експорт несе подробиці, які зібраний вручну файл зазвичай пропускає.

Доведіть шлях, перш ніж редагувати директиви

Коли клієнта обрано, перевірте тунель, перш ніж торкатися маршрутів. Успішний вхід і інтерфейс, що передає трафік, — два різні результати.

sudo openvpn --config profile.ovpn --verb 3
ip -br addr
ip route get 10.70.4.20
resolvectl status | grep -A2 'DNS Servers'

Порівняйте призначену адресу з пулом, який описав оператор, потім окремо подивіться на маршрути й розв’язувач. Нативне з’єднання з концентратором може чисто автентифікуватися і зовсім не встановити маршрутів, що з боку клієнта виглядає як зламаний тунель. Лише коли ці три збігаються, варто редагувати директиву. Раніше редагування приховує, який рівень був неправильний.

Схожі статті