Dwie komendy są wklejane na to, co wygląda na to samo zadanie na OpenVPN Access Server, a robią różne rzeczy. systemctl restart openvpnas zatrzymuje i uruchamia cały produkt. sacli start podnosi wewnętrzne usługi, które czytają konfigurację, którą właśnie zmieniłeś. Wybór między nimi nie jest kwestią gustu: zależy od tego, co mówi dokumentacja samego ustawienia, czy twoja sesja przechodzi przez serwer, który zamierzasz zrestartować, i czy w ogóle patrzysz na właściwy produkt.

Dwie warstwy, jeden demon

Access Server działa jako jedna jednostka systemd, openvpnas, a ten demon nadzoruje wewnętrzne usługi za interfejsem webowym i nasłuchy VPN. sacli to interfejs wiersza poleceń do tej samej instalacji, pod /usr/local/openvpn_as/scripts/sacli, i może uruchamiać, zatrzymywać i odpytywać te wewnętrzne komponenty bez zastępowania jednostki.

Dlatego istnieją obie komendy. Restart demona wykonuje wszystko od nowa, łącznie z procesem, który kończy tunele klientów. sacli start prosi już działającego demona o podniesienie swoich komponentów, aby odczytały nową konfigurację, i tego właśnie wymaga większość zmian właściwości.

Warunek pierwszy: co mówi dokumentacja ustawienia

Czytaj stronę ustawienia, które zmieniłeś, a nie tego, które zmieniłeś w zeszłym miesiącu. Po właściwości zapisanej przez ConfigPut zwykle następuje sacli start, a ta para to udokumentowany krok zastosowania. Zmiana zachowania na poziomie nasłuchu albo cokolwiek, co strona opisuje jako wymagające restartu usługi, to klasa, w której restart jednostki jest właściwy.

Obie komendy nie są wymienne, więc tryb błędu przy zgadywaniu jest asymetryczny. Użycie sacli start, gdy potrzebny był pełny restart, zostawia stary proces nadal obsługujący poprzednią konfigurację, co wygląda, jakby ustawienie zostało zignorowane. Pełny restart, gdy wystarczyłoby sacli start, wyrzuca każdego połączonego klienta bez powodu.

Warunek drugi: czy twoja sesja jest w tunelu

Jeśli administrujesz Access Server przez VPN, który on zapewnia, restart usuwa połączenie niosące twój shell. Komenda może zakończyć się po śmierci sesji, więc musisz zgadywać, czy zadziałała. sacli start również może na chwilę przerwać sesję z tego samego powodu, gdy restartowany komponent obsługuje twój ruch.

Przed obiema komendami miej otwartą drogę poza pasmem: konsolę dostawcy, konsolę hiperwizora lub sesję szeregową. Ten warunek decyduje, kiedy uruchamiasz komendę, a nie którą, i to on zamienia zmianę zajmującą dwie minuty w raport o awarii.

Warunek trzeci: czy to produkt, o którym myślisz

Access Server to nie Community OpenVPN. Instalacja community uruchamia jednostki takie jak openvpn@server lub openvpn-client@profile, z konfiguracją w /etc/openvpn, i sacli tam nie istnieje. Restartowanie każdej jednostki z openvpn w nazwie na współdzielonym hoście to sposób, w jaki niepowiązane tunele padają razem.

Ustal, zanim czegokolwiek dotkniesz: systemctl status openvpnas --no-pager odpowiada, czy działa Access Server, sacli status wymienia jego wewnętrzne komponenty, a systemctl list-units --type=service wymienia jednostki, których nazwy zawierają openvpn. Jeśli ostatnia komenda pokazuje jednostki o nazwach profili, jesteś na produkcie community i reszta tego cię nie dotyczy.

Zastosuj, a potem sprawdź dalej niż active

Jednostka zgłaszająca active ma działający proces, co nie jest tym samym co działająca ścieżka uwierzytelniania. Po kroku zastosowania sprawdź sacli status dla komponentów, których restartu oczekiwałeś, potwierdź, że wartość została zapisana przez sacli ConfigQuery, a następnie wykonaj jedno ograniczone logowanie klienta na konto testowe.

Zakończ czymś na poziomie aplikacji: dotrzyj do prywatnego zasobu przez tunel, nie tylko ping do publicznego adresu serwera. Uścisk dłoni, który się udaje, gdy wciśnięta trasa lub ustawienie DNS są błędne, przejdzie każdą kontrolę usługi i mimo to zawiedzie osobę, która zgłosiła problem.

samouczek dostawcy dotyczący zarządzania usługami to odniesienie do tego, które operacje należą do sacli, i warto je otworzyć, zanim uznasz, że restart jest bezpieczną opcją.

Decyzja w jednym przejściu

Przejdź te cztery wiersze i zatrzymaj się na pierwszym, który pasuje:

  • Strona ustawienia wymienia sacli start, albo właśnie wykonałeś ConfigPut: użyj sacli start.
  • Strona wymaga restartu albo zmiana dotyczy nasłuchów, a nie właściwości: użyj systemctl restart openvpnas.
  • Twój shell przychodzi przez ten serwer: najpierw zapewnij dostęp do konsoli, potem wykonaj komendę wybraną przez dwa wiersze powyżej.
  • Weryfikacja: sacli status, ConfigQuery dla wartości, jedno logowanie, jeden prywatny zasób. Sam stan usługi nie jest linią mety.

Dwa z tych wierszy to kontrole, a dwa to działania, i taki jest sens kolejności. Jeśli nie potrafisz odpowiedzieć na pytanie o produkt, zatrzymaj się: komenda, którą zamierzałeś wykonać, należy do innej instalacji, a tunel, który położysz, nie będzie tym, o który chodziło.

Powiązane artykuły