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