keepalive v OpenVPN alebo restart v systemd: čo obnoví tunel?
Tichý partner, mŕtvy proces a nepoužiteľná aplikácia sú tri rôzne poruchy. Dajte keepalive OpenVPN, proces systemd, a otestujte každý prípad.
S tunelom sa môžu pokaziť tri rôzne veci a každá si vyžaduje inú reakciu. Protistrana prestane odpovedať, proces démona zomrie alebo aplikácia za tunelom prestane obsluhovať. Konfigurácia, ktorá pri ktorejkoľvek z nich reštartuje službu, nie je starostlivý dohľad; je to jeden hrubý zásah aplikovaný na nesúvisiace poruchy. Porovnanie toho, čo každý mechanizmus naozaj dokáže pozorovať, robí deľbu práce zrejmou.
Tri poruchy, ktoré vyzerajú ako jedna
Ticho protistrany znamená, že druhý koniec prestal vysielať, a OpenVPN to dokáže odhaliť samo, pretože vlastní tep. Smrť procesu znamená, že démon skončil, čo si správca služieb všimne a OpenVPN nedokáže. Zlyhanie aplikácie znamená, že tunel je v poriadku a niečo za ním nie, a ani jeden z ďalších dvoch mechanizmov to nemá ako zistiť. Každá potrebuje inú reakciu a žiadna nie je to isté ako všimnúť si, že tunel beží.
Sú to rôzne signály z rôznych vrstiev a každý má vlastníka, ktorý môže konať bez hádania. Ich miešanie vytvára systém, ktorý reštartuje na príznaky, ktoré nedokáže vyložiť.
Zapíšte si tri prípady pred zmenou akéhokoľvek časovača. Samotný zoznam zvyčajne ukáže, že sa od jedného mechanizmu žiada pokryť všetky tri.
Na čo sa keepalive vlastne rozprestiera
Direktíva keepalive je skratka a rozvinutie sa líši podľa režimu. Na serveri sa keepalive 10 60 mení na lokálny ping každých desať sekúnd, lokálny časový limit reštartu 120 sekúnd a hodnoty 10 a 60 posielané klientom. Časový limit servera je zámerne zdvojnásobený, aby klient dostal šancu reštartovať skôr, než to server vzdá. Čítajte rozvinutú podobu v bežiacej konfigurácii, nie skratku v profile.
Práve pre toto zdvojnásobenie je každý opis, ktorý tvrdí, že sa oba konce reštartujú po šesťdesiatich sekundách, chybný. Vysvetľuje to aj to, prečo oba konce nekmitajú súčasne, keď sa cesta zhorší.
Tep je prevádzka protistrany OpenVPN, nie ICMP sonda nejakého verejného hostiteľa. Odpoveď dokazuje len to, že vzdialený koniec tunela žije. Nič nehovorí o databáze alebo webovej službe, ktorú používateľ skutočne potrebuje.
Čo Restart=on-failure nesleduje
Prečítajte si nainštalovanú jednotku, skôr než pridáte prepis. Restart=on-failure reaguje na dokumentované podmienky zlyhania procesu, čo nie je to isté ako sledovanie stavu spojenia. Neaktivuje sa preto, že začalo interné opätovné pripojenie, a čisté ukončenie má inú sémantiku než pád.
Tento rozdiel je dôležitý, pretože interný reštart udržiava ten istý proces nažive. Jednotka nič nevidí, tunel sa obnoví sám a to je správny výsledok.
Nastavte RestartSec a limity spúšťania vedome, inak bude slučka pádov biť do brány a skutočnú chybu zasype správami o reštarte. Limit reštartu, ktorý sa aktivuje, nechá jednotku v stave zlyhania, čo je vidieť, kým neobmedzená slučka vidieť nie je.
ping-restart a ping-exit nie sú zameniteľné
ping-restart spúšťa interný reštart OpenVPN a zachováva proces. ping-exit ukončuje proces pri rovnakom druhu časového limitu, čím odovzdáva rozhodnutie správcovi služieb. Sú vzájomne výlučné a voľba druhého mení to, komu patrí obnova. Rozdiel je v tom, kto rozhodne skúsiť to znova a koľko stavu pokus prežije.
Ak zvolíte ukončenie pri časovom limite, jednotka potrebuje reštartovaciu politiku a spracovanie stavu ukončenia, ktoré k sebe patria, inak zlyhanie životnosti vyzerá ako trvalé zastavenie. Možnosti trvalosti môžu tiež zachovať rozhrania a trasy počas interného reštartu, ale nie počas ukončenia procesu.
Zvoľte jeden životný cyklus na nasadenie a zapíšte prečo. Profil, ktorý nesie obe direktívy, je profil, ktorý sa nerozhodol.
Otestujte každú poruchu ako samostatný prípad
Simulujte tichú protistranu, zabitého démona a nedostupnú aplikáciu v schválenom okne a potom skontrolujte, ktorá obnova sa spustila. Tichá protistrana by mala vyvolať interné opätovné pripojenie, zabitý proces reštart jednotky a výpadok aplikácie ani jedno z toho. Keď dva prípady vyvolajú rovnakú akciu, vlastníctvo je stále zmiešané.
Opakovaná obnova tiež nie je oprava. Odmietnuté prihlasovacie údaje alebo dvaja klienti zdieľajúci jeden účinný názov sa budú naďalej navzájom nahrádzať a rýchlejšie časovače to kmitanie len zrýchlia.