OpenVPN Access Server: перезапустити демон чи застосувати налаштування
systemctl restart openvpnas перезапускає демон; sacli start піднімає внутрішні служби. Дотримуйтеся документації налаштування, а потім перевірте більше, ніж active.
Дві команди вставляють для того, що виглядає як те саме завдання на OpenVPN Access Server, а роблять вони різне. systemctl restart openvpnas зупиняє й запускає весь продукт. sacli start піднімає внутрішні служби, які читають конфігурацію, щойно вами змінену. Вибір між ними не питання смаку: він залежить від того, що каже документація самого налаштування, чи проходить ваш сеанс через сервер, який ви збираєтеся перезапустити, і чи ви взагалі дивитеся на правильний продукт.
Два рівні, один демон
Access Server працює як один юніт systemd, openvpnas, і цей демон наглядає за внутрішніми службами за веб-інтерфейсом і слухачами VPN. sacli — це інтерфейс командного рядка до тієї ж інсталяції, за адресою /usr/local/openvpn_as/scripts/sacli, і він може запускати, зупиняти та опитувати ці внутрішні компоненти, не замінюючи юніт.
Тому існують обидві команди. Перезапуск демона виконує все заново, включно з процесом, який завершує клієнтські тунелі. sacli start просить уже запущений демон підняти свої компоненти, щоб вони прочитали нову конфігурацію, і саме цього вимагає більшість змін властивостей.
Умова перша: що каже документація налаштування
Читайте сторінку того налаштування, яке ви змінили, а не того, яке змінювали минулого місяця. Після властивості, записаної через ConfigPut, зазвичай іде sacli start, і ця пара — документований крок застосування. Зміна поведінки на рівні слухача або все, що сторінка описує як таке, що потребує перезапуску служби, — це клас, де перезапуск юніта правильний.
Дві команди не взаємозамінні, тому режим помилки при здогаді асиметричний. Використання sacli start, коли був потрібен повний перезапуск, залишає старий процес, який досі обслуговує попередню конфігурацію, і це виглядає так, ніби налаштування проігнорували. Повний перезапуск, коли вистачило б sacli start, скидає кожного підключеного клієнта без причини.
Умова друга: чи ваш сеанс усередині тунелю
Якщо ви адмініструєте Access Server через VPN, який він надає, перезапуск прибирає з єднання, що несе ваш shell. Команда може завершитися вже після смерті сеансу, і вам лишається здогадуватися, чи вона спрацювала. sacli start теж може ненадовго перервати сеанс з тієї ж причини, коли компонент, що перезапускається, обробляє ваш трафік.
Тримайте відкритим позасмуговий шлях перед будь-якою командою: консоль провайдера, консоль гіпервізора або послідовний сеанс. Ця умова вирішує, коли виконувати команду, а не яку, і саме вона перетворює двoxвилинну зміну на звіт про інцидент.
Умова третя: чи це той продукт, про який ви думаєте
Access Server — це не Community OpenVPN. Спільнотна інсталяція запускає юніти на кшталт openvpn@server або openvpn-client@profile, з конфігурацією в /etc/openvpn, і sacli там не існує. Перезапуск кожного юніта з openvpn в імені на спільному хості — це спосіб покласти незв язані тунелі разом.
Визначте, перш ніж щось чіпати: systemctl status openvpnas --no-pager відповідає, чи працює саме Access Server, sacli status перелічує його внутрішні компоненти, а systemctl list-units --type=service перелічує юніти, в іменах яких є openvpn. Якщо остання команда показує юніти з іменами профілів, ви на спільнотному продукті, і решта тут до вас не стосується.
Застосуйте, потім перевірте далі active
Юніт, що повідомляє active, має працюючий процес, а це не те саме, що робочий шлях автентифікації. Після кроку застосування перевірте sacli status для компонентів, які ви очікували перезапустити, підтвердьте, що значення збережено через sacli ConfigQuery, і потім виконайте один обмежений вхід клієнта з тестовим обліковим записом.
Завершіть чимось на рівні застосунку: дістаньтеся приватного ресурсу через тунель, а не просто ping до публічної адреси сервера. Рукостискання, яке вдається, коли просунутий маршрут або налаштування DNS неправильні, пройде всі перевірки служби і все одно підведе людину, яка повідомила про проблему.
посібник провайдера з керування службами — це довідка про те, які операції належать sacli, і її варто відкрити, перш ніж вирішити, що перезапуск — безпечний варіант.
Рішення за один прохід
Пройдіть ці чотири рядки і зупиніться на першому відповідному:
- Сторінка налаштування називає sacli start, або ви щойно виконали ConfigPut: використовуйте sacli start.
- Сторінка потребує перезапуску, або зміна стосується слухачів, а не властивостей: використовуйте systemctl restart openvpnas.
- Ваш shell приходить через цей сервер: спершу забезпечте доступ до консолі, потім виконайте команду, обрану двома рядками вище.
- Перевірка: sacli status, ConfigQuery для значення, один вхід, один приватний ресурс. Лише стан служби — не фінішна риска.
Два з цих рядків — перевірки, а два — дії, і в цьому сенс порядку. Якщо ви не можете відповісти на питання про продукт, зупиніться: команда, яку ви збиралися виконати, належить іншій інсталяції, і тунель, який ви обвалите, буде не той, що ви мали на увазі.