Экран қараңғыланғанда VPN үзіледі: құлып, сөндіру әлде ұйқы ма?
Құлыпталған сеанс, қараңғыланған экран және ұйқыға кеткен машина — үш түрлі оқиға. VPN-ның байланыс ұстау механизмін кінәламас бұрын оларды journalctl арқылы салыстырыңыз.
Біреу экран қараңғыланғанда VPN өлді десе, бірінші пайдалы сұрақ — үш оқиғаның қайсысы шын мәнінде болды: сеанс құлыпталды, панель сөнді, әлде бүкіл машина ұйқыға кетті. Бұлар — жеке таймерлердегі жеке механизмдер және олардың тек біреуі ғана процесті жоспарлаудан толық тоқтата алады. Төмендегі тексерулерді ретімен орындаңыз. Сұраққа жауап беретін бірінші тексеруде тоқтаңыз, өйткені одан кейінгі әр тексеру басқа нәрсеге жауап береді.
Бірінші тексеру: құлыпты сөндіруден және ұйқыдан ажыратыңыз
Құлып сеансты кім пайдалана алатынын өзгертеді; композитор сурет салуды жалғастырады, желілік стек жұмысын жалғастырады, ал VPN клиенті ештеңе байқамайды. Экранның сөнуі белсенділік аралығынан кейін панельді өшіреді және машинаны толық ояу күйде қалдырады. Ұйқы процессорларды тоқтатады, яғни пайдаланушы кеңістігіндегі ешбір процесс жоспарланбайды, сондықтан аралықты қаншалықты қысқа қойсаңыз да ешбір байланыс ұстау сигналы іске қосыла алмайды.
| Event | What it stops | Can it kill the tunnel? |
|---|---|---|
| Session lock | Input to your session | No |
| Display blank | The panel | No |
| Suspend to RAM | CPU scheduling, hence every process | Yes, and silently |
| Hibernate | Everything, with state written to disk | Yes |
Дәл осы кесте «экран қараңғыланды» дегеннің диагноз еместігінің себебі. Бес минутта сөнуге және отызда ұйқыға бапталған жұмыс үстелі алтыншы минутта толық сау туннельмен қараңғы экран көрсетеді. Отызыншы минуттағы ақау — басқа оқиға және басқа шешім, ал екеуі де бөлменің арғы жағынан бірдей көрінеді.
Екінші тексеру: қуат пен желі оқиғаларын бір уақыт сызығына қойыңыз
Журналды бүкіл жүктелу үшін емес, шектеулі терезе үшін оқыңыз және кіру менеджерін де, қосылым иесін де қосыңыз:
journalctl -b -u systemd-logind -u NetworkManager --since "45 minutes ago"
systemd-inhibit --list
Бірінші команда ұйқы сұраныстарын, оянуды және олардан кейінгі желілік ауысуларды көрсетеді. Екіншісі қазір тежегіш құлыпты ненің ұстап тұрғанын көрсетеді, бұл сізге бірдеңе ұйқыны әдейі бөгетіп жатқанын және ол қай бағдарлама екенін айтады. Қосылымыңыздың иесі NetworkManager болмаса, бірлік атауларын түзетіңіз және басқа пайдаланушының бірлігін немесе жүйелік журналды оқу жергілікті саясатқа байланысты екенін есте сақтаңыз.
Жоқ жол — теріс нәтиже емес. Таңдалған бірліктің журналы тіркелгіңізге көрінбесе, ұйқы жазбасының болмауы ештеңені дәлелдемейді, ал бос сүзгіден «ол ешқашан ұйықтамады» деген қорытынды жасау — адамдардың бір апта бойы байланыс ұстауды реттеумен өткізетін жолы.
Үшінші тексеру: егер ол ұйықтаған болса, бұл әдейі болды ма, шешіңіз
Уақыт сызығында ұйқыға өту пайда болған сәттен бастап сұрақ «VPN неге сынды» дегеннен «машина мүлдем ұйықтауы керек пе еді» дегенге өзгереді. Ноутбукта жауап көбіне иә, ал туннельдің үзілуі — күтілетін мінез-құлық, клиент ояну кезінде одан қалпына келуі керек. Қолжетімді болып қалуы тиіс жұмыс станциясында өзгертуге тиіс нәрсе — ұйқы саясаты. Осы екі машинаның қайсысына қарап отырғаныңызды шешу үшін бір сұрақ керек, және бұл журнал сіздің орныңызға жауап бере алатын сұрақ емес.
Оны кірген сеансқа тиесілі басқару элементтері арқылы немесе талап бүкіл машинаға қатысты болса, әкімші қолдайтын механизм арқылы өзгертіңіз. Басқа тіркелгімен кіріп отырып, дисплей менеджерінің параметрін өңдеу — бірдей әрекет емес және келесі сеанс басталғанша жұмыс істегендей көрінеді. Қуатты басқаруды толық өшіру — батарея қызметіне шығын әкелетін және нақты саясат мәселесін жасыратын кең алғашқы әрекет.
Төртінші тексеру: егер ол ояу қалса, желіге және клиентке қараңыз
Туннелінен айырылған ояу машинаның үш хикаяның бірі бар: қатынау желісі құлады, VPN клиенті тоқтады немесе қайта іске қосылды, немесе сервер жағы байланыстыру мерзімін бітірді, ал клиент әлі де қосылған деп сенді. Негізгі буын оқиғасының уақыт белгілерін туннель оқиғасымен салыстырыңыз және қайсысы бірінші келгенін нақтылаңыз.
Содан кейін қалпына келу жолын бастапқы сеанстан бөлек тексеріңіз. Қалпына келген туннель арқылы жаңа сұраныс сәтті болуы мүмкін, ал үзілуге дейін ашылған ұзақ мерзімді қолданба сеансы бұзық күйінде қалады, өйткені қолданба ескірген сокетті немесе кэштегі мекенжайды ұстап тұр. Бұл — қолданба мәселесі, туннельдің қайтпағанының дәлелі емес.
Пайдалы есепте не болады
Ретті уақыт белгілерімен және иелерімен жазыңыз: сеанс қашан құлыпталды, экран қашан қараңғыланды, ұйқы сұранысы тіркелді ме, буын қашан құлап, қайта келді, туннель қашан күйін өзгертті және қолданба шын мәнінде не істеді. Әр тармақтың иесі бар, сондықтан әр тармақты Linux туралы жалпы шағымға айналдырудың орнына дұрыс адамға беруге болады.
Осы жолдардың кез келгені жоқ болса, бұл өлшеуге тиіс келесі нәрсе, өзгертуге тиіс келесі нәрсе емес. Олқылығы бар уақыт сызығы болжамға негізделген параметр өзгерісінен гөрі ақпараттырақ.