OpenVPN Access Server проти Community: що насправді переноситься
Community Edition і Access Server використовують один протокол OpenVPN, але не один рівень керування. Порівняйте, що переноситься, що треба збудувати заново і хто це підтримує.
Профілі переносяться; списки користувачів залишаються. Команда, яка переходить між Access Server і Community Edition, стикається з цим розривом через годину після перемикання, коли її перший клієнт проходить автентифікацію і не має ні групової політики, ні маршруту для користувача, ні самостійного скидання пароля. Обидва продукти говорять одним протоколом і приймають одного й того самого клієнта, і саме тому розрив залишається непомітним під час планування. Насправді ви обираєте рівень керування та людей, які ним володіють.
Ставтеся до рішення як до питання інвентаризації, а не як до таблиці функцій. Запитайте, хто створює користувачів, хто відкликає сертифікати і хто відповідає на дзвінок о 02:00.
Чому файл .ovpn не несе налаштування
Профіль .ovpn описує стосунки одного клієнта з одним сервером: віддалений хост, протокол, CA, сертифікат і ключ клієнта, а також будь-який вбудований матеріал tls-crypt. Помістіть цей файл у нову збірку, і клієнт усе одно завершить рукостискання, тож міграція виглядає завершеною. Ніщо в ньому не перелічує користувачів, їхні групи, їхні статичні маршрути чи політику, що визначала, кому взагалі дозволено підключатися. Ці записи живуть у власному сховищі сервера, і обидва продукти зберігають їх у різних формах.
У Community Edition еквіваленти — це файли, які ви тримаєте самі: записи client-config-dir з параметрами для кожного клієнта, як-от ifconfig-push і iroute, CRL для відкликання і ключ tls-crypt. Access Server зберігає ті самі поняття у власній базі даних і надає їх через вебконсоль та інструмент командного рядка sacli. Поняття зіставляються одне до одного; артефакти зовсім не переносяться.
Профілі також контрабандою вносять поведінку, якої ніхто не помічає, доки вона не зміниться. Клієнт із redirect-gateway def1 надсилає весь трафік через сервер; перенесіть його у збірку без цього рядка, і скарга буде про те, що інтернет зламався. Розбіжність CA або неправильне налаштування remote-cert-tls падає гучно, і це добрий результат. Відсутній ключ tls-crypt падає як тихий тайм-аут, а це не так.
Чим володіє рівень керування
Порахуйте те, що не є протоколом: створення облікових записів, скидання паролів, розподіл за групами, реєстрація MFA, права на підключення і журнал аудиту, що відповідає, хто і коли підключався. Community Edition нічого з цього не надає напряму. Ви обираєте бекенд автентифікації, підключаєте PAM, LDAP або RADIUS через плагін чи auth-user-pass-verify, а решту обслуговуєте самі. Access Server постачає портал користувача, консоль адміністрування та інтеграції з поширеними постачальниками ідентичності. Жоден із варіантів не безпечніший за замовчуванням, бо політику все одно має написати той, хто знає мережу.
Права — найгостріша операційна відмінність. Access Server ліцензується за кількістю одночасних підключень і забезпечує цю кількість програмно. У Community Edition глобальна межа — один рядок max-clients, тоді як усе, що на користувача або на групу, означає більше роботи з client-config-dir і ваше власне забезпечення. Команда без бажання займатися цим обслуговуванням купує саме це, коли платить за комерційний продукт.
Ліцензування й підтримка: рядок, якого ніхто не закладає в бюджет
Community Edition безкоштовний і з відкритим кодом. Access Server комерційний, і його безкоштовний рівень історично покривав невелику кількість одночасних підключень, а вище діє платна ліцензія. Будь-яка цифра зі старої відповіді на форумі вже застаріла, тому перевірте поточні умови постачальника, перш ніж рахувати вартість проєкту. Чесне порівняння додає години, витрачені на побудову керування користувачами, MFA і моніторингу на боці спільноти, до рядка ліцензії на комерційному боці.
Відповідальність за підтримку підкоряється тому самому поділу. З Community Edition ви — шлях ескалації для кожного дивного клієнта і кожного оновлення ядра. З Access Server у вас є постачальник, якому можна зателефонувати, і ви успадковуєте його ритм випусків, підходить він вашому вікну змін чи ні.
Перевірки перед переходом
Перед переходом у будь-який бік проведіть інвентаризацію того, що насправді зберігає робочий сервер. На боці Access Server експортуйте список користувачів і призначення груп та занотуйте, які облікові записи залежать від MFA. На боці Community Edition перелічіть видані сертифікати, CRL і кожен файл у client-config-dir. Порівняйте два списки рядок за рядком, бо різниця між ними — це і є робота з міграції.
Перевірте представницьких клієнтів, поки старий сервіс ще працює. openvpn --config client.ovpn --verb 4 на передньому плані друкує рукостискання, передані маршрути та параметри DNS, а openssl x509 -in client.crt -noout -subject -enddate показує, який сертифікат клієнт насправді подає. Клієнт, який підключається, але не досягає внутрішнього хоста, має розрив у маршруті або в iroute, а не збій автентифікації.
Тримайте старий шлях відновлення живим, доки заміна не пройде і тест із відмовою в доступі, і успішний. Запишіть підсумкову карту на одній сторінці: кожна вимога, артефакт, що задовольняє її сьогодні, і артефакт, що задовольнить її згодом.