Dva příkazy se vkládají na něco, co vypadá jako stejný úkol na OpenVPN Access Server, ale dělají různé věci. systemctl restart openvpnas zastaví a spustí celý produkt. sacli start zvedne vnitřní služby, které čtou konfiguraci, kterou jste právě změnili. Volba mezi nimi není otázkou vkusu: záleží na tom, co říká dokumentace samotného nastavení, zda vaše relace prochází serverem, který se chystáte restartovat, a zda se vůbec díváte na správný produkt.

Dvě vrstvy, jeden démon

Access Server běží jako jedna jednotka systemd, openvpnas, a tento démon dohlíží na vnitřní služby za webovým rozhraním a na posluchače VPN. sacli je rozhraní příkazového řádku k téže instalaci, v /usr/local/openvpn_as/scripts/sacli, a umí tyto vnitřní komponenty spustit, zastavit a dotázat se jich, aniž by nahradil jednotku.

Proto existují oba příkazy. Restart démona znovu spustí vše, včetně procesu, který ukončuje klientské tunely. sacli start požádá již běžícího démona, aby zvedl své komponenty, aby přečetly novou konfiguraci, a to je to, co většina změn vlastností skutečně vyžaduje.

Podmínka první: co říká dokumentace nastavení

Čtěte stránku nastavení, které jste změnili, ne toho, které jste měnili minulý měsíc. Za vlastností zapsanou přes ConfigPut obvykle následuje sacli start a tato dvojice je dokumentovaný krok použití. Změna chování na úrovni posluchače nebo cokoli, co stránka popisuje jako vyžadující restart služby, je třída, kde je restart jednotky správný.

Oba příkazy nejsou zaměnitelné, takže chybový režim hádání je asymetrický. Použití sacli start, když byl potřeba plný restart, nechá starý proces obsluhovat předchozí konfiguraci, což vypadá, jako by bylo nastavení ignorováno. Plný restart, když by stačil sacli start, shodí každého připojeného klienta bez důvodu.

Podmínka druhá: je vaše relace uvnitř tunelu

Pokud Access Server spravujete přes VPN, kterou poskytuje, restart odstraní spojení, které nese váš shell. Příkaz se může dokončit až po smrti relace, takže jen hádáte, zda zabral. sacli start může relaci krátce přerušit ze stejného důvodu, když restartovaná komponenta zpracovává váš provoz.

Mějte před oběma příkazy otevřenou mimopásmovou cestu: konzoli poskytovatele, konzoli hypervizoru nebo sériovou relaci. Tato podmínka rozhoduje, kdy příkaz spustíte, ne který příkaz, a právě ona mění dvouminutovou změnu ve zprávu o výpadku.

Podmínka třetí: je to produkt, který si myslíte

Access Server není Community OpenVPN. Komunitní instalace provozuje jednotky jako openvpn@server nebo openvpn-client@profile, s konfigurací v /etc/openvpn, a sacli tam neexistuje. Restartovat každou jednotku s openvpn v názvu na sdíleném hostiteli je způsob, jak nesouvisející tunely padnou společně.

Než se čehokoli dotknete, zjistěte: systemctl status openvpnas --no-pager odpovídá, zda běží právě Access Server, sacli status vypisuje jeho vnitřní komponenty a systemctl list-units --type=service vypisuje jednotky, jejichž názvy obsahují openvpn. Pokud poslední příkaz ukazuje jednotky s názvy profilů, jste na komunitním produktu a zbytek tohoto textu se na vás nevztahuje.

Použijte to a pak ověřte víc než active

Jednotka, která hlásí active, má běžící proces, což není totéž jako fungující autentizační cesta. Po kroku použití zkontrolujte sacli status u komponent, které jste čekali restartovat, potvrďte, že hodnota byla uložena přes sacli ConfigQuery, a pak spusťte jedno omezené přihlášení klienta na testovací účet.

Skončete něčím na úrovni aplikace: dosáhněte privátního zdroje tunelem, ne jen pingem na veřejnou adresu serveru. Handshake, který uspěje, i když je protlačená trasa nebo nastavení DNS špatné, projde každou kontrolou služby a přesto zklame člověka, který problém nahlásil.

tutoriál poskytovatele ke správě služeb je referencí pro to, které operace patří sacli, a vyplatí se ji otevřít, než usoudíte, že restart je bezpečná volba.

Rozhodnutí na jeden průchod

Projděte tyto čtyři řádky a zastavte se u prvního, který sedí:

  • Stránka nastavení uvádí sacli start, nebo jste právě spustili ConfigPut: použijte sacli start.
  • Stránka vyžaduje restart nebo se změna týká posluchačů, nikoli vlastností: použijte systemctl restart openvpnas.
  • Váš shell přichází přes tento server: nejprve zařiďte přístup ke konzoli a pak spusťte příkaz, který zvolily dva řádky výše.
  • Ověření: sacli status, ConfigQuery na hodnotu, jedno přihlášení, jeden privátní zdroj. Samotný stav služby není cílem.

Dva z těch řádků jsou kontroly a dva akce, a to je smysl pořadí. Pokud nedokážete odpovědět na otázku o produktu, zastavte se: příkaz, který jste chtěli spustit, patří jiné instalaci a tunel, který shodíte, nebude ten, který jste mysleli.

Související články