Більшість збірок VPN на Raspberry Pi починається з рецепта для сервера й закінчується телефоном, який не може підключитися. Порядок перевернуто. Клієнт на телефоні реалізує певний протокол із певним обміном автентифікації, і сервер має відповідати саме цьому обміну, а не навпаки. Якщо спершу вибрати застосунок, цілий день налагодження перетворюється на короткий контрольний список.

Порядок, який позбавляє від перезбирання

Запишіть операційну систему телефона й точний VPN-застосунок до того, як щось інсталювати на Pi. Ця пара визначає, який протокол узагалі можливий. Клієнтський застосунок не стає іншим клієнтом лише тому, що в профілі випадково є знайоме поле.

Спільний секрет у профілі або знайомий на вигляд номер порту не перетворює один протокол на інший. Обмін або відповідає тому, що реалізує застосунок, або зривається на етапі, який дає дуже мало для читання. Немає діагностики, яка простими словами скаже "неправильний протокол". Ви отримуєте тайм-аут, помилку сертифіката або тихий цикл повторних спроб, і все це виглядає як проблема сервера.

Коли застосунок зафіксовано, вибір сервера звужується, і в решти збірки з'являється мета.

Що насправді реалізує застосунок на телефоні

Опублікований список клієнтів описує застосунок, а не службу. Застосунок OpenVPN Connect для Android очікує сервер OpenVPN; він не надає серверний бік. Він також не стає клієнтом IPsec або L2TP, коли профіль виглядає схоже.

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

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

Чотирискладова угода

Запишіть чотири речі й тримайте їх разом: операційну систему й версію застосунку на телефоні, реалізацію сервера на Pi, політику автентифікації та довіри і зовнішню кінцеву точку. Кожна з чотирьох може знецінити інші три.

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

Облікові дані мають окремі завдання

Вирішіть, чи профіль використовує клієнтські сертифікати, ім'я користувача й пароль або підтримувану комбінацію, і узгодьте обидва боки. Ідентичність сервера й матеріал довіреного CA також мають відповідати тому, що прийме клієнт.

Відкритий сертифікат CA та його закритий ключ підпису — різні об'єкти. У профіль телефона потрапляє лише відкрита частина. Якщо покласти ключ підпису на телефон, ви віддаєте можливість створювати ідентичності, а це протилежність призначенню CA. Ставтеся до цього файлу як до найчутливішого об'єкта всієї збірки.

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

Понад усе, не замінюйте перевірку сертифіката на "приймати будь-який сервер", щоб змусити старий приклад підключитися. Це перетворює проблему сумісності на обхід автентифікації, і зазвичай це доживає до експлуатації, бо працює.

Досяжність — окремий договір

Телефон має досягти зовнішньої кінцевої точки сервера через реальну схему вище за течією. Трансляція домашнього маршрутизатора, фільтрування й NAT оператора стоять між ними. Динамічне ім'я DNS дає кінцевій точці лише стабільне ім'я; воно не створює вхідного шляху.

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

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

Схожі статті