OpenVPN-keepalive of systemd-herbegin: wat red die tonnel?
'n Stille eweknie, 'n dooie proses en 'n onbruikbare toepassing is drie foute. Gee die keepalive aan OpenVPN, die proses aan systemd, en toets elke geval.
Drie verskillende dinge kan met 'n tonnel verkeerd loop, en hulle vra drie verskillende reaksies. Die eweknie hou op antwoord, die demoonproses sterf, of die toepassing agter die tonnel hou op diens lewer. 'n Konfigurasie wat die diens op enige van hulle herbegin, is nie noukeurige toesig nie; dit is een stomp aksie op onverwante foute. Om te vergelyk wat elke meganisme werklik kan sien, maak die verdeling van arbeid duidelik.
Drie foute wat soos een lyk
Stilte van die eweknie beteken die ander kant het opgehou stuur, en OpenVPN kan dit self waarneem omdat dit die hartklop besit. Prosesdood beteken die demoon het afgesluit, wat die diensbestuurder raaksien en OpenVPN nie kan nie. Toepassingsfout beteken die tonnel is reg en iets agter dit is nie, en nie een van die ander twee meganismes het enige manier om dit te weet nie. Elkeen het 'n ander reaksie nodig, en nie een daarvan is dieselfde as om te merk dat die tonnel op is nie.
Hierdie is verskillende seine van verskillende lae, en elkeen het 'n eienaar wat daarop kan handel sonder om te raai. Om hulle te meng lewer 'n stelsel wat herbegin op simptome wat dit nie kan vertolk nie.
Skryf die drie gevalle neer voordat jy enige tydhouer verander. Die lys self wys gewoonlik dat een meganisme gevra word om al drie te dek.
Waartoe keepalive werklik uitbrei
Die keepalive-opdrag is kortskrif, en die uitbreiding verskil per modus. Op 'n bediener word keepalive 10 60 'n plaaslike ping elke tien sekondes, 'n plaaslike herbegin-tydsperdatum van 120 sekondes, en waardes van 10 en 60 wat na kliënte gestuur word. Die bediener se tydsperdatum word doelbewus verdubbel sodat 'n kliënt 'n kans kry om te herbegin voordat die bediener opgee. Lees die uitgebreide vorm in die lopende konfigurasie eerder as die kortskrif in die profiel.
Daardie verdubbeling is hoekom enige beskrywing wat sê albei kante herbegin na sestig sekondes verkeerd is. Dit verduidelik ook hoekom die twee kante nie in pas flapper wanneer 'n pad agteruitgaan nie.
Die hartklop is OpenVPN se eweknie-verkeer, nie 'n ICMP-toets van een of ander openbare gasheer nie. 'n Antwoord bewys net dat die verre kant van die tonnel lewendig is. Dit sê niks oor die databasis of webdiens wat die gebruiker werklik nodig het nie.
Wat Restart=on-failure nie dophou nie
Lees die geïnstalleerde eenheid voordat jy 'n oorheersing byvoeg. Restart=on-failure reageer op gedokumenteerde prosesfout-toestande, wat nie dieselfde is as om verbindingstoestand dop te hou nie. Dit aktiveer nie omdat 'n interne herverbinding begin het nie, en 'n skoon afsluiting het ander betekenis as 'n ineenstorting.
Daardie onderskeid maak saak omdat 'n interne herbegin dieselfde proses lewendig hou. Die eenheid sien niks, die tonnel herstel vanself, en dit is die korrekte uitkoms.
Stel RestartSec en beginlimiete doelbewus in, anders sal 'n ineenstortingslus die poort hewig belas en die werklike fout onder herbegin-boodskappe begrawe. 'n Herbeginlimiet wat aktiveer laat die eenheid misluk, wat sigbaar is, terwyl 'n onbeperkte lus dit nie is nie.
ping-restart en ping-exit is nie uitruilbaar nie
ping-restart veroorsaak OpenVPN se interne herbegin en hou die proses. ping-exit beëindig die proses op dieselfde soort tydsperdatum, wat die besluit aan die diensbestuurder oorhandig. Hulle is onderling uitsluitend, en om die tweede te kies verander wie herstel besit. Die verskil is wie besluit om weer te probeer, en hoeveel toestand die poging oorleef.
As jy op-tydsperdatum-afsluiting kies, het die eenheid 'n herbeginbeleid en afsluitstatus-hantering nodig wat pas, anders lyk 'n lewensvatbaarheidsfout soos 'n permanente stop. Volhardingsopsies kan ook koppelvlakke en roetes oor 'n interne herbegin bewaar, maar nie oor 'n prosesafsluiting nie.
Kies een lewensiklus per ontplooiing en skryf neer hoekom. 'n Profiel wat albei opdragte dra, is 'n profiel wat nie besluit het nie.
Toets elke fout as sy eie geval
Simuleer 'n stille eweknie, 'n gedoodde demoon en 'n onbeskikbare toepassing in 'n goedgekeurde venster, en kyk dan watter herstel geaktiveer het. 'n Stille eweknie behoort 'n interne herverbinding te lewer, 'n gedoodde proses 'n eenheid-herbegin, en 'n toepassingonderbreking nie een van dié nie. Wanneer twee gevalle dieselfde aksie lewer, is die eienaarskap steeds gemeng.
Herhaalde herstel is ook nie 'n herstel nie. Verwerpte geloofsbriewe of twee kliënte wat 'n effektiewe naam deel, sal aanhou om mekaar te vervang, en vinniger tydhouers maak daardie flapping net vinniger.