Du komandos įklijuojamos tam, kas atrodo kaip tas pats darbas OpenVPN Access Server, ir jos daro skirtingus dalykus. systemctl restart openvpnas sustabdo ir paleidžia visą produktą. sacli start pakelia vidines paslaugas, kurios skaito ką tik pakeistą konfigūraciją. Pasirinkimas tarp jų nėra skonio reikalas: jis priklauso nuo to, ką sako paties nustatymo dokumentacija, ar jūsų sesija eina per serverį, kurį ketinate paleisti iš naujo, ir ar apskritai žiūrite į tinkamą produktą.

Du sluoksniai, viena tarnyba

Access Server veikia kaip vienas systemd vienetas, openvpnas, ir tas tarnyba prižiūri vidines paslaugas už žiniatinklio sąsajos ir VPN klausytojus. sacli yra tos pačios instaliacijos komandų eilutės sąsaja, adresu /usr/local/openvpn_as/scripts/sacli, ir gali paleisti, sustabdyti bei užklausti tuos vidinius komponentus nepakeisdama vieneto.

Štai kodėl egzistuoja abi komandos. Tarnybos paleidimas iš naujo vykdo viską iš naujo, įskaitant procesą, kuris nutraukia klientų tunelius. sacli start prašo jau veikiančios tarnybos pakelti savo komponentus, kad jie perskaitytų naują konfigūraciją, ir būtent to reikalauja dauguma savybių pakeitimų.

Pirmoji sąlyga: ką sako nustatymo dokumentacija

Skaitykite to nustatymo, kurį pakeitėte, puslapį, o ne to, kurį keitėte praėjusį mėnesį. Po savybės, įrašytos per ConfigPut, paprastai seka sacli start, ir ta pora yra dokumentuotas taikymo žingsnis. Klausytojo lygio elgsenos pakeitimas arba bet kas, ką puslapis apibūdina kaip reikalaujantį paslaugos paleidimo iš naujo, yra ta klasė, kurioje vieneto paleidimas iš naujo yra teisingas.

Dvi komandos nėra keičiamos, todėl spėjimo klaidos modelis yra asimetriškas. Naudojant sacli start, kai reikėjo visiško paleidimo iš naujo, lieka senas procesas, kuris vis dar aptarnauja ankstesnę konfigūraciją, ir atrodo, kad nustatymas buvo ignoruotas. Visiškas paleidimas iš naujo, kai būtų pakakę sacli start, be priežasties numeta kiekvieną prisijungusį klientą.

Antroji sąlyga: ar jūsų sesija yra tunelyje

Jei administruojate Access Server per jo teikiamą VPN, paleidimas iš naujo pašalina ryšį, kuriuo keliauja jūsų shell. Komanda gali baigtis po to, kai sesija miršta, todėl turite spėti, ar ji suveikė. Dėl tos pačios priežasties sacli start taip pat gali trumpam pertraukti sesiją, kai paleidžiamas komponentas tvarko jūsų srautą.

Prieš bet kurią komandą palikite atvirą už juostos esantį kelią: teikėjo konsolę, hipervizoriaus konsolę arba nuosekliąją sesiją. Ši sąlyga nusprendžia, kada vykdysite komandą, o ne kurią, ir ji paverčia dviejų minučių pakeitimą gedimo ataskaita.

Trečioji sąlyga: ar tai produktas, kurį manote

Access Server nėra Community OpenVPN. Bendruomenės instaliacija paleidžia tokius vienetus kaip openvpn@server arba openvpn-client@profile, konfigūracija yra /etc/openvpn, o sacli ten neegzistuoja. Paleisti iš naujo kiekvieną vienetą, kurio pavadinime yra openvpn, bendrame hoste yra būdas, kuriuo nesusiję tuneliai krenta kartu.

Nustatykite prieš ką nors liesdami: systemctl status openvpnas --no-pager atsako, ar Access Server yra tai, kas veikia, sacli status išvardija jo vidinius komponentus, o systemctl list-units --type=service išvardija vienetus, kurių pavadinimuose yra openvpn. Jei paskutinė komanda rodo profilio pavadinimo vienetus, esate bendruomenės produkte, o likusi dalis jums netaikoma.

Pritaikykite ir tada patikrinkite toliau nei active

Vienetas, kuris praneša active, turi veikiantį procesą, o tai nėra tas pats kaip veikiantis autentifikavimo kelias. Po taikymo žingsnio patikrinkite sacli status tiems komponentams, kurių tikėjotės paleidimo iš naujo, patvirtinkite, kad reikšmė buvo išsaugota su sacli ConfigQuery, ir tada atlikite vieną ribotą kliento prisijungimą su bandomąja paskyra.

Užbaikite kuo nors programos lygiu: pasiekite privatų išteklių per tunelį, o ne tik ping į viešą serverio adresą. Rankos paspaudimas, kuris pavyksta, kai stumiamas maršrutas ar DNS nustatymas yra neteisingi, praeis visus paslaugos patikrinimus ir vis tiek nuvils žmogų, kuris pranešė apie problemą.

teikėjo paslaugų valdymo pamoka yra nuoroda, kurios operacijos priklauso sacli, ir verta ją atidaryti prieš nusprendžiant, kad paleidimas iš naujo yra saugus variantas.

Sprendimas vienu ėjimu

Pereikite šias keturias eilutes ir sustokite ties pirmąja, kuri tinka:

  • Nustatymo puslapis nurodo sacli start, arba ką tik įvykdėte ConfigPut: naudokite sacli start.
  • Puslapis reikalauja paleidimo iš naujo, arba pakeitimas liečia klausytojus, o ne savybes: naudokite systemctl restart openvpnas.
  • Jūsų shell ateina per šį serverį: pirmiausiai pasirūpinkite konsolės prieiga, tada vykdykite komandą, kurią pasirinko dvi eilutės aukščiau.
  • Patikra: sacli status, ConfigQuery reikšmei, vienas prisijungimas, vienas privatus išteklius. Vien paslaugos būsena nėra finišo linija.

Dvi iš tų eilučių yra patikros, o dvi yra veiksmai, ir tai yra tvarkos prasmė. Jei negalite atsakyti į produkto klausimą, sustokite: komanda, kurią ruošėtės vykdyti, priklauso kitai instaliacijai, o tunelis, kurį numesite, nebus tas, kurį turėjote omenyje.

Susiję straipsniai