Keď niekto povie, že VPN zomrela, keď obrazovka stmavla, prvá užitočná otázka je, ktorá z troch udalostí sa vlastne stala: relácia sa uzamkla, panel sa vypol, alebo celý stroj zaspal. To sú oddelené mechanizmy na oddelených časovačoch a iba jeden z nich môže úplne zabrániť plánovaniu procesu. Prejdite kontroly nižšie po poradí. Zastavte sa pri prvej, ktorá odpovedá na otázku, pretože každá ďalšia odpovedá na niečo iné.

Prvá kontrola: oddeľte zámok od stmavnutia a od spánku

Zámok mení, kto smie reláciu používať; kompozitor ďalej kreslí, sieťový zásobník ďalej beží a klient VPN si ničoho nevšimne. Stmavnutie displeja vypne panel po období nečinnosti a nechá stroj úplne bdelý. Spánok zastaví procesory, čo znamená, že sa nenaplánuje žiadny proces v používateľskom priestore, takže žiadne udržiavanie spojenia nemôže vystreliť, akokoľvek krátky interval nastavíte.

EventWhat it stopsCan it kill the tunnel?
Session lockInput to your sessionNo
Display blankThe panelNo
Suspend to RAMCPU scheduling, hence every processYes, and silently
HibernateEverything, with state written to diskYes

Práve preto „obrazovka stmavla“ nie je diagnóza. Stolový počítač nastavený na stmavnutie po piatich minútach a spánok po tridsiatich ukáže tmavú obrazovku v šiestej minúte s úplne zdravým tunelom. Zlyhanie v tridsiatej minúte je iná udalosť s iným riešením a obe vyzerajú z druhého konca miestnosti rovnako.

Druhá kontrola: dajte udalosti napájania a siete na jednu časovú os

Čítajte protokol pre obmedzené okno, nie pre celé spustenie, a zahrňte aj správcu prihlásenia, aj vlastníka pripojenia:

journalctl -b -u systemd-logind -u NetworkManager --since "45 minutes ago"
systemd-inhibit --list

Prvý príkaz ukazuje žiadosti o spánok, prebudenie a sieťové prechody, ktoré po nich nasledovali. Druhý ukazuje, čo práve drží inhiberačný zámok, čo vám povie, či niečo spánok zámerne blokuje a ktorý program to je. Upravte názvy jednotiek, ak vlastníkom vášho pripojenia nie je NetworkManager, a pamätajte, že čítanie jednotky iného používateľa alebo systémového protokolu závisí od miestnej politiky.

Chýbajúci riadok nie je negatívny výsledok. Ak protokol vybranej jednotky nie je pre váš účet viditeľný, neprítomnosť záznamu o spánku nič nedokazuje, a záver „nikdy nespal“ z prázdneho filtra je spôsob, akým ľudia strávia týždeň ladením udržiavania spojenia.

Tretia kontrola: ak zaspal, rozhodnite, či to bolo zamýšľané

Akonáhle sa prechod do spánku objaví na časovej osi, otázka sa mení z toho, prečo sa VPN pokazila, na to, či mal stroj vôbec spať. Na notebooku je odpoveď často áno a výpadok tunela je očakávané správanie, z ktorého sa má klient pri prebudení vzpamätať. Na pracovnej stanici, ktorá má zostať dostupná, je vecou na zmenu politika spánku. Rozhodnúť, na ktorý z tých dvoch strojov sa pozeráte, vyžaduje jednu otázku, a to nie je otázka, ktorú za vás protokol môže zodpovedať.

Zmeňte ju ovládacími prvkami, ktoré patria prihlásenej relácii, alebo mechanizmom podporovaným správcom, ak sa požiadavka týka celého stroja. Úprava nastavenia správcu displeja, keď ste prihlásený pod iným účtom, nie je tá istá akcia a bude vyzerať, že fungovala, kým sa nezačne ďalšia relácia. Úplné vypnutie správy napájania je široká prvá reakcia, ktorá stojí výdrž batérie a skrýva skutočnú otázku politiky.

Štvrtá kontrola: ak zostal bdelý, pozrite sa na sieť a klienta

Bdelý stroj, ktorý stratil tunel, má jeden z troch príbehov: prístupová sieť spadla, klient VPN sa zastavil alebo reštartoval, alebo strana servera nechala asociáciu vypršať, zatiaľ čo klient ďalej veril, že je pripojený. Porovnajte časové značky udalosti základného spoja s udalosťou tunela a buďte presní v tom, ktorá prišla prvá.

Potom otestujte cestu obnovy oddelene od pôvodnej relácie. Nová požiadavka cez obnovený tunel môže uspieť, zatiaľ čo dlhodobá relácia aplikácie otvorená pred výpadkom zostáva pokazená, pretože aplikácia drží zastaraný socket alebo kešovanú adresu. To je problém aplikácie, nie dôkaz, že sa tunel nevrátil.

Čo obsahuje užitočná správa

Zapíšte postupnosť s časovými značkami a vlastníkmi: kedy sa relácia uzamkla, kedy obrazovka stmavla, či bola zaznamenaná žiadosť o spánok, kedy spoj spadol a vrátil sa, kedy tunel zmenil stav a čo aplikácia skutočne urobila. Každá položka má vlastníka, takže každú položku možno odovzdať správnemu človeku namiesto toho, aby sa z nej stala všeobecná sťažnosť na Linux.

Ak niektorý z týchto riadkov chýba, je to ďalšia vec na meranie, nie ďalšia vec na zmenu. Časová os s medzerou je poučnejšia než zmena nastavení urobená na základe dojmu.

Súvisiace články